HTTP Status Codes (JSON)
The full set of HTTP status codes from 100 Continue to 511, with standard reason phrases and categories — filter, copy or download as JSON.
| Code | Name | Category |
|---|---|---|
| 100 | Continue | informational |
| 101 | Switching Protocols | informational |
| 102 | Processing | informational |
| 103 | Early Hints | informational |
| 200 | OK | success |
| 201 | Created | success |
| 202 | Accepted | success |
| 203 | Non-Authoritative Information | success |
| 204 | No Content | success |
| 205 | Reset Content | success |
| 206 | Partial Content | success |
| 207 | Multi-Status | success |
| 208 | Already Reported | success |
| 226 | IM Used | success |
| 300 | Multiple Choices | redirect |
| 301 | Moved Permanently | redirect |
| 302 | Found | redirect |
| 303 | See Other | redirect |
| 304 | Not Modified | redirect |
| 307 | Temporary Redirect | redirect |
| 308 | Permanent Redirect | redirect |
| 400 | Bad Request | client |
| 401 | Unauthorized | client |
| 402 | Payment Required | client |
| 403 | Forbidden | client |
| 404 | Not Found | client |
| 405 | Method Not Allowed | client |
| 406 | Not Acceptable | client |
| 407 | Proxy Authentication Required | client |
| 408 | Request Timeout | client |
| 409 | Conflict | client |
| 410 | Gone | client |
| 411 | Length Required | client |
| 412 | Precondition Failed | client |
| 413 | Content Too Large | client |
| 414 | URI Too Long | client |
| 415 | Unsupported Media Type | client |
| 416 | Range Not Satisfiable | client |
| 417 | Expectation Failed | client |
| 418 | I'm a teapot | client |
| 421 | Misdirected Request | client |
| 422 | Unprocessable Content | client |
| 423 | Locked | client |
| 424 | Failed Dependency | client |
| 425 | Too Early | client |
| 426 | Upgrade Required | client |
| 428 | Precondition Required | client |
| 429 | Too Many Requests | client |
| 431 | Request Header Fields Too Large | client |
| 451 | Unavailable For Legal Reasons | client |
| 500 | Internal Server Error | server |
| 501 | Not Implemented | server |
| 502 | Bad Gateway | server |
| 503 | Service Unavailable | server |
| 504 | Gateway Timeout | server |
| 505 | HTTP Version Not Supported | server |
| 506 | Variant Also Negotiates | server |
| 507 | Insufficient Storage | server |
| 508 | Loop Detected | server |
| 510 | Not Extended | server |
| 511 | Network Authentication Required | server |
Compiled from RFC 9110 plus common extensions such as WebDAV; 304 belongs to the redirect class and 418 is the reserved joke code.
How status codes are grouped
1xx is informational, 2xx success, 3xx redirection, 4xx client errors and 5xx server errors. The first digit alone points you in the right direction: 401 and 403 are permission problems, 404 means the resource does not exist, 429 is rate limiting, and 502 / 504 usually mean something behind a gateway is down or timing out.
Using this table in development
Copy the JSON into your project as a constant map so logs and dashboards can translate numbers into words; when designing APIs, pick the code whose standard phrase matches the situation — do not return 200 with an app-level error code for everything, and never return 500 for a bad parameter.