Errors
Problem types for RFC 9457 responses. Use a page's URL as the type of your problem response, and a client that follows it learns when the error applies and what to do about it.
4xxClient errors
49- 400Date Not AcceptableUse 400 with Date Not Acceptable when you reject a request because the value of its Date header falls outside the window of time you accept…
- 400Idempotency Key MissingUse 400 Bad Request with an Idempotency Key Missing error when an operation is documented as requiring an Idempotency-Key header and the…
- 400Invalid Digest ValuesUse 400 with an Invalid Digest Values error when a Content-Digest or Repr-Digest field parses, names an algorithm you support, but carries a…
- 400Invalid Pagination CursorUse 400 when the client sent a value that fails structural validation before any business logic runs. A cursor parameter that isn't valid…
- 400Invalid Query ParameterUse 400 Invalid Query Parameter when the query string is the problem. The path resolves and the body, if there is one, is fine, but a…
- 400Malformed Request BodyUse 400 with a Malformed Request Body error when the server cannot parse the payload sent in the HTTP request body. This occurs at the…
- 400Mismatched Digest ValuesUse 400 with a Mismatched Digest Values error when a request carries a Content-Digest or Repr-Digest field, the digest uses an algorithm you…
- 400Oblivious HTTP Key Configuration Not AcceptableUse 400 with this type when you run an Oblivious Gateway Resource under RFC 9458, Oblivious HTTP, and an Encapsulated Request was made with…
- 400Unsupported API VersionUse 400 with an Unsupported API Version error when the client selects an API version through a request header or query parameter, and the…
- 400Unsupported Hashing AlgorithmsUse 400 with an Unsupported Hashing Algorithms error when the only digests a request carries, in Content-Digest or Repr-Digest, use…
- 401Expired Authentication TokenUse 401 with an expired authentication token error when the client presents a token (such as a JWT, OAuth token, or API token) that is…
- 401Invalid CredentialsUse 401 Unauthorized with an Invalid Credentials error when the client presents a credential pair to authenticate and the pair does not…
- 401Invalid SignatureUse 401 Unauthorized with an Invalid Signature error when a request carries the signature your endpoint requires, and that signature fails…
- 401MFA RequiredUse 401 Unauthorized with an MFA Required error when the caller is authenticated, but not strongly or recently enough for this operation…
- 401Missing SignatureUse 401 Unauthorized with a Missing Signature error when an endpoint requires signed requests and the request does not carry the signature…
- 401Token RevokedUse 401 Unauthorized with a Token Revoked error when the client presents an access token or API key that was valid, has not expired, and has…
- 401UnauthorizedUse 401 Unauthorized when the request lacks valid authentication credentials. This applies when the client sends no authorization…
- 402Insufficient FundsUse 402 with an Insufficient Funds error when the client is authenticated and authorized to perform the action, but the account backing the…
- 403Account FrozenUse 403 with an Account Frozen error when credentials are valid but the account itself has been suspended, locked, or placed under review…
- 403Feature DisabledUse 403 Forbidden with a Feature Disabled error when the caller is authenticated, the request is valid, and the feature it uses is turned…
- 403ForbiddenUse 403 Forbidden when the server knows who the caller is, the credentials are valid, and your authorization rules still refuse this action…
- 403Insufficient ScopeUse 403 with an Insufficient Scope error when the client's credentials (like an API token or OAuth access token) are valid and…
- 403Tenant SuspendedUse 403 Forbidden with a Tenant Suspended error when the caller's own credentials and account are fine, but the tenant the request targets…
- 404Resource Not FoundUse 404 Resource Not Found when the requested URI does not match any route in the application routing table, or when a dynamic segment of…
- 405Method Not AllowedUse 405 Method Not Allowed when the HTTP request URI matches a valid path in your routing table, but the specific HTTP method used (e.g…
- 406Not AcceptableUse 406 Not Acceptable when the client asks, through proactive content negotiation, for a representation the server is unable to produce…
- 408Request TimeoutUse 408 Request Timeout when the server was prepared to receive a request but the client did not produce a complete one within the time the…
- 409Resource ConflictUse 409 Resource Conflict when the request cannot be completed due to a conflict with the current state of the target resource. The most…
- 409Stale Resource VersionUse 409 Stale Resource Version when implementing optimistic concurrency control (OCC) and the client attempts to update or delete a resource…
- 410Endpoint SunsetUse 410 Gone with an Endpoint Sunset error when a client calls a piece of API surface you have retired on purpose: an endpoint, an…
- 410GoneUse 410 Gone when a resource has been removed on purpose and will not come back. RFC 9110 defines it as access to the target resource being…
- 411Length RequiredUse 411 Length Required when the server refuses a request with content that does not declare its size in Content-Length. RFC 9110 defines it…
- 412Precondition FailedUse 412 Precondition Failed when the client attaches a conditional header such as If-Match or If-Unmodified-Since, and the condition…
- 413Payload Too LargeUse 413 Content Too Large (formerly "Payload Too Large") when the client sends a request body (often a file upload or bulk records batch)…
- 414URI Too LongUse 414 URI Too Long when the target URI is longer than the server is willing to interpret. RFC 9110 defines it that way, and RFC 9112 makes…
- 415Unsupported Media TypeUse 415 Unsupported Media Type when the server rejects a request because the request's payload format is not supported. This is typically…
- 416Range Not SatisfiableUse 416 Range Not Satisfiable when a client sends a Range header for part of a representation and none of the ranges it asked for can be…
- 421Misdirected RequestUse 421 Misdirected Request when a request reached a server that cannot give an authoritative response for its target URI. RFC 9110 says an…
- 422Idempotency Key ConflictUse 422 with an Idempotency Key Conflict error when a client sends an Idempotency-Key that it has already used, but with a different request…
- 422Unprocessable QueryUse 422 when the request is syntactically valid but semantically wrong. The client sent well formed JSON or query parameters, the shape…
- 422Validation FailedUse 422 Validation Failed when the request payload is syntactically correct and readable (like valid JSON), but fails to meet the server's…
- 423Resource LockedUse 423 Locked when the client tries to change a resource that is locked, and the lock is an explicit state of that resource rather than a…
- 424Failed DependencyUse 424 Failed Dependency for an operation that was not performed because it depended on another operation in the same request, and that…
- 425Too EarlyUse 425 Too Early when a request arrived in TLS 1.3 early data (0-RTT), or was forwarded by an intermediary with Early-Data: 1, and…
- 428Precondition RequiredUse 428 Precondition Required, defined in RFC 6585, when the server requires a state-changing request to be conditional and the client sent…
- 429Quota ExceededUse 429 with a Quota Exceeded error when the client has used up the allowance on its plan for the current billing period, such as 100,000…
- 429Rate Limit ExceededUse 429 when the client has sent more requests than your rate limiting policy allows within a given window. The request itself is fine. The…
- 431Request Header Fields Too LargeUse 431 Request Header Fields Too Large, defined in RFC 6585, when the server will not process the request because its header fields are too…
- 451Unavailable For Legal ReasonsUse 451 Unavailable For Legal Reasons when you are denying access to a resource because of a legal demand: a court order, a takedown notice…
5xxServer errors
6- 500Internal Server ErrorUse 500 Internal Server Error when the application encounters an unexpected, unhandled exception or system failure that prevents it from…
- 501Not ImplementedUse 501 Not Implemented when the server does not recognize the request method and cannot support it on any resource. RFC 9110 defines 501 as…
- 502Bad GatewayUse 502 Bad Gateway when your server, acting as a gateway or proxy, got a response from the server behind it and that response was unusable…
- 503Maintenance ModeUse 503 Service Unavailable with a Maintenance Mode error when you have taken the API, or part of it, out of service on purpose for planned…
- 503Service UnavailableUse 503 Service Unavailable when the server is temporarily unable to process the request because it is overloaded or down for planned…
- 504Gateway TimeoutUse 504 Gateway Timeout when an upstream server (such as Nginx, Apache, an API Gateway, or Cloudflare) acting as a gateway or proxy fails to…