Skip to content
Getting started

Errors

HTTP status codes and actionable API errors.

Errors return the matching HTTP status and a JSON body of the shape { "error": { "code", "message" } }. The code is stable and safe to branch on.

Status
Code
Meaning
400
invalid_json
The request body was not valid JSON.
400
invalid_request
The body failed validation (a field is missing or malformed).
401
missing_api_key
No Authorization: Bearer <key> header was sent. Body carries an onboarding url.
401
invalid_api_key
The API key is unknown, malformed, or revoked.
401
expired_api_key
The key is valid but past its configured expiry date.
402
not_subscribed
The account has no active subscription. Body carries a url to subscribe.
402
usage_exhausted
Included usage and extra credits are exhausted. Body carries a url to add credits.
402
no_coins
Deprecated v1 alias for an exhausted extra-credit balance.
403
missing_scope
The key is valid but lacks the scope this endpoint needs.
409
idempotency_conflict
The Idempotency-Key was reused with a different request body.
413
request_too_large
The JSON body is larger than the API accepts.
404
developer_api_disabled
The Developer API is not enabled for this deployment.
429
rate_limited
Too many requests from this API key or IP. Retry after the reset time.
503
spend_cap_reached
A temporary service-wide spend cap was hit. Retry later.