HTTP Status Codes
Complete reference for HTTP status codes. Search by code number or keyword, with detailed descriptions, use cases, and example request/response pairs.
1xx Informational
Request received, continuing processThe server has received the request headers and the client should proceed to send the request body.
The server is switching protocols as requested by the client via the Upgrade header.
The server has received and is processing the request, but no response is available yet.
Used to return some response headers before the final HTTP message, allowing the browser to preload resources.
2xx Success
Request was successfully received, understood, and acceptedThe request succeeded. The meaning of success depends on the HTTP method used.
The request succeeded and a new resource was created as a result.
The request has been accepted for processing, but the processing has not been completed.
The returned metadata is not exactly the same as available from the origin server. Typically from a transforming proxy.
The server successfully processed the request and is not returning any content.
The server successfully processed the request and asks the client to reset the document view.
The server is delivering only part of the resource due to a range header sent by the client.
Conveys information about multiple resources, for situations where multiple status codes might be appropriate.
Used inside a DAV: propstat response element to avoid enumerating internal members of multiple bindings to the same collection.
The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations.
3xx Redirection
Further action needs to be taken to complete the requestThe request has more than one possible response. The user or user-agent should choose one of them.
The URL of the requested resource has been permanently changed. The new URL is given in the response.
The URI of the requested resource has been temporarily changed. The client should continue to use the original URI for future requests.
The server sent this response to direct the client to get the requested resource at another URI with a GET request.
Indicates that the resource has not been modified since the last request. The client can use the cached version.
The server is directing the client to a different URI, preserving the original HTTP method.
The resource has been permanently moved to a new URI, and the request method should not change.
4xx Client Error
The request contains bad syntax or cannot be fulfilledThe server cannot process the request due to something perceived as a client error (malformed syntax, invalid parameters).
The request requires user authentication. The client must authenticate itself to get the requested response.
Reserved for future use. Some APIs use this to indicate that a payment is required to access the resource.
The client does not have access rights to the content. Unlike 401, the client's identity is known to the server.
The server cannot find the requested resource. The URL is not recognized or the resource does not exist.
The request method is known by the server but not supported for the target resource.
The server cannot produce a response matching the list of acceptable values defined in the request's headers.
Similar to 401 but authentication is needed with the proxy, not the origin server.
The server would like to shut down an idle connection. It is sent even without any previous request by the client.
The request conflicts with the current state of the server.
The content has been permanently deleted from the server with no forwarding address.
The server rejected the request because the Content-Length header is not defined.
The server does not meet one of the preconditions set by the client in its request headers.
The request entity is larger than limits defined by the server.
The URI requested by the client is longer than the server is willing to interpret.
The media format of the requested data is not supported by the server.
The range specified by the Range header in the request cannot be fulfilled.
The expectation given in the Expect request header could not be met by the server.
The server refuses to brew coffee because it is, permanently, a teapot. Defined in RFC 2324 as an April Fools joke.
The request was well-formed but contained semantic errors. The server understands the content type but cannot process the instructions.
The user has sent too many requests in a given amount of time (rate limiting).
The server is unwilling to process the request because its header fields are too large.
The server is denying access to the resource as a consequence of a legal demand.
5xx Server Error
The server failed to fulfill a valid requestThe server encountered an unexpected condition that prevented it from fulfilling the request.
The request method is not supported by the server and cannot be handled.
The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
The server is not ready to handle the request. Common causes are a server under maintenance or overloaded.
The server, while acting as a gateway or proxy, did not get a response in time from the upstream server.
The HTTP version used in the request is not supported by the server.
The server is unable to store the representation needed to complete the request.
The server detected an infinite loop while processing the request.
The client needs to authenticate to gain network access, typically from a captive portal.
Handle API responses from 350+ services?
Stack0 Integrations manages authentication, rate limits, and error handling for third-party APIs.