HTTP Status Codes
Complete reference for all 65 HTTP response status codes with RFC citations, examples, and implementation references.
1xx Informational
— Request received, continuing processContinue
HTTP 100 Continue indicates the server has received the request headers and the client should proceed to send the request body.
Switching Protocols
HTTP 101 Switching Protocols indicates the server is switching to a different protocol as requested by the client via the Upgrade header.
Early Hints
HTTP 103 Early Hints is an informational response that sends preliminary headers (typically Link preload directives) before the final response.
2xx Success
— Request successfully received and acceptedOK
HTTP 200 OK indicates the request has succeeded.
Created
HTTP 201 Created indicates the request has been fulfilled and a new resource has been created.
Accepted
HTTP 202 Accepted indicates the request has been accepted for processing, but the processing has not been completed.
Non-Authoritative Information
HTTP 203 Non-Authoritative Information means the request succeeded but the enclosed payload has been modified by a transforming proxy from the origin server's original 200 response.
No Content
HTTP 204 No Content indicates the server successfully processed the request but is not returning any content.
Reset Content
HTTP 205 Reset Content tells the client the server fulfilled the request and the user agent SHOULD reset the document view that sent it.
Partial Content
HTTP 206 Partial Content indicates the server is delivering only part of the resource due to a Range header sent by the client.
Multi-Status
HTTP 207 Multi-Status indicates the message body contains a DAV:multistatus XML document with multiple response codes for independent sub-operations.
Already Reported
HTTP 208 Already Reported appears inside a 207 Multi-Status response body to indicate that members of a DAV binding have already been enumerated in a preceding part of the response.
IM Used
HTTP 226 IM Used indicates the server fulfilled a GET request and the response is the result of instance-manipulations applied to the current instance.
3xx Redirection
— Further action needed to complete requestMultiple Choices
HTTP 300 Multiple Choices indicates the target resource has more than one representation, each with its own identifier.
Moved Permanently
HTTP 301 Moved Permanently indicates the target resource has been assigned a new permanent URI.
Found
HTTP 302 Found indicates the target resource resides temporarily under a different URI.
See Other
HTTP 303 See Other instructs the client to retrieve the result of the request at a different URI using GET, regardless of the original method.
Not Modified
HTTP 304 Not Modified indicates the resource has not been modified since the last request.
Temporary Redirect
HTTP 307 Temporary Redirect indicates the resource resides temporarily at a different URI, and the request method MUST NOT be changed.
Permanent Redirect
HTTP 308 Permanent Redirect indicates the target resource has been assigned a new permanent URI and the client MUST preserve the original request method.
4xx Client Error
— Request contains bad syntax or cannot be fulfilledBad Request
HTTP 400 Bad Request indicates the server cannot process the request due to something perceived as a client error.
Unauthorized
HTTP 401 Unauthorized indicates the request lacks valid authentication credentials for the target resource.
Payment Required
HTTP 402 Payment Required indicates that the request cannot be fulfilled until the client provides valid payment.
Forbidden
HTTP 403 Forbidden indicates the server understood the request but refuses to fulfill it.
Not Found
HTTP 404 Not Found indicates the server cannot find the requested resource.
Method Not Allowed
HTTP 405 Method Not Allowed indicates the request method is recognized by the server but is not supported by the target resource.
Not Acceptable
HTTP 406 Not Acceptable indicates the server cannot produce a response matching the proactive content negotiation headers sent by the client.
Proxy Authentication Required
HTTP 407 Proxy Authentication Required indicates the client must first authenticate with an intermediary proxy before the request can be forwarded.
Request Timeout
HTTP 408 Request Timeout indicates the server did not receive a complete request message within the time it was prepared to wait.
Conflict
HTTP 409 Conflict indicates the request could not be completed due to a conflict with the current state of the target resource.
Gone
HTTP 410 Gone indicates the target resource is no longer available at the origin server and this condition is likely to be permanent.
Length Required
HTTP 411 Length Required indicates the server refuses to accept the request without a defined Content-Length header.
Precondition Failed
HTTP 412 Precondition Failed indicates that one or more conditions given in the request header fields (If-Match, If-Unmodified-Since, If-None-Match) evaluated to false on the server.
Content Too Large
HTTP 413 Content Too Large indicates the server is refusing to process the request because the request content exceeds the size the server is willing or able to accept.
URI Too Long
HTTP 414 URI Too Long indicates the server refuses the request because the target URI is longer than the server is willing to interpret.
Unsupported Media Type
HTTP 415 Unsupported Media Type indicates the server refuses the request because the payload's format is not supported.
Range Not Satisfiable
HTTP 416 Range Not Satisfiable indicates the requested ranges cannot be satisfied for the selected resource.
Expectation Failed
HTTP 417 Expectation Failed indicates the server cannot meet the expectation given in the request's Expect header field.
I'm a Teapot
HTTP 418 I'm a Teapot indicates the server refuses to brew coffee because it is, permanently, a teapot.
Misdirected Request
HTTP 421 Misdirected Request indicates the server cannot produce a response for the combination of scheme and authority in the request URI.
Unprocessable Content
HTTP 422 Unprocessable Content indicates the server understands the content type and syntax but cannot process the contained instructions.
Locked
HTTP 423 Locked indicates the source or destination resource is currently locked.
Failed Dependency
HTTP 424 Failed Dependency indicates the method could not be performed because the requested action depended on another action and that action failed.
Too Early
HTTP 425 Too Early indicates the server is unwilling to risk processing a request that might be replayed.
Upgrade Required
HTTP 426 Upgrade Required indicates the server refuses to perform the request using the current protocol but might after the client upgrades.
Precondition Required
HTTP 428 Precondition Required means the server refuses to process the request because it lacks a conditional header (If-Match, If-None-Match, or If-Unmodified-Since).
Too Many Requests
HTTP 429 Too Many Requests indicates the user has sent too many requests in a given time period.
Request Header Fields Too Large
HTTP 431 Request Header Fields Too Large indicates the server refuses to process the request because its header fields are too large.
Unavailable For Legal Reasons
HTTP 451 Unavailable For Legal Reasons indicates the server is denying access to a resource as a consequence of a legal demand.
Loop Detected
HTTP 508 Loop Detected means the server terminated the operation because it encountered an infinite loop while processing a request with Depth: infinity.
5xx Server Error
— Server failed to fulfill a valid requestInternal Server Error
HTTP 500 Internal Server Error indicates the server encountered an unexpected condition that prevented it from fulfilling the request.
Not Implemented
HTTP 501 Not Implemented indicates the server does not support the functionality required to fulfill the request.
Bad Gateway
HTTP 502 Bad Gateway indicates the server, while acting as a gateway or proxy, received an invalid response from an inbound upstream server.
Service Unavailable
HTTP 503 Service Unavailable indicates the server is temporarily unable to handle the request due to overload or scheduled maintenance.
Gateway Timeout
HTTP 504 Gateway Timeout indicates the server, acting as a gateway or proxy, did not receive a timely response from the upstream server needed to complete the request.
HTTP Version Not Supported
HTTP 505 HTTP Version Not Supported indicates the server does not support the major version of HTTP used in the request.
Variant Also Negotiates
HTTP 506 Variant Also Negotiates means the server's chosen variant is itself configured to engage in transparent content negotiation, creating an infinite negotiation loop.
Insufficient Storage
HTTP 507 Insufficient Storage indicates the server cannot store the representation needed to complete the request.
Not Extended
HTTP 510 Not Extended indicates the request lacks required extension declarations to access the resource.
Network Authentication Required
HTTP 511 Network Authentication Required indicates the client needs to authenticate to gain network access.