HTTP Status Codes
A developer-friendly reference for every HTTP status code. Clear explanations, real-world examples, and practical API guidance.
1xx Informational
(4)Interim responses — the server is still working on it.
Keep going — the server has seen your headers and isn't stopping you.
The server agreed to change the rules of the conversation.
"Still working on it" — a heartbeat that never became standard.
A heads-up before the real response — start preloading now.
2xx Successful
(10)The request was received, understood, and accepted.
Everything went fine. Here's what you asked for.
Done — something new exists in the world because of your request.
Got it, working on it — but don't wait up.
Success, but this data came from a middleman, not the source.
Success. Nothing to add.
Done — now clear the form.
Here's the chunk you asked for.
Here are multiple results for your multiple things.
Already told you about this one.
Here's a delta, not the full thing.
3xx Redirection
(7)Further action needed — follow the redirect.
There's more than one version — you pick.
This URL is gone for good — update your bookmarks.
Over here for now — but this might change.
The result is over there — go GET it.
Nothing changed — use what you've got cached.
Same as 302, but your POST stays a POST.
Permanently moved — and your POST stays a POST.
4xx Client Error
(29)Something went wrong on your end.
The server couldn't even parse what you sent.
Who are you? Please identify yourself.
Reserved for a future where HTTP knows about money. We're not there yet.
We know who you are. The answer is still no.
Nothing here. Never was, or isn't anymore.
That verb doesn't work here.
The server can't serve the format you're asking for.
The proxy in the middle needs you to log in first.
You took too long. The server gave up waiting.
Your request collides with the current state of things.
It existed. It doesn't anymore. This is final.
Send a Content-Length header — the server won't guess.
The conditions you set weren't met — request aborted.
Your payload is bigger than we're willing to accept.
Your URL is longer than the server is willing to parse.
Wrong content type — the server can't process what you sent.
The range you requested doesn't fit within the resource.
The server can't meet the expectation you declared.
Brewing coffee is outside the scope of this service.
You sent this to the right address, but the wrong server.
The request arrived fine. The data inside it didn't make sense.
This resource is locked. Come back later.
A previous step in the batch failed, so this one can't proceed.
Don't replay this — it might not be safe.
This protocol version won't cut it — please upgrade.
You need to send a precondition header — we won't update blindly.
Slow down — you're being rate limited.
Your headers are too heavy. Trim them down.
This content can't be shown here, by law.
5xx Server Error
(11)Something went wrong on the server.
Something broke on our end. Not your fault.
The server doesn't know how to handle this method.
Your server's middleman got a garbage response from upstream.
The server is down or overwhelmed. Try again later.
Your proxy waited too long for the upstream to respond.
The HTTP version in your request isn't supported here.
The server has a content negotiation loop. It's the server's problem.
The server ran out of space to complete your request.
Infinite loop detected while processing your request.
The server needs an HTTP extension you didn't include.
You need to log into the network before you can browse.