HTTP Status Codes
Complete reference of HTTP status codes with descriptions and use cases.
100
Continue
The server has received the request headers and the client should proceed to send the request body.
101
Switching Protocols
The server is switching protocols as requested by the client (e.g., upgrading to WebSocket).
103
Early Hints
Used to return some response headers before the final HTTP message, allowing the browser to preload resources.
200
OK
The request has succeeded. The response body contains the requested resource.
201
Created
The request has been fulfilled and a new resource has been created (typically after POST or PUT).
202
Accepted
The request has been accepted for processing, but the processing has not been completed yet.
204
No Content
The server successfully processed the request but is not returning any content (common for DELETE requests).
206
Partial Content
The server is delivering only part of the resource due to a Range header sent by the client.
301
Moved Permanently
The resource has been permanently moved to a new URL. Search engines will update their index. Use for permanent URL changes.
302
Found (Temporary Redirect)
The resource has been temporarily moved to a different URL. The original URL should still be used for future requests.
303
See Other
The response can be found at a different URL using GET method. Often used after POST to redirect to a result page.
304
Not Modified
The resource has not been modified since the last request. The client can use the cached version.
307
Temporary Redirect
Similar to 302 but guarantees the HTTP method will not change (POST stays POST). Use for temporary redirects.
308
Permanent Redirect
Similar to 301 but guarantees the HTTP method will not change. The permanent equivalent of 307.
400
Bad Request
The server cannot process the request due to malformed syntax, invalid parameters, or deceptive routing.
401
Unauthorized
Authentication is required but has failed or has not been provided. The user needs to log in.
403
Forbidden
The server understood the request but refuses to authorize it. The user is authenticated but lacks permissions.
404
Not Found
The requested resource could not be found on the server. The URL may be incorrect or the resource deleted.
405
Method Not Allowed
The HTTP method used is not allowed for the requested resource (e.g., POST on a GET-only endpoint).
408
Request Timeout
The server timed out waiting for the request. The client took too long to send the complete request.
409
Conflict
The request conflicts with the current state of the server (e.g., duplicate entry, version conflict).
410
Gone
The resource is no longer available and will not be available again. Unlike 404, this is intentional and permanent.
413
Payload Too Large
The request body is larger than the server is willing to process (e.g., file upload size limit exceeded).
415
Unsupported Media Type
The server does not support the media type of the request body (e.g., sending XML when only JSON is accepted).
422
Unprocessable Entity
The request is well-formed but contains semantic errors (e.g., validation failures in the request data).
429
Too Many Requests
The user has sent too many requests in a given time period (rate limiting). Retry after the specified cooldown.
500
Internal Server Error
A generic error occurred on the server. Something went wrong but the server cannot be more specific about it.
501
Not Implemented
The server does not support the functionality required to fulfill the request (e.g., unsupported HTTP method).
502
Bad Gateway
The server acting as a gateway received an invalid response from the upstream server it accessed.
503
Service Unavailable
The server is currently unable to handle the request due to maintenance or overload. Usually temporary.
504
Gateway Timeout
The server acting as a gateway did not receive a timely response from the upstream server.