Reference
HTTP Status Codes
Every HTTP status code, in plain English. What each one means, what usually causes it, and how to fix it. Start with the code you are seeing, or browse by class below.
1xx · Informational
2 codesThe request was received and the process is continuing.
2xx · Success
5 codesThe request was received, understood, and accepted.
200Common
OKThe request succeeded. This is the normal response for a healthy page or API.201
CreatedThe request succeeded and a new resource was created as a result.202
AcceptedThe request was accepted for processing, but the processing has not finished. Common for async or queued work.204
No ContentThe request succeeded but there is no content to return.206
Partial ContentThe server is delivering only part of the resource, in response to a Range request.3xx · Redirection
7 codesFurther action is needed to complete the request.
300
Multiple ChoicesThe request has more than one possible response and the client should choose one.301Common
Moved PermanentlyThe resource has permanently moved to a new URL. Browsers and search engines should update to the new location.302Common
FoundThe resource is temporarily at a different URL. Unlike a 301, clients keep using the original URL for future requests.303
See OtherThe response is at another URL and should be retrieved with a GET, regardless of the original method.304
Not ModifiedThe cached copy is still valid, so the server returned no body to save bandwidth.307
Temporary RedirectLike a 302, but the request method and body must not change on the redirected request.308
Permanent RedirectLike a 301, but the request method and body must not change.4xx · Client error
19 codesThe request was malformed or cannot be fulfilled as sent.
400Common
Bad RequestThe server could not understand the request, usually because it was malformed.401Common
UnauthorizedAuthentication is required and has failed or not been provided.403Common
ForbiddenThe server understood the request but refuses to authorize it. Unlike 401, authenticating will not help.404Common
Not FoundThe server could not find the requested resource. The URL may be wrong or the resource may have been removed.405
Method Not AllowedThe HTTP method is not supported for this resource, for example a POST to a read-only endpoint.408
Request TimeoutThe server timed out waiting for the client to finish the request.410
GoneThe resource was intentionally removed and will not come back. A stronger, permanent signal than 404.411
Length RequiredThe server refuses the request because it lacks a Content-Length header.413Common
Payload Too LargeThe request body is larger than the server is willing or able to process, for example an oversized file upload.414
URI Too LongThe requested URL is longer than the server will interpret.415Common
Unsupported Media TypeThe request body is in a format the server does not support, for example sending XML to a JSON-only API.418Common
I'm a TeapotAn April Fools joke code from 1998: the server is a teapot and cannot brew coffee. Some sites return it as a playful block response.422Common
Unprocessable EntityThe request was well-formed but failed validation, for example a missing required field. Common in JSON APIs and Laravel.423
LockedThe resource being accessed is locked.426
Upgrade RequiredThe server refuses the request over the current protocol and asks the client to upgrade, for example to TLS.428
Precondition RequiredThe server requires the request to be conditional, to prevent lost updates from concurrent edits.429Common
Too Many RequestsThe client has sent too many requests in a given amount of time and is being rate limited.431
Request Header Fields Too LargeThe request was refused because its headers are too large, often an oversized Cookie header.451Common
Unavailable For Legal ReasonsThe resource is unavailable due to a legal demand, such as a government block or a takedown.5xx · Server error
16 codesThe server failed to fulfill a valid request.
500Common
Internal Server ErrorA generic server-side error. Something failed on the server and it could not complete the request.501
Not ImplementedThe server does not support the functionality required to fulfill the request.502Common
Bad GatewayA server acting as a gateway or proxy got an invalid response from the upstream server it was trying to reach.503Common
Service UnavailableThe server is temporarily unable to handle the request, usually because it is overloaded or down for maintenance.504Common
Gateway TimeoutA gateway or proxy did not get a timely response from the upstream server.505
HTTP Version Not SupportedThe server does not support the HTTP protocol version used in the request.507Common
Insufficient StorageThe server cannot store what is needed to complete the request, often a full disk.508
Loop DetectedThe server detected an infinite loop while processing the request.511
Network Authentication RequiredThe client must authenticate to gain network access, typically a captive portal on public Wi-Fi.520
Web Server Returned an Unknown ErrorA Cloudflare-specific code: the origin returned an empty, unknown, or unexpected response.521
Web Server Is DownA Cloudflare-specific code: Cloudflare could not reach your origin server.522
Connection Timed OutA Cloudflare-specific code: the TCP connection to your origin timed out.523
Origin Is UnreachableA Cloudflare-specific code: Cloudflare could not reach the origin at all, often a routing or DNS problem.524
A Timeout OccurredA Cloudflare-specific code: Cloudflare connected to the origin but it did not respond before the timeout.525Common
SSL Handshake FailedA Cloudflare-specific code: the TLS handshake between Cloudflare and your origin failed.526
Invalid SSL CertificateA Cloudflare-specific code: Cloudflare could not validate the origin certificate under Full (Strict) mode.We alert you when your site starts returning 5xx errors.
A status code reference helps you diagnose one request. Sentinel checks your site around the clock and tells you the moment it starts serving errors, before your visitors find them.