Skip to content

Reference

HTTP Status Codes

Every standard HTTP response status code with descriptions. Use this reference when building APIs or debugging requests with the HTTP Request Builder.

1xx — Informational

The server has received the request headers and the client should proceed to send the request body.

CodeNameDescription
100ContinueThe server has received the initial part of the request and the client should continue with the rest.
101Switching ProtocolsThe server is switching to the protocol requested in the Upgrade header, such as WebSocket.
102ProcessingThe server has received the request but has not yet completed it. Prevents the client from timing out.
103Early HintsUsed with the Link header to let the browser start preloading resources while the server prepares the final response.

2xx — Success

The request was successfully received, understood, and accepted.

CodeNameDescription
200OKThe request succeeded. The meaning depends on the HTTP method: GET returns the resource, POST returns the result of the action.
201CreatedThe request succeeded and a new resource was created. Typically returned after POST or PUT requests.
202AcceptedThe request has been accepted for processing, but processing is not yet complete. Used for asynchronous operations.
203Non-Authoritative InformationThe response metadata is not from the origin server but from a local or third-party copy.
204No ContentThe request succeeded but there is no content to return. Common for successful DELETE requests.
205Reset ContentThe server fulfilled the request and asks the client to reset the document view, such as clearing a form.
206Partial ContentThe server is returning only part of the resource due to a Range header sent by the client.
207Multi-StatusA WebDAV response that conveys information about multiple resources where multiple status codes might be appropriate.
208Already ReportedUsed in a WebDAV DAV:propstat response to avoid enumerating the same member repeatedly.
226IM UsedThe server has fulfilled a GET request and the response is a representation of one or more instance manipulations.

3xx — Redirection

Further action is needed to complete the request, typically by following a different URL.

CodeNameDescription
300Multiple ChoicesThe request has more than one possible response. The client should choose one.
301Moved PermanentlyThe requested resource has been permanently moved to a new URL. Search engines transfer ranking to the new URL.
302FoundThe resource is temporarily at a different URL. The client should continue using the original URL for future requests.
303See OtherThe response to the request can be found at another URL using a GET request.
304Not ModifiedThe resource has not been modified since the version specified by the If-Modified-Since or If-None-Match headers.
307Temporary RedirectThe resource is temporarily at a different URL. Unlike 302, the HTTP method must not change.
308Permanent RedirectThe resource has permanently moved. Unlike 301, the HTTP method must not change.

4xx — Client Error

The request contains bad syntax or cannot be fulfilled by the server.

CodeNameDescription
400Bad RequestThe server cannot process the request due to a client error such as malformed syntax, invalid framing, or deceptive routing.
401UnauthorizedAuthentication is required and has either failed or not been provided. The response includes a WWW-Authenticate header.
402Payment RequiredReserved for future use. Some APIs use it to indicate that a payment or subscription is needed.
403ForbiddenThe server understood the request but refuses to authorize it. Unlike 401, re-authenticating will not help.
404Not FoundThe server cannot find the requested resource. The most common error response on the web.
405Method Not AllowedThe HTTP method is not supported for the target resource. The response includes an Allow header listing valid methods.
406Not AcceptableThe server cannot produce a response matching the Accept headers sent by the client.
407Proxy Authentication RequiredSimilar to 401, but authentication must be done with a proxy.
408Request TimeoutThe server timed out waiting for the client to finish sending the request.
409ConflictThe request conflicts with the current state of the server, such as an edit conflict or duplicate resource.
410GoneThe resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent.
411Length RequiredThe server requires a Content-Length header in the request.
412Precondition FailedA precondition in the request headers (such as If-Match) evaluated to false on the server.
413Content Too LargeThe request body is larger than the server is willing to process.
414URI Too LongThe request URI is longer than the server is willing to interpret.
415Unsupported Media TypeThe request body is in a format not supported by the target resource for the requested method.
416Range Not SatisfiableThe range specified in the Range header cannot be fulfilled. The resource may be smaller than the requested range.
417Expectation FailedThe Expect request header cannot be met by the server.
418I'm a TeapotAn April Fools' joke from RFC 2324. The server refuses to brew coffee because it is, permanently, a teapot.
422Unprocessable ContentThe request is well-formed but contains semantic errors that prevent processing.
425Too EarlyThe server is unwilling to process the request because it might be replayed in a TLS early data context.
426Upgrade RequiredThe server refuses the request using the current protocol but might accept it after the client upgrades.
428Precondition RequiredThe server requires the request to be conditional (e.g., include an If-Match header) to prevent lost-update conflicts.
429Too Many RequestsThe client has sent too many requests in a given period. The response may include a Retry-After header.
431Request Header Fields Too LargeThe server refuses to process the request because one or more header fields are too large.
451Unavailable For Legal ReasonsThe resource is unavailable due to legal demands, such as censorship or government-mandated blocking.

5xx — Server Error

The server failed to fulfill a valid request.

CodeNameDescription
500Internal Server ErrorThe server encountered an unexpected condition that prevented it from fulfilling the request.
501Not ImplementedThe server does not recognize the request method or lacks the ability to fulfill the request.
502Bad GatewayThe server received an invalid response from an upstream server while acting as a gateway or proxy.
503Service UnavailableThe server is temporarily unable to handle the request, typically due to maintenance or overload.
504Gateway TimeoutThe server did not receive a timely response from an upstream server while acting as a gateway.
505HTTP Version Not SupportedThe server does not support the HTTP protocol version used in the request.
506Variant Also NegotiatesThe server has an internal configuration error involving transparent content negotiation.
507Insufficient StorageThe server cannot store the representation needed to complete the request (WebDAV).
508Loop DetectedThe server detected an infinite loop while processing the request (WebDAV).
510Not ExtendedFurther extensions to the request are required for the server to fulfill it.
511Network Authentication RequiredThe client needs to authenticate to gain network access, typically from a captive portal.

Test HTTP responses in your browser

Use the HTTP Request Builder to send requests and inspect status codes, headers, and response bodies directly.

Open HTTP Request Builder