HTTP Status Codes

Searchable reference of all standard HTTP status codes with descriptions.

100 Continue Server received request headers, client should proceed to send body.
101 Switching Protocols Server is switching protocols as requested by the client (e.g. WebSocket upgrade).
102 Processing Server received and is processing the request, but no response is available yet (WebDAV).
103 Early Hints Used to return some response headers before final response, typically for preloading resources.
200 OK Request succeeded. Standard response for successful HTTP requests.
201 Created Request succeeded and a new resource was created. Typically used after POST/PUT.
202 Accepted Request accepted for processing, but processing is not complete (async operations).
203 Non-Authoritative Information Response from a transforming proxy; metadata may differ from the origin server.
204 No Content Request succeeded but there is no content to send back. Common for DELETE.
205 Reset Content Request succeeded; client should reset the document view.
206 Partial Content Server is delivering only part of the resource due to a Range header.
207 Multi-Status Conveys info about multiple resources (WebDAV).
208 Already Reported Members of a DAV binding have already been enumerated (WebDAV).
226 IM Used Server has fulfilled a GET request using instance-manipulations.
300 Multiple Choices Multiple options for the resource. Client should choose one.
301 Moved Permanently Resource has been permanently moved to a new URL. Use the new URL going forward.
302 Found Resource temporarily at a different URL. Continue using the original URL.
303 See Other Response can be found at a different URL using GET. Used after POST to redirect to result.
304 Not Modified Resource has not been modified since last request. Use cached version.
307 Temporary Redirect Like 302, but the method and body must not change when reissuing the request.
308 Permanent Redirect Like 301, but the method and body must not change when reissuing the request.
400 Bad Request Server cannot process the request due to malformed syntax or invalid parameters.
401 Unauthorized Authentication required. Client must provide valid credentials.
402 Payment Required Reserved for future use. Sometimes used for paywall/API billing.
403 Forbidden Server understood the request but refuses to authorize it. Unlike 401, re-authenticating won't help.
404 Not Found Requested resource could not be found on the server.
405 Method Not Allowed HTTP method is not allowed for this resource (e.g. POST on a GET-only endpoint).
406 Not Acceptable Server cannot produce a response matching the Accept headers sent by the client.
407 Proxy Authentication Required Client must authenticate with the proxy before the request can proceed.
408 Request Timeout Server timed out waiting for the request from the client.
409 Conflict Request conflicts with the current state of the resource (e.g. version conflict).
410 Gone Resource is no longer available and will not be available again. Permanent 404.
411 Length Required Server requires a Content-Length header in the request.
412 Precondition Failed One or more conditions in the request headers evaluated to false.
413 Content Too Large Request body is larger than the server is willing to process.
414 URI Too Long Request URI is longer than the server is willing to interpret.
415 Unsupported Media Type Server does not support the media type of the request body.
416 Range Not Satisfiable Range specified in the Range header cannot be fulfilled.
417 Expectation Failed Server cannot meet the requirements of the Expect header.
418 I'm a Teapot Server refuses to brew coffee because it is a teapot (RFC 2324). An easter egg.
421 Misdirected Request Request was directed at a server that cannot produce a response.
422 Unprocessable Content Request is well-formed but contains semantic errors (commonly used in API validation).
423 Locked Resource is locked (WebDAV).
425 Too Early Server is unwilling to risk processing a request that might be replayed.
426 Upgrade Required Client should switch to a different protocol (e.g. TLS).
428 Precondition Required Origin server requires the request to be conditional (If-Match, etc.).
429 Too Many Requests Client has sent too many requests in a given time period (rate limiting).
431 Request Header Fields Too Large Server refuses the request because headers are too large.
451 Unavailable For Legal Reasons Resource unavailable due to legal demands (e.g. censorship, DMCA).
500 Internal Server Error Generic server error. Something went wrong on the server side.
501 Not Implemented Server does not support the functionality required to fulfill the request.
502 Bad Gateway Server acting as a gateway received an invalid response from the upstream server.
503 Service Unavailable Server is temporarily unavailable (overloaded or down for maintenance).
504 Gateway Timeout Server acting as a gateway did not receive a timely response from the upstream server.
505 HTTP Version Not Supported Server does not support the HTTP version used in the request.
506 Variant Also Negotiates Transparent content negotiation results in a circular reference.
507 Insufficient Storage Server cannot store the representation needed to complete the request (WebDAV).
508 Loop Detected Server detected an infinite loop while processing the request (WebDAV).
510 Not Extended Further extensions to the request are required for the server to fulfill it.
511 Network Authentication Required Client needs to authenticate to gain network access (captive portal).
curl "swissarmydev.tools/http?code=404"