All Tools

HTTP Status Codes

Complete reference of all HTTP status codes with descriptions and use cases.

Showing 53 status codes

100Informational

Continue

The server has received the request headers and the client should proceed to send the request body. This is used to optimize large request transfers by confirming the server is willing to accept the request.

101Informational

Switching Protocols

The server is switching to the protocol requested by the client via the Upgrade header. Commonly used when upgrading an HTTP connection to WebSocket.

102Informational

Processing

The server has received the request and is processing it, but no response is available yet. This prevents the client from timing out on long-running requests (WebDAV).

103Informational

Early Hints

Used to return some response headers before the final HTTP message. Allows the browser to start preloading resources while the server prepares the full response.

200Success

OK

The request has succeeded. The meaning of the success depends on the HTTP method: GET returns the resource, POST returns the result of the action, PUT/PATCH confirms the update.

201Success

Created

The request has been fulfilled and a new resource has been created. Typically returned after a successful POST request. The response should include a Location header pointing to the new resource.

202Success

Accepted

The request has been accepted for processing, but processing has not been completed. This is useful for asynchronous operations where the result will be available later.

204Success

No Content

The server has successfully fulfilled the request but there is no content to return. Commonly used for DELETE requests or updates where no response body is needed.

206Success

Partial Content

The server is delivering only part of the resource due to a Range header sent by the client. Used for resumable downloads and streaming media content.

207Success

Multi-Status

Conveys information about multiple resources in situations where multiple status codes might be appropriate. The response body is an XML document with individual status codes (WebDAV).

208Success

Already Reported

Used inside a DAV:propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly (WebDAV).

300Redirection

Multiple Choices

The request has more than one possible response. The user or user agent should choose one of them. There is no standardized way of choosing one of the responses.

301Redirection

Moved Permanently

The requested resource has been permanently moved to a new URL. Search engines will update their index to use the new URL. All future requests should use the new URI.

302Redirection

Found

The requested resource temporarily resides at a different URL. Unlike 301, the client should continue to use the original URL for future requests. Often used for temporary redirects.

303Redirection

See Other

The response to the request can be found at a different URL using a GET method. Typically used after a POST to redirect the client to a confirmation page.

304Redirection

Not Modified

The resource has not been modified since the version specified by the request headers (If-Modified-Since or If-None-Match). The client can use its cached copy.

307Redirection

Temporary Redirect

The requested resource is temporarily at a different URL. Unlike 302, the HTTP method and body must not change when following the redirect. The client should continue using the original URL.

308Redirection

Permanent Redirect

The resource has permanently moved to the URL specified in the Location header. Unlike 301, the HTTP method and body must not change when following the redirect.

400Client Error

Bad Request

The server cannot process the request due to a client error such as malformed syntax, invalid request framing, or deceptive request routing. The client should not repeat the request without modification.

401Client Error

Unauthorized

The request lacks valid authentication credentials. The client must authenticate itself to get the requested response. The server will include a WWW-Authenticate header describing the required scheme.

402Client Error

Payment Required

Reserved for future use. Originally intended for digital payment systems. Some APIs use this status code to indicate that a paid subscription or credit balance is required.

403Client Error

Forbidden

The server understands the request but refuses to authorize it. Unlike 401, re-authenticating will not help. The client does not have permission to access the requested resource.

404Client Error

Not Found

The server cannot find the requested resource. This is the most common error response on the web. It may indicate a broken link, a mistyped URL, or that the resource has been removed.

405Client Error

Method Not Allowed

The HTTP method used in the request is not allowed for the target resource. For example, a DELETE request on a read-only resource. The response must include an Allow header listing valid methods.

406Client Error

Not Acceptable

The server cannot produce a response matching the list of acceptable values defined in the request's Accept headers. The server is unable to fulfill content negotiation.

407Client Error

Proxy Authentication Required

Similar to 401, but authentication must be performed with a proxy server between the client and the target server. The proxy must return a Proxy-Authenticate header.

408Client Error

Request Timeout

The server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait. The client may repeat the request without modification.

409Client Error

Conflict

The request conflicts with the current state of the target resource. Commonly used when attempting to create a duplicate resource or when there is an edit conflict (e.g., optimistic concurrency).

410Client Error

Gone

The requested resource is no longer available at the server and no forwarding address is known. Unlike 404, this indicates the resource is permanently gone and will not return.

411Client Error

Length Required

The server refuses the request because it requires a Content-Length header field. The client should resend the request with the header indicating the size of the request body.

412Client Error

Precondition Failed

One or more conditions in the request header fields (like If-Match or If-Unmodified-Since) evaluated to false. The server cannot meet the preconditions set by the client.

413Client Error

Content Too Large

The request body is larger than the server is willing or able to process. The server may close the connection or return a Retry-After header to indicate when the client can retry.

414Client Error

URI Too Long

The URI requested by the client is longer than the server is willing to interpret. This can occur when a client has mistakenly converted a POST request to a GET with long query parameters.

415Client Error

Unsupported Media Type

The server refuses the request because the payload format is not supported. For example, sending XML when the API only accepts JSON, or using an unsupported Content-Encoding.

416Client Error

Range Not Satisfiable

The range specified in the Range header of the request cannot be fulfilled. The range may be outside the size of the target resource's data.

418Client Error

I'm a Teapot

An April Fools' joke from RFC 2324 (Hyper Text Coffee Pot Control Protocol). The server refuses to brew coffee because it is, permanently, a teapot. Not expected to be implemented by actual servers.

422Client Error

Unprocessable Content

The server understands the content type and syntax of the request, but it was unable to process the contained instructions. Common in REST APIs when validation fails on otherwise well-formed input.

423Client Error

Locked

The resource that is being accessed is locked. This is a WebDAV-specific status code indicating the source or destination resource is currently locked.

425Client Error

Too Early

The server is unwilling to risk processing a request that might be replayed. Used with TLS Early Data (0-RTT) to prevent replay attacks against the server.

426Client Error

Upgrade Required

The server refuses to perform the request using the current protocol. The client must switch to a different protocol specified in the Upgrade header (e.g., upgrading to TLS).

428Client Error

Precondition Required

The server requires the request to be conditional (include headers like If-Match). This prevents the lost update problem where a client GETs a resource, modifies it, and PUTs it back while another client has also modified it.

429Client Error

Too Many Requests

The user has sent too many requests in a given amount of time (rate limiting). The response should include a Retry-After header indicating how long to wait before making a new request.

431Client Error

Request Header Fields Too Large

The server is unwilling to process the request because its header fields are too large. This can occur with excessively large cookies or tokens. Reduce the size of request headers and retry.

451Client Error

Unavailable For Legal Reasons

The resource is unavailable due to legal demands such as government censorship or court-ordered takedowns. Named after the novel Fahrenheit 451. The response should include a reference to the legal authority.

500Server Error

Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request. This is a generic catch-all error when no more specific 5xx code is appropriate.

501Server Error

Not Implemented

The server does not support the functionality required to fulfill the request. This is the appropriate response when the server does not recognize the request method.

502Server Error

Bad Gateway

The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request.

503Server Error

Service Unavailable

The server is not ready to handle the request. Common causes include a server that is down for maintenance or overloaded. A Retry-After header may indicate when to try again.

504Server Error

Gateway Timeout

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server. This often indicates network issues between servers or a slow backend service.

505Server Error

HTTP Version Not Supported

The server does not support the HTTP protocol version used in the request. The server should indicate which protocols it supports in the response.

507Server Error

Insufficient Storage

The server is unable to store the representation needed to complete the request. This is a WebDAV-specific status code indicating the server has run out of disk space or quota.

508Server Error

Loop Detected

The server detected an infinite loop while processing the request. This occurs in WebDAV when a request causes a binding loop on the server.

511Server Error

Network Authentication Required

The client needs to authenticate to gain network access. This is typically sent by captive portals (e.g., Wi-Fi hotspot login pages) intercepting traffic before granting internet access.