HTTP Status Codes
Every HTTP status code from RFC 9110, with the typical cause, the fix, and which services use them. Click any code for detailed troubleshooting.
Informational (1xx)
Success (2xx)
-
200OKRequest succeeded. The response body contains the requested resource. -
201CreatedRequest succeeded and a new resource was created. Response should include Location header pointing to the new resource. -
202AcceptedRequest accepted for processing but not completed. Used for asynchronous operations. -
204No ContentRequest succeeded but no response body. Common for DELETE operations.
Redirection (3xx)
-
301Moved PermanentlyResource has permanently moved to the URL in the Location header. Subsequent requests should use the new URL. -
302FoundResource temporarily at the URL in the Location header. Original URL still active. -
304Not ModifiedCached resource is still valid. Client should use cached copy. -
307Temporary RedirectTemporary redirect that preserves the HTTP method (unlike 302). -
308Permanent RedirectPermanent redirect that preserves the HTTP method (unlike 301).
Client errors (4xx)
-
400Bad RequestServer cannot process the request due to malformed syntax, invalid parameters, or invalid state. -
401UnauthorizedAuthentication required or failed. Despite the name, this means 'unauthenticated'. -
402Payment RequiredReserved for future use. Used by Stripe and others to signal billing/quota issues. -
403ForbiddenAuthenticated but not authorized. Server understood the request but refuses to fulfill it. -
404Not FoundServer cannot find the requested resource. May also be returned to hide existence of resource. -
405Method Not AllowedResource exists but doesn't support the HTTP method used. Response must include Allow header. -
406Not AcceptableServer cannot produce a response matching the Accept headers in the request. -
408Request TimeoutServer timed out waiting for the request. Client may retry. -
409ConflictRequest conflicts with current state of the resource. Common with concurrent updates and unique constraints. -
410GoneResource permanently removed and will not return. Stronger than 404. -
411Length RequiredServer requires Content-Length header on the request. -
412Precondition FailedA precondition (If-Match, If-Unmodified-Since) in the request headers failed. -
413Content Too LargeRequest body exceeds server's size limit. -
414URI Too LongRequest URI is too long for the server to process. -
415Unsupported Media TypeRequest's Content-Type isn't supported by the endpoint. -
422Unprocessable ContentRequest is well-formed but contains semantic errors. Common for validation failures. -
423LockedResource is locked. WebDAV. -
424Failed DependencyRequest failed because it depended on a previous request that failed. -
426Upgrade RequiredServer requires the client to upgrade to a different protocol. -
428Precondition RequiredServer requires the request to be conditional (e.g., include If-Match). -
429Too Many RequestsClient has sent too many requests in a given time period (rate limited). -
431Request Header Fields Too LargeRequest headers exceed server's size limit. -
451Unavailable For Legal ReasonsResource is unavailable due to legal restrictions (e.g., GDPR, takedown order).
Server errors (5xx)
-
500Internal Server ErrorGeneric server-side error. The server encountered an unexpected condition. -
501Not ImplementedServer doesn't recognize the request method or lacks the ability to fulfill it. -
502Bad GatewayServer (acting as proxy/gateway) received an invalid response from upstream. -
503Service UnavailableServer is temporarily unavailable. Often used for maintenance or overload. -
504Gateway TimeoutServer (acting as proxy/gateway) timed out waiting for upstream response. -
505HTTP Version Not SupportedServer doesn't support the HTTP version used in the request. -
507Insufficient StorageServer cannot store the resource. WebDAV, also used for general disk-full conditions. -
508Loop DetectedServer detected an infinite loop while processing the request. -
511Network Authentication RequiredClient must authenticate to gain network access (e.g., captive portal). -
520Web Server Returned an Unknown ErrorCloudflare-specific. Origin returned an empty, malformed, or unexpected response. -
521Web Server Is DownCloudflare-specific. Origin server refused the connection. -
522Connection Timed OutCloudflare-specific. Connection to origin timed out (TCP-level). -
524A Timeout OccurredCloudflare-specific. TCP connection succeeded but origin took >100s to respond. -
525SSL Handshake FailedCloudflare-specific. SSL handshake with origin failed. -
526Invalid SSL CertificateCloudflare-specific. Origin SSL certificate is invalid. -
529Site Is OverloadedAnthropic API and others use this for service overload.