Skip to main content
apiguide.dev

HTTP Status Codes Catalog

A comprehensive reference of HTTP status codes, explaining when to use them in REST APIs and mapping them to concrete error schemas.

Informational (1xx)

HTTP 100

Continue

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

HTTP 101

Switching Protocols

The server understands the Upgrade header field sent by the client and is switching protocols.

HTTP 102

Processing

The server has received and is processing the request, but no response is available yet.

HTTP 103

Early Hints

Allows the server to send link headers to prefetch resources while compiling the main response.

Success (2xx)

The request has succeeded. The response payload contains the requested resource representation.

HTTP 201

Created

The request has been fulfilled and has resulted in a new resource being created.

HTTP 202

Accepted

The request has been accepted for processing, but the processing has not been completed.

HTTP 203

Non-Authoritative Information

The server is a transforming proxy that received a 200 OK from its origin but is returning a modified payload.

HTTP 204

No Content

The request was successful, but the response body is intentionally empty.

HTTP 205

Reset Content

The server fulfilled the request and desires that the user agent reset the document view.

HTTP 206

Partial Content

The server is delivering only part of the resource due to a Range header sent by the client.

HTTP 207

Multi-Status

The response body contains multiple independent status codes for a batch of sub-operations.

HTTP 208

Already Reported

Used inside a 207 Multi-Status response to avoid repeatedly enumerating the same bound resource.

HTTP 226

IM Used

The server has fulfilled a request for the resource and the response represents the result of applying one or more instance manipulations.

Redirection (3xx)

HTTP 300

Multiple Choices

The request has more than one possible response and the user agent or user should choose one.

HTTP 301

Moved Permanently

The requested resource has been assigned a new permanent URI and future references should use it.

The requested resource resides temporarily under a different URI.

HTTP 303

See Other

Directs the client to get the requested resource at another URI using a GET request.

HTTP 304

Not Modified

Instructs the client that the cached version of the resource is still valid.

HTTP 305

Use Proxy

Deprecated. Indicated that the requested resource had to be accessed through the proxy given in the response.

HTTP 306

Unused

Reserved. Formerly defined as "Switch Proxy" in an early draft, this code was never used and is no longer part of the standard beyond being reserved.

HTTP 307

Temporary Redirect

The resource resides temporarily under a different URI. Method must not be changed.

HTTP 308

Permanent Redirect

The resource has been permanently moved. Method must not be changed.

Client Errors (4xx)

HTTP 400

Bad Request

The server cannot process the request due to client error (e.g., malformed syntax, invalid framing).

HTTP 401

Unauthorized

The request lacks valid authentication credentials. The client must authenticate.

HTTP 402

Payment Required

Reserved for future use. Used in modern APIs to indicate subscription limits or billing issues.

HTTP 403

Forbidden

The client is authenticated but does not have access rights to the content.

HTTP 404

Not Found

The server cannot find the requested resource or URI route.

HTTP 405

Method Not Allowed

The requested URI exists, but the HTTP method used is not supported.

HTTP 406

Not Acceptable

The server cannot produce a response matching the Accept headers sent by the client.

HTTP 407

Proxy Authentication Required

The client must first authenticate itself with the proxy server.

HTTP 408

Request Timeout

The server timed out waiting for the client to complete the request.

HTTP 409

Conflict

The request conflicts with the current state of the target resource.

The resource is permanently deleted and has no redirect address.

HTTP 411

Length Required

The server refuses to accept the request without a defined Content-Length header.

HTTP 412

Precondition Failed

One or more preconditions in the request headers evaluated to false.

HTTP 413

Content Too Large

The request body size exceeds the maximum limit allowed by the server.

HTTP 414

URI Too Long

The URI requested by the client is longer than the server is willing to interpret.

HTTP 415

Unsupported Media Type

The request payload media format is not supported by the server.

HTTP 416

Range Not Satisfiable

The requested byte range cannot be satisfied by the server.

HTTP 417

Expectation Failed

The server cannot meet the requirements of the Expect request header.

HTTP 418

I'm a teapot

Returned by hyper text coffee pot control protocol clients.

HTTP 421

Misdirected Request

The request was directed at a server that is not able to produce a response.

HTTP 422

Unprocessable Entity

The request body was syntactically correct but failed semantic business rules validation.

HTTP 423

Locked

The resource that is being accessed is locked.

HTTP 424

Failed Dependency

The request failed because it depended on another action that failed.

HTTP 425

Too Early

The server is unwilling to risk processing a request that might be replayed.

HTTP 426

Upgrade Required

The server refuses to perform the request using the current protocol.

HTTP 428

Precondition Required

The origin server requires the request to be conditional.

HTTP 429

Too Many Requests

The user has sent too many requests in a given amount of time.

HTTP 431

Request Header Fields Too Large

The server refuses to process the request because header fields are too large.

HTTP 451

Unavailable For Legal Reasons

The server operator has received a legal demand to deny access to the resource.

Server Errors (5xx)

HTTP 500

Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request.

HTTP 501

Not Implemented

The server does not support the functionality required to fulfill the request.

HTTP 502

Bad Gateway

An upstream server returned an invalid response to the gateway proxy.

HTTP 503

Service Unavailable

The server is temporarily down or overloaded. The client should retry.

HTTP 504

Gateway Timeout

The upstream server failed to send a timely response to the gateway proxy.

HTTP 505

HTTP Version Not Supported

The server does not support the HTTP protocol version used in the request.

HTTP 506

Variant Also Negotiates

Content negotiation for the request results in a circular reference.

HTTP 507

Insufficient Storage

The server is unable to store the representation needed to complete the request.

HTTP 508

Loop Detected

The server terminated the operation because it detected an infinite loop.

HTTP 510

Not Extended

Further extensions to the request are required for the server to fulfill it.

HTTP 511

Network Authentication Required

The client needs to authenticate to gain network access.