Search by task, endpoint, field, or error.
Errors
Errors return a consistent JSON body: code, message, docs, and request_id.
rate_limited, server_error, dns_resolution_failed, and service_unavailable may be temporary. See Retries and timeouts before retrying. Other errors usually require a change to the request, key settings, or plan.
invalid_api_key 401
Missing or bad key. Check X-API-Key or Authorization, or grab a key from Dashboard → Keys.
{
"code": "invalid_api_key",
"message": "Invalid or missing API key",
"docs": "https://parseapi.com/docs#invalid_api_key",
"request_id": "req_…"
}invalid_request 400
Missing or invalid input. message names the exact field, fix it and resend.
{
"code": "invalid_request",
"message": "lat and lon must be valid numbers",
"docs": "https://parseapi.com/docs#invalid_request",
"request_id": "req_…"
}permission_denied 403
Your key can't perform this action. On a public key with Domain not allowed for this key, the page calling isn't on the key's domain list, add it in Dashboard → Keys. For an app key, check the exact app ID and whether the endpoint allows app keys. Call metered products from your server when using a mobile app. Read the response message before changing keys.
{
"code": "permission_denied",
"message": "Permission denied",
"docs": "https://parseapi.com/docs#permission_denied",
"request_id": "req_…"
}plan_required 403
This team needs its own paid plan. Subscribe it under Dashboard → Plan.
{
"code": "plan_required",
"message": "This team needs a paid plan to use the API",
"docs": "https://parseapi.com/docs#plan_required",
"request_id": "req_…"
}not_found 404
No match, or an unknown route. message names exactly what wasn't found, check the path and value.
{
"code": "not_found",
"message": "Postal code not found: 00000 (US)",
"docs": "https://parseapi.com/docs#not_found",
"request_id": "req_…"
}api_version_retired 410
The version selected by your request header or team default is retired. Review the upgrade guide, test the matching response contract, then select a supported version in your application. For requests without a header, review the fallback in Settings → API version. Retrying the same version will not fix this error.
rate_limited 429
Too many requests in a short period, or too many requests still in progress. Spread out your calls, reduce parallel requests, and retry after Retry-After seconds, see Headers for your live limit and reset countdown.
{
"code": "rate_limited",
"message": "Rate limited",
"docs": "https://parseapi.com/docs#rate_limited",
"request_id": "req_…"
}quota_exceeded 429
Check the error message and usage under Dashboard → Plan. Pooled requests require a plan upgrade or the next monthly reset. For a metered lookup, check its included allowance, on-demand billing and spending limit.
{
"code": "quota_exceeded",
"message": "Monthly email verification limit reached. Basic validation still works without ?deep=true.",
"docs": "https://parseapi.com/docs#quota_exceeded",
"request_id": "req_…"
}server_error 500
The request failed on our side. Follow the retry guidance. If it keeps happening, email Email with your request_id.
{
"code": "server_error",
"message": "Server error",
"docs": "https://parseapi.com/docs#server_error",
"request_id": "req_…"
}dns_resolution_failed 503
The domain's DNS lookup could not complete. This does not mean the domain has no records or that an email address is invalid.
Honor Retry-After when present. Limit retries to two, add jitter, and stop when your request deadline expires. If the failure persists, the domain's DNS settings may need investigation.
{
"code": "dns_resolution_failed",
"message": "DNS resolution failed for this domain. Try again later.",
"docs": "https://parseapi.com/docs#dns_resolution_failed",
"request_id": "req_…"
}Questions? Email