HTTP Status Codes
Search, copy, and link straight to any row.
| Code | Name | What it means | Class | |
|---|---|---|---|---|
| 100 | Continue | Request headers accepted — client may send the body. | 1xx Informational | |
| 101 | Switching Protocols | Server agrees to switch protocol (e.g. to WebSocket). | 1xx Informational | |
| 103 | Early Hints | Preload hints sent before the final response. | 1xx Informational | |
| 200 | OK | Request succeeded. | 2xx Success | |
| 201 | Created | Resource created; Location header points to it. | 2xx Success | |
| 202 | Accepted | Accepted for processing; not finished yet. | 2xx Success | |
| 204 | No Content | Success with no response body. | 2xx Success | |
| 206 | Partial Content | Range request served partially. | 2xx Success | |
| 301 | Moved Permanently | Resource moved for good — update links; SEO equity follows. | 3xx Redirect | |
| 302 | Found | Temporary redirect; method may change to GET. | 3xx Redirect | |
| 304 | Not Modified | Cached copy is still valid — no body sent. | 3xx Redirect | |
| 307 | Temporary Redirect | Temporary; method and body preserved. | 3xx Redirect | |
| 308 | Permanent Redirect | Permanent; method and body preserved. | 3xx Redirect | |
| 400 | Bad Request | Malformed syntax or invalid request message. | 4xx Client Error | |
| 401 | Unauthorized | Authentication required or failed. | 4xx Client Error | |
| 403 | Forbidden | Authenticated but not allowed. | 4xx Client Error | |
| 404 | Not Found | Resource does not exist at this URL. | 4xx Client Error | |
| 405 | Method Not Allowed | Verb not supported on this resource. | 4xx Client Error | |
| 408 | Request Timeout | Client took too long to send the request. | 4xx Client Error | |
| 409 | Conflict | Request conflicts with current resource state. | 4xx Client Error | |
| 410 | Gone | Deliberately removed — permanent 404. | 4xx Client Error | |
| 413 | Content Too Large | Body exceeds server limits. | 4xx Client Error | |
| 415 | Unsupported Media Type | Content-Type not accepted. | 4xx Client Error | |
| 418 | I'm a teapot | April-fools RFC 2324; beloved Easter egg. | 4xx Client Error | |
| 422 | Unprocessable Content | Syntax fine, semantics invalid (validation failed). | 4xx Client Error | |
| 429 | Too Many Requests | Rate limited — check Retry-After. | 4xx Client Error | |
| 431 | Header Fields Too Large | Headers exceed server limits. | 4xx Client Error | |
| 451 | Unavailable For Legal Reasons | Blocked by legal demand. | 4xx Client Error | |
| 500 | Internal Server Error | Generic server-side failure. | 5xx Server Error | |
| 501 | Not Implemented | Server does not support the functionality. | 5xx Server Error | |
| 502 | Bad Gateway | Upstream returned an invalid response. | 5xx Server Error | |
| 503 | Service Unavailable | Overloaded or down for maintenance. | 5xx Server Error | |
| 504 | Gateway Timeout | Upstream did not respond in time. | 5xx Server Error | |
| 507 | Insufficient Storage | Server cannot store what is needed. | 5xx Server Error | |
| 511 | Network Auth Required | Captive portal — authenticate to the network first. | 5xx Server Error |
HTTP status codes are the three-digit numbers a server returns to tell a browser or API client what happened with a request. They fall into five families: 1xx informational, 2xx success, 3xx redirects, 4xx client errors, and 5xx server errors. This table lists the codes you'll actually meet, with plain-language meanings. Search it, copy any row, or link straight to a specific code.
How to use it
- Type in the search box to filter by code, name, meaning, or class.
- Use the copy button on any row to grab it for documentation or a ticket.
- Link directly to a code by adding it to the address, for example #row-404.
Examples
- 404 Not Found — the resource does not exist at this URL.
- 429 Too Many Requests — you are rate limited; check the Retry-After header.
Frequently asked questions
- What is the difference between 301 and 302?
- A 301 says the resource has moved permanently, so clients update their links and search engines transfer ranking signals to the new URL. A 302 says the move is temporary, so the original URL keeps its standing. Using 302 for a permanent move is a common and costly SEO mistake.
- Why am I seeing a 502 Bad Gateway?
- A 502 means a server acting as a proxy or gateway received an invalid response from the server behind it. Usually the upstream application has crashed, is still starting, or is overloaded — check the application logs rather than the proxy itself.
- When should an API return 422 vs 400?
- Return 400 when the request itself is malformed — broken JSON, missing required structure. Return 422 when the syntax is fine but the content fails validation, such as an email field containing something that is not an email. The distinction helps clients know whether to fix the format or the values.
- Is 418 a real status code?
- It is real in the sense that it is defined — in RFC 2324, an April Fools' joke specification for a coffee-pot protocol, where 418 means the server is a teapot. It is not part of standard HTTP, but it is widely implemented as an Easter egg and attempts to remove it have been resisted.