Register and manage APIs
Manage your APIs
If you’re getting unexpected errors from the Kinde Management API, use this guide to identify the cause and apply a fix.
Error response:
HTTP/1.1 404 Not FoundSolution:
Make sure you have copied the correct Kinde domain and client ID. Even if you have set up a custom domain, you must use the original Kinde domain in your request (e.g. https://<your_subdomain>.kinde.com).
Error response:
{ "error": "invalid_client", "error_description": "Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method)."}Solution:
Verify that the Client Secret is copied exactly, with no typos.
Error response:
HTTP/1.1 403 Forbidden{ "error":"invalid_request", "error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Requested audience 'https://<your_subdomain>.kinde.com/api' has not been whitelisted by the OAuth 2.0 Client."}Solution:
Add the correct audience parameter to your token request. The value must be your Kinde domain followed by /api. Even if you use a custom domain, the audience value must still use your https://<your_subdomain>.kinde.com domain.
To find your Kinde domain:
curl --request POST \ --url 'https://<your_subdomain>.kinde.com/oauth2/token' \ --header 'content-type: application/x-www-form-urlencoded' \ --data grant_type=client_credentials \ --data 'client_id=<your_m2m_client_id>' \ --data 'client_secret=<your_m2m_client_secret>' \ --data 'audience=https://<your_subdomain>.kinde.com/api'Error response:
HTTP/1.1 403 Forbidden{ "error":"invalid_scope", "error_description":"The requested scope is invalid, unknown, or malformed. The OAuth 2.0 Client is not allowed to request scope '<scope>'."}Solution:
Your M2M application does not have the required scope enabled for the endpoint you’re calling. Add the missing scope to your application and then get a new access token before retrying.
For a full list of available scopes, see API scopes.
Error response:
{ "errors": { "code": "ROUTE_NOT_FOUND", "message": "The requested API route does not exist" }}Solution:
The API route you’re calling does not exist. Check the Management API reference for the correct endpoint path and correct any typos.
Error response:
{ "errors": [ { "code": "SCOPE_MISSING", "message": "Scope is missing: read:environments" } ]}Solution:
Your M2M application does not have the required scope enabled for the endpoint you’re calling. Add the missing scope to your application and then get a new access token before retrying.
For a full list of available scopes, see API scopes.
Solution:
The data you’re requesting exists but isn’t included in the token by default. Add custom claims to include it:
For more information, see Token customization.
Error response:
HTTP/1.1 429 Too Many RequestsRateLimit-Reset: 30Solution:
You’ve exceeded the API rate or concurrency limit. Read the RateLimit-Reset header value to get the number of seconds before the limit resets, then wait before retrying.
See API rate limits for a full breakdown of limits and a recommended retry strategy using exponential backoff.
If you’re still having problems: