Skip to main content

Error format

All errors follow a consistent JSON structure:
FieldDescription
codeMachine-readable error code
messageHuman-readable description
doc_urlLink to relevant documentation
request_idUnique ID for debugging (include this when contacting support)

Error codes

HTTP StatusCodeDescription
400invalid_requestThe request body is malformed or missing required fields
401unauthorizedMissing or invalid API key
403forbiddenThe API key does not have the required scope
404not_foundThe requested resource does not exist
409conflictA resource with that identifier already exists
422unprocessable_entityThe request is valid but cannot be processed (e.g., plan limit reached)
429rate_limit_exceededToo many requests — see Rate Limiting
500internal_errorAn unexpected error occurred on our end

Example responses

400 — Invalid request

401 — Unauthorized

404 — Not found

422 — Plan limit reached

429 — Rate limited

Handling errors