Continue
The server received the request headers and the client should proceed.
Quick lookup of HTTP status codes and their meanings
Continue
The server received the request headers and the client should proceed.
Switching Protocols
Upgrading to a different protocol (e.g. WebSocket).
Early Hints
Preloads Link headers before the final response.
💡 Great for pushing fonts / critical CSS.
OK
Standard success. The response body is meaningful.
💡 GET, HEAD — anything worked.
Created
Resource was created successfully.
💡 Return after POST /things.
Accepted
Accepted for processing but not completed yet.
💡 Async workflows.
No Content
Success, no body. Common for DELETE.
💡 Return for PUTs without a meaningful body.
Partial Content
Byte-range response (video streaming, resumable downloads).
Moved Permanently
Permanent redirect, cached by search engines.
💡 Use only when the move is definitively final.
Found
Temporary redirect — caches expire quickly.
See Other
Redirect with a GET, typical after POST/Redirect/GET.
Not Modified
Cached resource is still fresh — no body.
💡 Pair with ETag / If-None-Match.
Temporary Redirect
Same as 302 but preserves the HTTP method.
Permanent Redirect
Same as 301 but preserves the method.
Bad Request
Malformed request — JSON error, missing field, etc.
Unauthorized
Auth is required and either missing or invalid.
💡 Expect a WWW-Authenticate header.
Payment Required
Reserved historically; used by some APIs for quota / billing errors.
💡 We use this for insufficient credits.
Forbidden
Authenticated but not allowed.
💡 Use when identity is known but role lacks permission.
Not Found
Resource does not exist.
Method Not Allowed
The resource exists but the method is wrong.
💡 Include Allow: header.
Conflict
Update conflicts with current state (e.g. optimistic lock failure).
💡 Great for unique-constraint violations.
Gone
Resource was here but is permanently removed.
Payload Too Large
Request body exceeds server limits.
Unsupported Media Type
Content-Type isn't supported by the endpoint.
I'm a teapot
RFC 2324 April Fools joke. Surprisingly still widely deployed.
Unprocessable Entity
Syntactically OK but semantically invalid (validation errors).
Precondition Required
Server requires conditional headers to prevent lost updates.
Too Many Requests
Rate limited — include Retry-After.
Unavailable For Legal Reasons
Blocked due to a legal demand (Fahrenheit 451 reference).
Internal Server Error
Generic server-side error catch-all.
Not Implemented
The method is not supported at all on this server.
Bad Gateway
Upstream server returned an invalid response.
Service Unavailable
Server overloaded or down for maintenance.
💡 Use Retry-After for scheduled downtime.
Gateway Timeout
Upstream server didn't reply in time.
Insufficient Storage
Server has no room to store the representation.
Network Authentication Required
Captive portal — auth needed before network access.