Skip to main content
Every refusal is application/problem+json (RFC 9457):
Branch on type, a stable URL, never on title or detail. type never changes meaning or spelling; title and detail are prose for a log and may be reworded. Every type has a page at its URL, listed below. detail and instance are present when they add something. A 401 carries WWW-Authenticate: Bearer realm="andteam". Every error response is Cache-Control: no-store.

The problem types

“Retry” says whether sending the identical request could succeed. A 4xx other than 429 will not until something outside the request changes.

Handling them

Treat a 5xx whose body is not a problem as an internal-error: an unexpected failure may not have this shape. A client should also treat a type it does not know as a failure to log, not a crash: new types can be added. See Versioning.