Docs home

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_…"
}

service_unavailable 503

A required service is temporarily unavailable. Follow the retry guidance.

{
  "code": "service_unavailable",
  "message": "Authentication temporarily unavailable",
  "docs": "https://parseapi.com/docs#service_unavailable",
  "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