HTTP Status Codes

Complete reference for HTTP response status codes

Showing 50 of 50 status codes
100
Continue
1xx

The client should continue with the request. Used to tell the client that the initial part of the request has been received.

Use case: Server acknowledges partial request; client should proceed.
101
Switching Protocols
1xx

Server is switching to a different protocol as requested by the client.

Use case: WebSocket handshake upgrade from HTTP.
102
Processing
1xx

Server has received and is processing the request, but no response is available yet.

Use case: Preventing timeout on long-running WebDAV requests.
103
Early Hints
1xx

Used to return some response headers before final HTTP message.

Use case: Preloading resources before the full response is ready.
200
OK
2xx

The request was successful. The meaning depends on the HTTP method used.

Use case: Standard response for successful GET, POST, PUT, DELETE.
201
Created
2xx

The request succeeded and a new resource was created as a result.

Use case: POST request that successfully created a new user or record.
202
Accepted
2xx

Request received but not yet acted upon. Processing happens asynchronously.

Use case: Triggering a background job or async task via API.
203
Non-Authoritative Information
2xx

Returned metadata is not from the origin server but from a local or third-party copy.

Use case: Proxy servers transforming or caching responses.
204
No Content
2xx

Request succeeded but there is no content to send in the response.

Use case: DELETE or PUT that does not need to return data.
206
Partial Content
2xx

The server is delivering only part of the resource due to a range header sent by the client.

Use case: Video streaming or resumable file downloads.
207
Multi-Status
2xx

Multiple status codes for multiple sub-requests in WebDAV.

Use case: WebDAV PROPFIND responses with multiple resource statuses.
208
Already Reported
2xx

Members of a DAV binding already enumerated in a previous reply.

Use case: WebDAV responses avoiding repetition of members.
226
IM Used
2xx

Server fulfilled a GET request and the response is a result of instance manipulations.

Use case: Delta encoding in HTTP responses.
301
Moved Permanently
3xx

The URL of the requested resource has changed permanently. The new URL is given in the response.

Use case: SEO-friendly permanent redirect from old URL to new URL.
302
Found
3xx

The URL of the requested resource has changed temporarily. Further changes may occur.

Use case: Temporary redirect while a page is being updated.
303
See Other
3xx

Server sends this response to direct the client to get the requested resource at another URI with a GET request.

Use case: Redirecting after a POST form submission.
304
Not Modified
3xx

Used for caching. Tells the client that the response has not changed, so it can use its cached version.

Use case: Browser cache validation with ETag or Last-Modified headers.
307
Temporary Redirect
3xx

Server sends this response to direct the client to get the requested resource at another URI with the same method.

Use case: Temporary redirect preserving the original HTTP method.
308
Permanent Redirect
3xx

Permanent redirect that preserves the HTTP method used in the original request.

Use case: Permanent API endpoint migration preserving POST method.
400
Bad Request
4xx

Server cannot process the request due to malformed syntax or invalid request message framing.

Use case: Invalid JSON body or missing required query parameters.
401
Unauthorized
4xx

Authentication is required and has not been provided or is invalid.

Use case: API request without a valid token or session.
402
Payment Required
4xx

Reserved for future use; sometimes used for digital payment requirements.

Use case: Paywall or subscription required to access content.
403
Forbidden
4xx

Client does not have access rights to the content. Unlike 401, the identity is known.

Use case: Authenticated user trying to access admin-only resource.
404
Not Found
4xx

The server cannot find the requested resource. The URL is not recognized.

Use case: Accessing a page or resource that does not exist.
405
Method Not Allowed
4xx

The request method is known but is not supported for the target resource.

Use case: Sending DELETE to an endpoint that only supports GET.
406
Not Acceptable
4xx

Server cannot produce a response matching the list of acceptable values defined in the request headers.

Use case: API returning only JSON but client asks for XML.
408
Request Timeout
4xx

Server did not receive a complete request message within the time it was prepared to wait.

Use case: Client takes too long to send the request body.
409
Conflict
4xx

The request conflicts with the current state of the server.

Use case: Trying to create a username that already exists.
410
Gone
4xx

The target resource is no longer available and will not be available again.

Use case: Permanently deleted content with no forwarding address.
411
Length Required
4xx

Server refused the request because the Content-Length header field is missing.

Use case: POST request without Content-Length header.
413
Payload Too Large
4xx

Server refuses the request because the payload is larger than the server is willing to process.

Use case: File upload exceeding the maximum allowed size.
414
URI Too Long
4xx

The URI requested by the client is longer than the server is willing to interpret.

Use case: Extremely long query strings in GET requests.
415
Unsupported Media Type
4xx

Server refuses to accept the request because the payload format is in an unsupported format.

Use case: Sending XML to an API endpoint that only accepts JSON.
422
Unprocessable Entity
4xx

Server understands the content type but is unable to process the instructions.

Use case: Form data with valid JSON but invalid field values.
423
Locked
4xx

The resource being accessed is locked.

Use case: WebDAV resource locked by another user.
425
Too Early
4xx

Indicates the server is unwilling to risk processing a request that might be replayed.

Use case: Early data in TLS 1.3 connections.
429
Too Many Requests
4xx

User has sent too many requests in a given amount of time (rate limiting).

Use case: API rate limit exceeded; client should back off.
431
Request Header Fields Too Large
4xx

Server refuses to process the request because the header fields are too large.

Use case: Cookies or custom headers exceeding server limits.
451
Unavailable For Legal Reasons
4xx

Server is denying access to a resource due to legal demands.

Use case: Content blocked due to DMCA takedown or legal order.
500
Internal Server Error
5xx

Server has encountered a situation it does not know how to handle.

Use case: Unhandled exception in server-side code.
501
Not Implemented
5xx

Request method is not supported by the server and cannot be handled.

Use case: Server does not support PATCH method on a resource.
502
Bad Gateway
5xx

Server, acting as a gateway, got an invalid response from upstream server.

Use case: Nginx receiving a bad response from the backend app server.
503
Service Unavailable
5xx

Server is not ready to handle the request. Common causes are down for maintenance or overloaded.

Use case: Server under maintenance or experiencing high traffic.
504
Gateway Timeout
5xx

Server acting as a gateway did not get a timely response from the upstream server.

Use case: Upstream API taking too long to respond.
505
HTTP Version Not Supported
5xx

HTTP version used in the request is not supported by the server.

Use case: Client using HTTP/3 with a server that only supports HTTP/1.1.
506
Variant Also Negotiates
5xx

Server has an internal configuration error in transparent content negotiation.

Use case: Misconfigured content negotiation on the server.
507
Insufficient Storage
5xx

Server is unable to store the representation needed to complete the request.

Use case: WebDAV server running out of storage space.
508
Loop Detected
5xx

Server detected an infinite loop while processing the request.

Use case: WebDAV request creating circular references.
510
Not Extended
5xx

Further extensions to the request are required for the server to fulfil it.

Use case: Client needs to send an HTTP Extension Framework request.
511
Network Authentication Required
5xx

Client needs to authenticate to gain network access.

Use case: Captive portal requiring login before accessing the internet.