Tools / HTTP Status Codes

HTTP Status Code Reference

All 30 standard HTTP status codes with descriptions. Includes when and how to log them in your app.

100

Continue

Server received request headers. Client should proceed with sending the body.

101

Switching Protocols

Server is switching protocols as requested (e.g., WebSocket upgrade).

102

Processing

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

200

OK

The request succeeded. Standard response for successful GET, PUT, PATCH, DELETE.

201

Created

Request succeeded and a new resource was created. Return the new resource in the body.

logit: Log user.created or resource.created events.

202

Accepted

Request accepted for async processing. The processing is not yet complete.

204

No Content

Request succeeded but no body is returned. Common for DELETE and some PATCHes.

206

Partial Content

Partial content returned in response to a Range request.

301

Moved Permanently

Resource permanently moved to new URL. Browsers and bots cache this.

302

Found

Resource temporarily moved. Browsers redirect but don't cache.

304

Not Modified

Client's cached copy is current. No need to re-transfer.

307

Temporary Redirect

Temporary redirect that preserves the HTTP method.

308

Permanent Redirect

Permanent redirect that preserves the HTTP method (like 301 but method-safe).

400

Bad Request

Malformed request syntax, invalid parameters, or deceptive routing.

logit: Log to errors channel. Helps spot client bugs.

401

Unauthorized

Authentication required. The client must authenticate itself to get the response.

logit: Log auth.failed events. Track by user or IP.

403

Forbidden

Client is authenticated but not authorized to access this resource.

logit: Log permission.denied events with user context.

404

Not Found

Server cannot find the requested resource.

logit: Log high-frequency 404s — may indicate broken links or attack patterns.

405

Method Not Allowed

HTTP method is not supported for this endpoint.

408

Request Timeout

Server timed out waiting for the request.

logit: Log to errors channel with endpoint info.

409

Conflict

Request conflicts with the current state of the resource.

logit: Log for conflicts like duplicate signups.

410

Gone

Resource was permanently deleted. Unlike 404, it used to exist.

413

Payload Too Large

Request entity is larger than limits defined by server.

logit: Log with payload size. May indicate abuse.

422

Unprocessable Entity

Request is well-formed but contains semantic errors (validation failures).

logit: Log validation errors to improve UX.

429

Too Many Requests

Client has sent too many requests in a given time (rate limiting).

logit: Log rate limit hits — track by API key or IP.

500

Internal Server Error

Generic server error. Something went wrong on the server side.

logit: Always log 500s. Include stack trace and request context.

501

Not Implemented

Server does not support the functionality required to fulfill the request.

502

Bad Gateway

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

logit: Log with upstream service name. Indicates infrastructure issues.

503

Service Unavailable

Server is temporarily unavailable — overloaded or down for maintenance.

logit: Log service.down events. Trigger PagerDuty-style alerts.

504

Gateway Timeout

Server acting as a gateway did not receive a response in time.

logit: Log with timeout duration and upstream service.

507

Insufficient Storage

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

logit: Log storage.full events before hitting capacity.

Log HTTP errors automatically

Get alerted on 4xx and 5xx errors in real time. Free trial.

Start free