Tools / HTTP Status Codes
All 30 standard HTTP status codes with descriptions. Includes when and how to log them in your app.
Continue
Server received request headers. Client should proceed with sending the body.
Switching Protocols
Server is switching protocols as requested (e.g., WebSocket upgrade).
Processing
Server has received and is processing the request but no response is available yet.
OK
The request succeeded. Standard response for successful GET, PUT, PATCH, DELETE.
Created
Request succeeded and a new resource was created. Return the new resource in the body.
logit: Log user.created or resource.created events.
Accepted
Request accepted for async processing. The processing is not yet complete.
No Content
Request succeeded but no body is returned. Common for DELETE and some PATCHes.
Partial Content
Partial content returned in response to a Range request.
Moved Permanently
Resource permanently moved to new URL. Browsers and bots cache this.
Found
Resource temporarily moved. Browsers redirect but don't cache.
Not Modified
Client's cached copy is current. No need to re-transfer.
Temporary Redirect
Temporary redirect that preserves the HTTP method.
Permanent Redirect
Permanent redirect that preserves the HTTP method (like 301 but method-safe).
Bad Request
Malformed request syntax, invalid parameters, or deceptive routing.
logit: Log to errors channel. Helps spot client bugs.
Unauthorized
Authentication required. The client must authenticate itself to get the response.
logit: Log auth.failed events. Track by user or IP.
Forbidden
Client is authenticated but not authorized to access this resource.
logit: Log permission.denied events with user context.
Not Found
Server cannot find the requested resource.
logit: Log high-frequency 404s — may indicate broken links or attack patterns.
Method Not Allowed
HTTP method is not supported for this endpoint.
Request Timeout
Server timed out waiting for the request.
logit: Log to errors channel with endpoint info.
Conflict
Request conflicts with the current state of the resource.
logit: Log for conflicts like duplicate signups.
Gone
Resource was permanently deleted. Unlike 404, it used to exist.
Payload Too Large
Request entity is larger than limits defined by server.
logit: Log with payload size. May indicate abuse.
Unprocessable Entity
Request is well-formed but contains semantic errors (validation failures).
logit: Log validation errors to improve UX.
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.
Internal Server Error
Generic server error. Something went wrong on the server side.
logit: Always log 500s. Include stack trace and request context.
Not Implemented
Server does not support the functionality required to fulfill the request.
Bad Gateway
Server acting as a gateway received an invalid response from an upstream server.
logit: Log with upstream service name. Indicates infrastructure issues.
Service Unavailable
Server is temporarily unavailable — overloaded or down for maintenance.
logit: Log service.down events. Trigger PagerDuty-style alerts.
Gateway Timeout
Server acting as a gateway did not receive a response in time.
logit: Log with timeout duration and upstream service.
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.