Skip to main content

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

Retry 429, 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.