Skip to content
Voyager

HTTP status codes reference

The status codes you'll actually run into when testing an API, grouped by what they mean for you as the caller rather than the full IANA registry.

2xx — Success

200 OK
The request succeeded; the response body has the result.
201 Created
A new resource was created — often with a Location header pointing at it.
204 No Content
The request succeeded and there’s intentionally no body (common on DELETE).

3xx — Redirection

301 Moved Permanently
The resource now lives at a different URL — update the client to use it directly.
304 Not Modified
The cached response is still valid; nothing new to fetch.

4xx — Client error

400 Bad Request
The request itself is malformed — check the body/params against what the API expects.
401 Unauthorized
Missing or invalid credentials — the request wasn’t authenticated at all.
403 Forbidden
Authenticated, but not allowed to do this — a permissions problem, not a credentials one.
404 Not Found
No resource exists at this URL — or the API is hiding that it does.
409 Conflict
The request conflicts with the resource’s current state (a duplicate, a stale update).
422 Unprocessable Entity
The request is well-formed but fails validation — a field is invalid, not missing.
429 Too Many Requests
Rate limited — check for a Retry-After header before retrying.

5xx — Server error

500 Internal Server Error
Something failed on the server’s side; the client did nothing identifiably wrong.
502 Bad Gateway
An upstream server the API depends on returned an invalid response.
503 Service Unavailable
The server is temporarily unable to handle the request (overloaded or down for maintenance).

A response viewer that color-codes the status by range makes a 4xx or 5xx hard to miss while you're scanning a list of sent requests.

Frequently asked questions

401 vs 403 — what’s the difference?

401 means the request isn’t authenticated at all (missing or invalid credentials). 403 means it is authenticated, but not allowed to perform this action.

Should I retry a 5xx response?

Often yes, with backoff — 5xx usually signals a transient server-side problem. A 4xx generally won’t succeed on retry until the request itself changes.