HTTP Status Codes
Every status code a server can answer with — what it means, why you're seeing it, and how to fix it.
1xx Informational
These are temporary protocol handshakes that tell the client the initial request was received and processing is still underway. Because they are just intermediate progress reports, they keep the connection open but never represent the final outcome of the request.
Continue
The server has received the request headers and the client should proceed to send the request body.
Switching Protocols
The server understands and is willing to comply with the client's request, via the Upgrade header field, for a change in the application protocol.
Processing
An interim response used to inform the client that the server has accepted the complete request, but has not yet completed it.
Early Hints
Used to return some response headers before final HTTP message.
Upload Resumption Supported
Experimental code indicating the server supports resumable uploads.
2xx Success
Request succeeded and the client can proceed with the next step, such as fetching data or submitting a form. The server has fully processed the request and is returning the requested resource or a confirmation message.
OK
The request was successful. The meaning of 'success' depends on the HTTP method (GET, POST, etc.).
Created
The request succeeded, and a new resource was created as a result.
Accepted
The request has been accepted for processing, but the processing has not been completed.
No Content
The server successfully fulfilled the request and that there is no additional content to send in the response payload body.
Non-Authoritative Information
The request was successful but the enclosed payload has been modified by a transforming proxy.
Reset Content
Tells the client to reset the document view, such as clearing a form.
Partial Content
The request has succeeded and the body contains the requested ranges of data.
Multi-Status
Conveys information about multiple resources, for situations where multiple status codes might be appropriate.
Already Reported
Used inside a DAV: propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.
IM Used
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 applied to the current instance.
3xx Redirection
The server indicates that the client should take additional action to complete the request. This usually involves redirecting the client to a different URL or using an alternative resource.
Multiple Choices
Indicates multiple options for the resource from which the client may choose.
Moved Permanently
The URL of the requested resource has been changed permanently. The new URL is given in the response.
Found
Tells the client to look at (browse to) another URL temporarily.
See Other
Directs the client to get the requested resource at another URI with a GET request.
Not Modified
Tells the client that the cached version of the requested resource is still fresh and can be used.
Use Proxy
Deprecated. Originally told the client to connect via a proxy.
Switch Proxy
Deprecated. No longer used.
Temporary Redirect
Tells the client to get the resource at another URI with the same method that was used in the prior request.
Permanent Redirect
The resource has permanently moved to a new URI, and the HTTP method must be preserved.
4xx Client Error
The request could not be completed because it contains an error on the client side. This could be due to invalid syntax, missing parameters, or insufficient permissions.
Bad Request
The server cannot or will not process the request due to something that is perceived to be a client error.
Unauthorized
Although the HTTP standard specifies 'unauthorized', semantically this response means 'unauthenticated'.
Payment Required
Reserved for future use. Sometimes used by APIs to indicate quota limits or billing issues.
Forbidden
The client does not have access rights to the content.
Not Found
The server can not find the requested resource.
Method Not Allowed
The request method is known by the server but is not supported by the target resource.
Not Acceptable
The server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers.
Proxy Authentication Required
Similar to 401 Unauthorized, but indicates that the client needs to authenticate itself in order to use a proxy.
Request Timeout
The server timed out waiting for the request.
Conflict
The request could not be completed due to a conflict with the current state of the target resource.
Gone
The requested resource is no longer available and will not be available again.
Length Required
The server refuses to accept the request without a defined Content-Length.
Precondition Failed
The client has indicated preconditions in its headers which the server does not meet.
Content Too Large
Request entity is larger than limits defined by server.
URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
Unsupported Media Type
The media format of the requested data is not supported by the server.
Range Not Satisfiable
The range specified by the Range header field in the request cannot be fulfilled.
Expectation Failed
This response code means the expectation indicated by the Expect request header field cannot be met by the server.
I'm a teapot
The server refuses the attempt to brew coffee with a teapot.
Misdirected Request
The request was directed at a server that is not able to produce a response.
Unprocessable Content
The request was well-formed but was unable to be followed due to semantic errors.
Locked
The source or destination resource of a method is locked.
Failed Dependency
The method could not be performed on the resource because the requested action depended on another action and that action failed.
Too Early
Indicates that the server is unwilling to risk processing a request that might be replayed.
Upgrade Required
The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.
Precondition Required
The origin server requires the request to be conditional.
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
Request Header Fields Too Large
The server is unwilling to process the request because its header fields are too large.
Unavailable For Legal Reasons
The user requested a resource that cannot legally be provided.
5xx Server Error
The server failed to fulfill a valid request. This indicates that there is an issue with the server or its configuration.
Internal Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request.
Not Implemented
The server does not support the functionality required to fulfill the request.
Bad Gateway
The server, acting as a gateway or proxy, received an invalid response from the upstream server.
Service Unavailable
The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
Gateway Timeout
The server, acting as a gateway or proxy, did not receive a timely response from the upstream server.
HTTP Version Not Supported
The server does not support the HTTP protocol version that was used in the request.
Variant Also Negotiates
The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself.
Insufficient Storage
The server is unable to store the representation needed to complete the request.
Loop Detected
The server terminated an operation because it encountered an infinite loop while processing a request.
Not Extended
Further extensions to the request are required for the server to fulfill it.
Network Authentication Required
The client needs to authenticate to gain network access.