HTTP Status Codes Cheatsheet
A complete reference for HTTP response status codes — 1xx informational, 2xx success, 3xx redirection, 4xx client errors, and 5xx server errors.
Try the HTTP Request BuilderSections
1xx — Informational
The request was received and the process is continuing. These are interim responses.
| Code | Name | Description |
|---|---|---|
100 | Continue | The server has received the request headers; the client should proceed to send the body. |
101 | Switching Protocols | The server is switching protocols as requested (e.g., upgrading to WebSocket). |
102 | Processing | The server is processing the request but has not yet completed it (WebDAV). |
103 | Early Hints | Used to send some response headers before the final response, to allow the client to start preloading resources. |
2xx — Success
The request was successfully received, understood, and accepted.
| Code | Name | Description |
|---|---|---|
200 | OK | The request succeeded. The response body contains the result. |
201 | Created | A new resource was created as a result of the request. Often returned after POST. |
202 | Accepted | The request was accepted for processing, but processing is not complete yet. |
203 | Non-Authoritative Information | The response is a modified version from a third-party proxy. |
204 | No Content | The request succeeded but there is no content to return. Common after DELETE or PUT. |
205 | Reset Content | Tells the client to reset the document view (e.g., clear a form). |
206 | Partial Content | The server is returning only part of the resource (range request). |
207 | Multi-Status | Provides status for multiple independent operations (WebDAV). |
208 | Already Reported | Members of a DAV binding were already listed in a previous reply (WebDAV). |
226 | IM Used | The server fulfilled a GET request and the response is a result of one or more instance manipulations. |
3xx — Redirection
Further action is needed to complete the request. Usually the client must follow a redirect.
| Code | Name | Description |
|---|---|---|
300 | Multiple Choices | Multiple options are available; the user or user-agent should choose one. |
301 | Moved Permanently | The resource has a new permanent URL. Future requests should use the new URL. |
302 | Found | The resource is temporarily at a different URI. Continue using the original URL. |
303 | See Other | The response can be found at another URI using a GET request (used after POST/PUT/DELETE). |
304 | Not Modified | The cached version is still valid; the client can use its cached copy. |
307 | Temporary Redirect | Same as 302 but the method must not change (e.g., POST stays POST). |
308 | Permanent Redirect | Same as 301 but the method must not change. The new URL should be used permanently. |
4xx — Client Errors
The request contains bad syntax or cannot be fulfilled by the server. The client made an error.
| Code | Name | Description |
|---|---|---|
400 | Bad Request | The server cannot process the request due to malformed syntax or invalid parameters. |
401 | Unauthorized | Authentication is required and has failed or not been provided. Must include a WWW-Authenticate header. |
402 | Payment Required | Reserved for future use; sometimes used by APIs that require payment. |
403 | Forbidden | The server understood the request but refuses to authorise it. Re-authenticating won't help. |
404 | Not Found | The server cannot find the requested resource. The URL may be wrong or the resource may not exist. |
405 | Method Not Allowed | The HTTP method used is not supported for this endpoint (e.g., POST on a read-only route). |
406 | Not Acceptable | The server cannot produce a response matching the Accept headers sent by the client. |
407 | Proxy Authentication Required | The client must authenticate with the proxy first. |
408 | Request Timeout | The server timed out waiting for the client to send the full request. |
409 | Conflict | The request conflicts with the current state of the resource (e.g., duplicate key, version mismatch). |
410 | Gone | The resource is permanently gone and will not be available again. More definitive than 404. |
411 | Length Required | The server requires a Content-Length header. |
412 | Precondition Failed | A condition in the request headers evaluated to false on the server. |
413 | Content Too Large | The request body is larger than the server is willing to process. |
414 | URI Too Long | The request URI is longer than the server is willing to interpret. |
415 | Unsupported Media Type | The request body is in a format the server does not support (check Content-Type). |
416 | Range Not Satisfiable | The range specified in the Range header cannot be fulfilled. |
417 | Expectation Failed | The server cannot meet the requirements of the Expect header. |
418 | I'm a teapot | The server refuses to brew coffee because it is a teapot. (RFC 2324 — an April Fools' joke, but real.) |
421 | Misdirected Request | The request was directed at a server unable to produce a response for that combination of scheme and authority. |
422 | Unprocessable Content | The request is well-formed but has semantic errors (e.g., validation failure). Common in REST APIs. |
423 | Locked | The resource is locked (WebDAV). |
424 | Failed Dependency | The request failed due to failure of a previous request (WebDAV). |
425 | Too Early | The server is unwilling to process a request that might be replayed. |
426 | Upgrade Required | The client must switch to a different protocol (e.g., TLS). |
428 | Precondition Required | The server requires the request to be conditional to prevent 'lost update' problems. |
429 | Too Many Requests | The client has sent too many requests in a given time window (rate limiting). |
431 | Request Header Fields Too Large | The server is unwilling to process the request because headers are too large. |
451 | Unavailable For Legal Reasons | The resource is unavailable due to legal reasons (e.g., censorship, court order). |
5xx — Server Errors
The server failed to fulfil a valid request. The error is on the server side.
| Code | Name | Description |
|---|---|---|
500 | Internal Server Error | A generic error occurred on the server. Check server logs for details. |
501 | Not Implemented | The server does not support the functionality required to fulfil the request. |
502 | Bad Gateway | The server, acting as a gateway or proxy, received an invalid response from the upstream server. |
503 | Service Unavailable | The server is not ready to handle requests — overloaded or down for maintenance. |
504 | Gateway Timeout | The gateway did not receive a timely response from the upstream server. |
505 | HTTP Version Not Supported | The HTTP version used in the request is not supported. |
506 | Variant Also Negotiates | Transparent content negotiation for the request results in a circular reference. |
507 | Insufficient Storage | The server is unable to store the representation needed to complete the request (WebDAV). |
508 | Loop Detected | The server detected an infinite loop while processing the request (WebDAV). |
510 | Not Extended | Further extensions to the request are required. |
511 | Network Authentication Required | The client needs to authenticate to gain network access (e.g., captive portals). |