// reference

HTTP Status Codes

Every common HTTP status code from 1xx to 5xx, with its name and what it means — grouped by category.

HTTP status codes report the outcome of a request in three digits. This reference groups the ones you actually see — informational, success, redirects, client errors and server errors — each with a short, plain-English explanation.

1xx — Informational

CodeNameMeaning
100ContinueHeaders received; the client should send the request body.
101Switching ProtocolsThe server is switching protocols as the client asked (e.g. to WebSocket).
103Early HintsPreload hints sent before the final response.

2xx — Success

CodeNameMeaning
200OKStandard response for a successful request.
201CreatedThe request succeeded and a new resource was created.
202AcceptedThe request was accepted but processing isn't complete.
204No ContentSuccess, with no response body to return.
206Partial ContentPart of the resource is returned (range request).

3xx — Redirection

CodeNameMeaning
301Moved PermanentlyThe resource has permanently moved to a new URL.
302FoundThe resource is temporarily at a different URL.
303See OtherFetch the resource with a GET at another URL.
304Not ModifiedThe cached copy is still valid; no body is sent.
307Temporary RedirectTemporary redirect that preserves the HTTP method.
308Permanent RedirectPermanent redirect that preserves the HTTP method.

4xx — Client error

CodeNameMeaning
400Bad RequestThe server can't process a malformed request.
401UnauthorizedAuthentication is required or has failed.
403ForbiddenAuthenticated, but not allowed to access this resource.
404Not FoundThe resource doesn't exist.
405Method Not AllowedThe HTTP method isn't supported for this resource.
406Not AcceptableCan't produce a response matching the Accept headers.
408Request TimeoutThe client took too long to send the request.
409ConflictThe request conflicts with the current state of the resource.
410GoneThe resource has been permanently removed.
415Unsupported Media TypeThe request body format isn't supported.
422Unprocessable EntityWell-formed but semantically invalid (validation failed).
429Too Many RequestsThe client has sent too many requests (rate limited).

5xx — Server error

CodeNameMeaning
500Internal Server ErrorA generic server-side failure.
501Not ImplementedThe server doesn't support the requested functionality.
502Bad GatewayAn upstream server returned an invalid response.
503Service UnavailableThe server is temporarily overloaded or down.
504Gateway TimeoutAn upstream server didn't respond in time.
505HTTP Version Not SupportedThe HTTP version isn't supported.
// quick guide

Commonly confused, explained

Redirects: 301, 302, 303, 307 or 308?

Two questions decide it. Is the move permanent (301, 308) or temporary (302, 303, 307)? And must the request method stay the same? 307 and 308 keep the method and body, while 301 and 302 let some clients turn POST into GET. 303 explicitly asks for a GET, which suits the Post/Redirect/Get pattern.

401 or 403?

401 means the server does not know who you are: send valid credentials. 403 means it knows who you are and the answer is still no, so authenticating again will not help. Some APIs return 404 instead of 403 to avoid revealing that a resource exists.

Server errors: 500, 502, 503 or 504?

500 is an unexpected failure in the application. 502 means a gateway got an invalid response from the server behind it, 503 means the service says it cannot take requests right now (often with Retry-After), and 504 means the upstream did not answer in time. The code tells you which layer to investigate first.

Success codes for APIs: 200, 201, 202 or 204?

Use 200 when the response carries a result, 201 when a request created a new resource (with a Location header), 202 when work was accepted but is not finished, and 204 when it succeeded and there is nothing to return.

Bad request, validation or rate limit: 400, 422, 429?

400 means the request could not be understood. 422 means it was well-formed but failed validation. 429 means this client sent too many requests and should wait for Retry-After.

More developer references

Cheat sheets and lookups paired with 36+ free, private, browser-based tools.

Browse references →
Last updated: Oct 2, 2026