HTTP status codes
Every status code an API can send you, explained in plain English: what it means, why it happens and how to fix it. The first digit tells you who has to act.
Most common
1xx Informational
Interim responses: the request was received and processing continues.
100 Continue
The server got the request headers and the client can send the body.
101 Switching Protocols
The server is switching to the protocol the client asked for, usually WebSocket.
102 Processing
The server accepted the request and is still working on it (WebDAV).
103 Early Hints
The server sends Link headers early so the browser can start preloading.
2xx Success
The request was received, understood and accepted.
200 OK
The request succeeded.
201 Created
The request succeeded and created a new resource.
202 Accepted
The request was accepted for processing, but isn't finished.
203 Non-Authoritative Information
Success, but a proxy changed the response from the origin server's.
204 No Content
The request succeeded and there's no body to return.
205 Reset Content
Success; the client should reset the form or view that sent the request.
206 Partial Content
The server is sending only the byte range the client asked for.
207 Multi-Status
The body contains separate status codes for several operations (WebDAV).
208 Already Reported
Members of this collection were already listed earlier in the response (WebDAV).
226 IM Used
The response is a delta (instance manipulation) of the current resource.
3xx Redirection
Further action (usually following a new URL) is needed.
300 Multiple Choices
The resource has several representations and the client should pick one.
301 Moved Permanently
The resource has a new permanent URL.
302 Found
The resource is temporarily at a different URL.
303 See Other
Get the result from another URL with GET.
304 Not Modified
The cached copy is still valid; nothing new to download.
307 Temporary Redirect
Temporarily at another URL; repeat the same request (same method and body) there.
308 Permanent Redirect
Permanently at another URL; repeat the same request there.
4xx Client error
Something is wrong with the request: fix it before retrying.
400 Bad Request
The server can't process the request because something in it is malformed.
401 Unauthorized
Authentication is missing or invalid.
402 Payment Required
Payment is needed before the request can succeed.
403 Forbidden
The server knows who you are, but you're not allowed to do this.
404 Not Found
The server can't find anything at this URL.
405 Method Not Allowed
The endpoint exists, but doesn't support this HTTP method.
406 Not Acceptable
The server can't return the format the client asked for.
407 Proxy Authentication Required
A proxy between you and the server needs you to authenticate.
408 Request Timeout
The server gave up waiting for the client to finish sending the request.
409 Conflict
The request conflicts with the resource's current state.
410 Gone
The resource was deliberately removed and won't be coming back.
411 Length Required
The server needs a Content-Length header.
412 Precondition Failed
A condition in the request headers wasn't met.
413 Content Too Large
The request body is bigger than the server allows.
414 URI Too Long
The URL is longer than the server will process.
415 Unsupported Media Type
The server doesn't accept the body's format.
416 Range Not Satisfiable
The requested byte range is outside the file.
417 Expectation Failed
The server can't meet the Expect header's requirement.
418 I'm a teapot
The server refuses to brew coffee because it's a teapot.
421 Misdirected Request
The request reached a server that can't answer for this domain.
422 Unprocessable Content
The request is well-formed, but its content fails validation.
423 Locked
The resource is locked (WebDAV).
424 Failed Dependency
The request failed because a request it depended on failed (WebDAV).
425 Too Early
The server won't process a request that might be replayed.
426 Upgrade Required
The server needs the client to switch to a different protocol.
428 Precondition Required
The server requires a conditional request.
429 Too Many Requests
You've sent too many requests in a given time: you're being rate-limited.
431 Request Header Fields Too Large
The request's headers are too big.
451 Unavailable For Legal Reasons
The resource is blocked for legal reasons.
499 Client Closed Request(nginx)
The client closed the connection before the server responded (nginx).
5xx Server error
The server failed to handle a valid request.
500 Internal Server Error
The server hit an unexpected error and couldn't complete the request.
501 Not Implemented
The server doesn't support the functionality needed for this request.
502 Bad Gateway
A proxy or gateway got an invalid response from the server behind it.
503 Service Unavailable
The server can't handle the request right now: overloaded or down for maintenance.
504 Gateway Timeout
A proxy or gateway didn't get a response from the server in time.
505 HTTP Version Not Supported
The server doesn't support the HTTP version used.
506 Variant Also Negotiates
The server's content negotiation is misconfigured.
507 Insufficient Storage
The server has no space to store what the request needs (WebDAV).
508 Loop Detected
The server found an infinite loop while processing the request (WebDAV).
510 Not Extended
The request needs further extensions to be fulfilled.
511 Network Authentication Required
You need to log in to the network (e.g. Wi-Fi captive portal) first.
520 Web Server Returned an Unknown Error(Cloudflare)
Cloudflare got an empty, unknown or unexpected response from the origin server.
521 Web Server Is Down(Cloudflare)
Cloudflare couldn't connect to the origin server: it refused the connection.
522 Connection Timed Out(Cloudflare)
Cloudflare's connection to the origin server timed out.
523 Origin Is Unreachable(Cloudflare)
Cloudflare can't reach the origin server at all.
524 A Timeout Occurred(Cloudflare)
Cloudflare connected to the origin, but it didn't respond within 100 seconds.