Developer Tools
HTTP Status Codes: Complete Reference
Searchable reference for all HTTP status codes: 1xx, 2xx, 3xx, 4xx, and 5xx. Find any code by number, name, or description. Includes IANA-registered and commonly used codes.
Showing 62 of 62 status codes
HTTP Status Code Reference
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes: informational responses (1xx), successful responses (2xx), redirection messages (3xx), client error responses (4xx), and server error responses (5xx).
1xx: Informational
Provisional responses. The server has received the request and is continuing to process it. Most clients never see these in practice. Key codes:
- 100 Continue: the server has received request headers and the client should
proceed to send the body (used when the client sends an
Expect: 100-continueheader for large uploads). - 101 Switching Protocols: the server is switching to the protocol specified
in the request's
Upgradeheader - most commonly seen during the WebSocket handshake and HTTP/2 upgrade negotiation.
2xx: Success
The request was received, understood, and accepted. 200 OK is the most common; 201 Created is returned when a new resource is created; 204 No Content is common for successful DELETE requests.
3xx: Redirection
Further action is needed to complete the request. 301 Moved Permanently tells clients (and search engines) to update their links; 302 Found is a temporary redirect; 304 Not Modified avoids re-downloading an unchanged resource.
4xx: Client Error
The client sent a request that the server cannot fulfill. 400 Bad Request means malformed syntax; 401 Unauthorized means authentication is needed; 403 Forbidden means the server refuses regardless of credentials; 404 Not Found means the resource doesn't exist.
5xx: Server Error
The server failed to fulfill a valid request. 500 Internal Server Error is a catch-all for unexpected server conditions; 503 Service Unavailable is returned during maintenance or overload; 504 Gateway Timeout means a proxy didn't get a timely upstream response.
Status code decision tree for API designers
| Situation | Use this code | Why |
|---|---|---|
| Malformed request syntax | 400 Bad Request | Client sent unparseable data |
| Validation error (valid syntax, invalid data) | 422 Unprocessable Entity | Syntax OK but business rules violated |
| No credentials provided | 401 Unauthorized | Authentication required |
| Credentials valid but access denied | 403 Forbidden | Authorization failed |
| Resource doesn't exist (temporarily) | 404 Not Found | May exist again later |
| Resource permanently removed | 410 Gone | Caches and crawlers should deindex |
| Successful creation | 201 Created | Include Location header with new resource URL |
| Async operation accepted | 202 Accepted | Processing will happen later |