Skip to main content
Every error has the same shape:
Branch on code, which is stable and machine readable. message is safe to display to an end user and never contains a provider name or an internal identifier.

Types

Retrying safely

Always reuse the idempotency key on a retry. That is what makes retrying safe.
New error codes are added in minor versions. Every switch over code needs a default, and unknown codes should be treated as non-retryable.

Every code has a page

docs_url in the error body points at a page explaining what happened, why, and how to resolve it. Start at the error reference.