HTTP Status Codes

Search any HTTP status code by number, name or description and understand what each response means, from 1xx informational to 5xx server errors.

  • 100Continue

    The server received the headers and the client may send the request body (used with Expect: 100-continue).

  • 101Switching Protocols

    The server agreed to switch protocols, as in an HTTP to WebSocket upgrade.

  • 103Early Hints

    Sends early Link headers so the browser can preload resources while the final response is prepared.

  • 200OK

    The request succeeded. The body's meaning depends on the method (GET returns the resource, POST the result of the action).

  • 201Created

    A new resource was created. The Location header should point to it.

  • 202Accepted

    The request was accepted for asynchronous processing but is not complete yet.

  • 204No Content

    Success with no response body. Common for DELETE and PUT.

  • 206Partial Content

    Response to a request with a Range header; used for resumable downloads and streaming.

  • 301Moved Permanently

    The resource moved to a new URL permanently. Search engines transfer ranking signals to the new URL.

  • 302Found

    Temporary redirect. Browsers may change the method to GET.

  • 303See Other

    Redirects to another resource via GET, typically after a POST (Post/Redirect/Get pattern).

  • 304Not Modified

    The resource has not changed since the cached version (ETag/If-None-Match or Last-Modified).

  • 307Temporary Redirect

    Temporary redirect that preserves the request method and body.

  • 308Permanent Redirect

    Permanent redirect that preserves the request method and body.

  • 400Bad Request

    The request is malformed: invalid JSON, missing parameters or bad syntax.

  • 401Unauthorized

    Authentication is missing or invalid. The response should include WWW-Authenticate.

  • 402Payment Required

    Reserved for future use; some APIs use it to signal quota or pending payment.

  • 403Forbidden

    The client is authenticated but not allowed to access the resource.

  • 404Not Found

    The resource does not exist or the server prefers not to reveal it.

  • 405Method Not Allowed

    The HTTP method is not supported by the resource. The Allow header lists valid methods.

  • 406Not Acceptable

    The server cannot produce a response matching the client's Accept headers.

  • 408Request Timeout

    The server closed the connection because the client took too long to send the request.

  • 409Conflict

    Conflict with the resource's current state, such as a concurrent edit or a duplicate record.

  • 410Gone

    The resource was permanently removed and has no new address.

  • 411Length Required

    The server requires the Content-Length header.

  • 412Precondition Failed

    A precondition (If-Match, If-Unmodified-Since) failed; used for optimistic concurrency control.

  • 413Content Too Large

    The request body exceeds the server's limit.

  • 414URI Too Long

    The URL is longer than the server is willing to process.

  • 415Unsupported Media Type

    The submitted Content-Type is not supported by the endpoint.

  • 416Range Not Satisfiable

    The range in the Range header falls outside the resource size.

  • 418I'm a teapot

    Joke code from RFC 2324; sometimes used to reject automated requests.

  • 422Unprocessable Content

    The syntax is correct, but the data fails semantic validation.

  • 425Too Early

    The server is unwilling to process a request that might be replayed (TLS early data).

  • 426Upgrade Required

    The client must switch to another protocol, given in the Upgrade header.

  • 428Precondition Required

    The server requires conditional requests to prevent lost updates.

  • 429Too Many Requests

    Rate limit exceeded. Retry-After indicates when to try again.

  • 431Request Header Fields Too Large

    The headers are too large, often because of too many cookies.

  • 451Unavailable For Legal Reasons

    The resource was blocked for legal reasons.

  • 500Internal Server Error

    Generic, unexpected server error. Check the application logs.

  • 501Not Implemented

    The server does not support the functionality required to fulfill the request.

  • 502Bad Gateway

    A proxy or gateway received an invalid response from the origin server.

  • 503Service Unavailable

    The server is overloaded or under maintenance. Retry-After may indicate when it will be back.

  • 504Gateway Timeout

    A proxy or gateway did not get a response from the origin server in time.

  • 505HTTP Version Not Supported

    The HTTP version used in the request is not supported.

  • 507Insufficient Storage

    The server cannot store the representation needed to complete the request (WebDAV).

  • 508Loop Detected

    The server detected an infinite loop while processing the request (WebDAV).

  • 511Network Authentication Required

    Authentication is needed to gain network access, as with Wi-Fi captive portals.

Use via API

Looks up an HTTP status code or lists every catalogued one.

GEThttps://enhanced.dev.br/api/v1/web/http-status
Query string parameters
QueryTypeDescription
code100–599Code to look up; omit it to get the full list.
lang"pt" | "en"Description language. Default: "pt".

Request example

curl "https://enhanced.dev.br/api/v1/web/http-status?code=429"

Response

{
  "ok": true,
  "data": {
    "code": 429,
    "name": "Too Many Requests",
    "description": "Limite de taxa (rate limit) excedido. Retry-After indica quando tentar novamente."
  },
  "meta": {
    "version": "v1"
  }
}
  • Errors return { ok: false, error: { code, message } } with an HTTP 4xx/5xx status.
  • Free, no API key required. Limited to 120 requests per minute per IP.
  • CORS enabled: call it straight from the browser on any domain.

How to use

  1. Type the code, the name or a keyword (e.g. timeout, redirect).
  2. Filter by class: 1xx, 2xx, 3xx, 4xx or 5xx.
  3. Read the description to understand when the status should be used.

Use cases

  • Choosing the right status when designing REST API responses.
  • Interpreting errors in server, CDN and load balancer logs.
  • Setting up SEO-friendly redirects (301 vs 302 vs 308).

Technical concepts

Status classes

The first digit defines the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error (the request must change) and 5xx server error (the request may be fine, but the server failed).

401 versus 403

401 Unauthorized means authentication is missing or invalid: the client must authenticate. 403 Forbidden means the identity is known but lacks permission. Re-authenticating does not fix a 403.

Redirects and SEO

301 and 308 are permanent and pass ranking signals to the new URL; 302 and 307 are temporary. 307 and 308 guarantee the method and body are preserved, unlike 301 and 302 in older browsers.

Frequently asked questions

When should I use 400 and when 422?

400 means a malformed request (invalid syntax, broken JSON). 422 means the syntax is fine but the data fails validation rules.

Which status should I return for rate limiting?

429 Too Many Requests, ideally with a Retry-After header saying when to try again.

502, 503 and 504: what is the difference?

502 means an invalid response from the origin server, 503 means the service is unavailable or overloaded and 504 means the proxy timed out waiting for the origin.

Related tools