All utilities

HTTP status codes

Searchable reference of common HTTP response codes.

1xx Informational

100

Continue

The server has received the request headers and the client may continue sending the body. Used to avoid sending a large payload when the server might reject the request.

101

Switching Protocols

The server agrees to switch protocols (for example from HTTP to WebSocket) as requested by the Upgrade header.

102

Processing

The server has received and is processing the request, but no response body is available yet. Used for long-running operations.

2xx Success

200

OK

The request succeeded. The response body typically contains the requested resource or operation result.

201

Created

The request succeeded and a new resource was created. Often returned after POST with a Location header pointing to the new resource.

202

Accepted

The request was accepted for processing but is not completed yet. Common for async jobs and background tasks.

204

No Content

The request succeeded but there is no content to return. Typical for successful DELETE or PUT updates with an empty body.

3xx Redirection

301

Moved Permanently

The resource has permanently moved to a new URL. Clients and search engines should update bookmarks and links to the new address.

302

Found

The resource is temporarily available at a different URL. Future requests may still use the original URL.

303

See Other

After a POST, the client should fetch the result with GET at the URL given in the Location header.

304

Not Modified

The cached version is still valid. The server returns no body; the client should use its local cache.

307

Temporary Redirect

Temporary redirect that preserves the original HTTP method. Unlike older 302 handling, POST stays POST after redirect.

308

Permanent Redirect

Permanent redirect that preserves the original HTTP method. The client should use the new URL for future requests.

4xx Client error

400

Bad Request

The server cannot process the request due to invalid syntax, missing fields, or malformed JSON. Fix the request and retry.

401

Unauthorized

Authentication is required or has failed. The client should provide valid credentials, often via Authorization header or login.

403

Forbidden

The server understood the request but refuses to authorize it. The user may be authenticated but lacks permission.

404

Not Found

The requested URL or resource does not exist. Check the path, route, or ID — or the item may have been removed.

405

Method Not Allowed

The HTTP method is not allowed for this endpoint. For example, sending POST where only GET is supported.

408

Request Timeout

The server timed out waiting for the complete request. Often caused by slow uploads or idle connections.

409

Conflict

The request conflicts with the current state of the resource. Common when creating duplicates or violating version constraints.

410

Gone

The resource existed but has been permanently removed and will not be available again. Stronger than 404 for deleted content.

413

Payload Too Large

The request body is larger than the server is willing to process. Reduce payload size or use chunked upload.

414

URI Too Long

The request URL exceeds the server limit. Shorten query strings or move data into the request body.

415

Unsupported Media Type

The server does not support the request Content-Type. Send JSON, form data, or another format the API accepts.

418

I'm a teapot

Defined in RFC 2324 as an April Fools' joke: the server refuses to brew coffee because it is a teapot. Sometimes used in demos.

422

Unprocessable Entity

The request is syntactically valid but semantically incorrect. Typical for validation errors in REST APIs and web forms.

429

Too Many Requests

The client has sent too many requests in a given time window. Respect Retry-After and implement backoff or rate limiting.

5xx Server error

500

Internal Server Error

An unexpected error occurred on the server. Usually not the client's fault — check server logs and retry later.

501

Not Implemented

The server does not support the functionality required to fulfill the request. The method or feature is not implemented.

502

Bad Gateway

A gateway or proxy received an invalid response from an upstream server. Often seen behind load balancers when backends fail.

503

Service Unavailable

The server is temporarily unavailable, often due to maintenance or overload. Retry after a delay; check Retry-After if present.

504

Gateway Timeout

A gateway or proxy did not receive a timely response from the upstream server. Indicates backend slowness or network issues.

32 common HTTP status codes

About this tool

Browse HTTP status codes with this practical reference for API development and debugging. The HTTP status reference explains response classes and common edge cases from informational to server error codes.

Engineers use it to align backend behavior, frontend handling, and monitoring alerts around consistent semantics. Clear status code usage improves observability and client integration reliability.

Frequently asked questions

Why use an HTTP status reference during development?
It helps choose correct response codes for each outcome so clients can handle success and failure conditions predictably.
What is the difference between 4xx and 5xx?
4xx indicates client-side request issues, while 5xx indicates server-side failure or unavailable upstream behavior.
Can this help improve API monitoring?
Yes, understanding status semantics enables better alert thresholds and faster diagnosis of incident patterns.