Skip to content
BEAD

HTTP Status Code Reference

Searchable reference of every HTTP status code with descriptions and category.

1xx Informational

100
Continue
Initial request received; client should proceed with the request body.
101
Switching Protocols
Server is switching protocols as requested (e.g. WebSocket upgrade).
102
Processing
Server has accepted the request but hasn't finished processing it.
103
Early Hints
Preload hints sent before the final response — useful for `<link rel=preload>`.

2xx Success

200
OK
Standard success response. The body contains the resource or operation result.
201
Created
Resource was created. The Location header usually points to it.
202
Accepted
Request accepted for processing but not yet completed.
203
Non-Authoritative Information
Returned data was modified by a transforming proxy.
204
No Content
Success, but there is no body to return.
205
Reset Content
Tell the client to reset the document view (e.g. clear a form).
206
Partial Content
Partial response for a Range request (resumable downloads, video seek).
207
Multi-Status
WebDAV — body contains XML with multiple status results.
208
Already Reported
WebDAV — bindings already enumerated in a previous response.
226
IM Used
Server fulfilled the GET using one or more instance manipulations.

3xx Redirection

300
Multiple Choices
Multiple options for the resource — client must choose.
301
Moved Permanently
Resource has a new permanent URI (in Location). Use for SEO-safe redirects.
302
Found
Temporary redirect. Some clients change POST to GET — prefer 307 if that's bad.
303
See Other
Redirect to a result resource, always with GET.
304
Not Modified
Cached copy is still valid — no body returned.
307
Temporary Redirect
Redirect that preserves the original HTTP method and body.
308
Permanent Redirect
Like 301 but preserves the method and body.

4xx Client Error

400
Bad Request
Malformed request — syntax, missing required fields, invalid framing.
401
Unauthorized
Authentication is required or has failed. (Confusingly named — really 'unauthenticated'.)
402
Payment Required
Reserved for future use; some APIs use it for billing-related errors.
403
Forbidden
Server understood the request but refuses to authorize it.
404
Not Found
Resource doesn't exist (or you don't have permission to know that it does).
405
Method Not Allowed
The HTTP method isn't supported on this resource. Allow header lists valid ones.
406
Not Acceptable
Server can't produce a response matching the client's Accept headers.
407
Proxy Authentication Required
Client must authenticate with the proxy.
408
Request Timeout
Client took too long to send the request.
409
Conflict
Request conflicts with current state (e.g. version mismatch on update).
410
Gone
Resource intentionally removed and won't return. Stronger than 404 for SEO.
411
Length Required
Server requires Content-Length header.
412
Precondition Failed
A precondition header (If-Match, If-Unmodified-Since) wasn't met.
413
Payload Too Large
Request body exceeds the server's allowed size.
414
URI Too Long
Request URI is longer than the server is willing to interpret.
415
Unsupported Media Type
Content-Type isn't accepted by the endpoint.
416
Range Not Satisfiable
Requested Range can't be served.
417
Expectation Failed
Expect request-header field can't be met.
418
I'm a teapot
RFC 2324 joke status. Some APIs use it deliberately.
422
Unprocessable Entity
Request was well-formed but contains semantic errors (validation failures).
423
Locked
WebDAV — the resource is locked.
424
Failed Dependency
WebDAV — request failed because a previous one did.
425
Too Early
Server is unwilling to risk processing a replay-able request.
426
Upgrade Required
Client must switch to a different protocol (e.g. TLS).
428
Precondition Required
Server requires the request to be conditional.
429
Too Many Requests
Rate-limited. Retry-After tells you when to try again.
431
Request Header Fields Too Large
Headers (collectively or individually) are too big.
451
Unavailable For Legal Reasons
Resource blocked by legal demand. Named for Fahrenheit 451.

5xx Server Error

500
Internal Server Error
Generic 'something broke on the server' — check logs.
501
Not Implemented
Server doesn't recognize the request method.
502
Bad Gateway
Upstream server returned an invalid response. Usually a proxy issue.
503
Service Unavailable
Server overloaded or down for maintenance. Retry-After may say when.
504
Gateway Timeout
Upstream server didn't respond in time.
505
HTTP Version Not Supported
Server doesn't support the HTTP protocol version used.
506
Variant Also Negotiates
Transparent content negotiation has a misconfigured loop.
507
Insufficient Storage
WebDAV — server can't store the representation.
508
Loop Detected
WebDAV — server detected an infinite loop processing the request.
510
Not Extended
Further extensions to the request are required.
511
Network Authentication Required
Captive portal — sign in to gain network access.

You might also like