Error envelope
Every endpoint fails in the same shape:Status and error codes
The codes you will actually see, by status:
A handful of framework-level failures (an unmatched route’s 404, for example) fall back
to generic codes —
bad_request, unauthorized, forbidden, not_found, conflict —
but every error a working integration handles carries one of the specific codes above.
Endpoint-specific codes
Some endpoints add further codes. See Documents,
Webhooks, Organization,
Context Receipts, and
Billing.
Common mistakes
Retrying
Retry429, 500, and 503 with exponential backoff and jitter. Never retry a 4xx
other than 429: the request will fail identically every time.
Handling errors in the Python SDK
Next steps
API overview
Every endpoint in one table.
Support
Contact us with a
request_id.