Errors

Messages are stable English text; programs should branch on code, not message.

Error envelope#

{"error":{"code":"INVALID_API_KEY","message":"...","request_id":"...","details":{}}}

Codes#

Stable codes: INVALID_REQUEST 400 · INVALID_API_KEY 401 · SUBSCRIPTION_REQUIRED/CREDITS_EXHAUSTED 402 · INSUFFICIENT_SCOPE 403 · RESOURCE_NOT_FOUND 404 · IDEMPOTENCY_CONFLICT 409 · CURSOR_EXPIRED 410 · RATE_LIMITED 429 · INTERNAL_ERROR 500 · SERVICE_UNAVAILABLE/DATA_STALE 503.

Billing behavior#

All error responses cost 0 credits. Keep the request ID when contacting support.