Type a status code or browse categories to learn what each HTTP code means.
The server has received the request headers and the client should proceed to send the request body.
Large file uploads where the client checks if the server is willing to accept the request.
The server agrees to switch protocols as requested by the client via the Upgrade header.
Upgrading HTTP connections to WebSocket.
The server has received and is processing the request, but no response is available yet.
Long-running WebDAV operations to prevent client timeouts.
Used to return some response headers before the final HTTP message.
Preloading resources like CSS and fonts while the server prepares the main response.
The request has succeeded. The meaning depends on the HTTP method used.
Standard response for successful GET, PUT, or DELETE requests.
The request has been fulfilled and resulted in a new resource being created.
Successful POST requests that create a new resource (e.g., user registration).
The request has been accepted for processing, but the processing has not been completed.
Asynchronous operations like batch processing or queued tasks.
The server successfully processed the request and is not returning any content.
Successful DELETE requests or PUT updates where no body is needed.
The server is delivering only part of the resource due to a Range header sent by the client.
Video streaming, resumable file downloads, and pagination of large files.
Conveys information about multiple resources where multiple status codes might be appropriate.
WebDAV batch operations returning individual results for each sub-request.
The resource has been permanently moved to a new URI. Future requests should use the new URI.
Domain migrations, URL restructuring, and enforcing canonical URLs.
The resource resides temporarily under a different URI.
Temporary redirects during maintenance or A/B testing.
The response to the request can be found under another URI using a GET method.
Redirecting after a POST form submission (Post/Redirect/Get pattern).
The resource has not been modified since the version specified by the request headers.
Browser caching — serves cached content when ETag or Last-Modified hasn't changed.
The request should be repeated with another URI, but future requests should still use the original URI. Method and body are not changed.
HTTPS enforcement or temporary URL changes while preserving the HTTP method.
The resource has been permanently moved. Similar to 301, but the method and body must not be changed.
Permanent URL changes where POST/PUT methods must be preserved.
The server cannot process the request due to a client error (malformed syntax, invalid parameters).
Invalid JSON body, missing required fields, or malformed query parameters.
Authentication is required and has failed or has not been provided.
Missing or invalid authentication token, expired session.
The server understood the request but refuses to authorize it.
Insufficient permissions, IP blocking, or accessing restricted resources.
The server cannot find the requested resource.
Invalid URL, deleted resource, or accessing a non-existent API endpoint.
The request method is not supported for the requested resource.
Sending POST to a read-only endpoint, or DELETE to a resource that doesn't support it.
The server cannot produce a response matching the list of acceptable values defined in the request headers.
Content negotiation failure — the client requests a format the server cannot provide.
The server timed out waiting for the request.
Slow client connections, abandoned requests, or network issues.
The request could not be completed due to a conflict with the current state of the resource.
Concurrent editing conflicts, duplicate resource creation, or version mismatches.
The resource is no longer available and no forwarding address is known.
Permanently deleted API endpoints or deprecated resources.
The request entity is larger than limits defined by the server.
File upload exceeding maximum size, oversized JSON payload.
The URI provided was too long for the server to process.
Extremely long query strings, often from passing too much data via GET parameters.
The media format of the requested data is not supported by the server.
Sending XML to an endpoint expecting JSON, or wrong Content-Type header.
The server refuses the attempt to brew coffee with a teapot (RFC 2324).
Easter egg responses, API humor, or signaling intentional rejection.
The server understands the content type but was unable to process the contained instructions.
Validation errors — correct JSON format but invalid business logic (e.g., invalid email).
The user has sent too many requests in a given amount of time (rate limiting).
API rate limiting, brute force protection, or DDoS mitigation.
The resource is unavailable due to legal demands (censorship, court order).
Content blocked due to GDPR, DMCA takedowns, or government censorship.
The server encountered an unexpected condition that prevented it from fulfilling the request.
Unhandled exceptions, configuration errors, or database failures.
The server does not support the functionality required to fulfill the request.
API endpoints under development or unsupported HTTP methods.
The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
Reverse proxy issues, upstream server crashes, or load balancer misconfigurations.
The server is not ready to handle the request, often due to maintenance or overload.
Planned maintenance, server overload, or dependency failures.
The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server.
Slow upstream services, network latency, or long-running backend operations.