Free Tools

HTTP status codes

Every status code explained in plain language. Not the RFC definition. What it actually means when you see it in the wild.

2xx Success

The request was received, understood, and accepted.

3xx Redirection

The client needs to take additional action to complete the request.

4xx Client Error

The request contains bad syntax or cannot be fulfilled.

400

Bad Request

The server can't process the request because something is wrong with it. Missing required fields, invalid JSON, wrong data types. Check your request body and query parameters.

401

Unauthorized

Authentication is required but was missing or invalid. Despite the name, this is about authentication (who you are), not authorization (what you can do). Check your API key or session.

403

Forbidden

The server understood the request but refuses to authorize it. You're authenticated, but you don't have permission. Unlike 401, re-authenticating won't help.

404

Not Found

The resource doesn't exist at this URL. Either the URL is wrong, the resource was deleted, or it never existed. The most familiar HTTP error code.

405

Method Not Allowed

The HTTP method isn't supported for this URL. You sent a DELETE to an endpoint that only accepts GET and POST. The response includes an Allow header listing valid methods.

408

Request Timeout

The server timed out waiting for the request. The client took too long to send the full request. Different from a gateway timeout (504) which is about the server being slow.

409

Conflict

The request conflicts with the current state of the resource. Common with concurrent updates — two people editing the same record, or trying to create a resource that already exists.

410

Gone

The resource existed but has been permanently deleted. Unlike 404, this is deliberate — the server is saying "it was here, it's not anymore, and it's not coming back."

413

Content Too Large

The request body is larger than the server is willing to accept. Common when uploading files that exceed the server's size limit.

415

Unsupported Media Type

The server doesn't support the Content-Type of the request. You sent XML but the endpoint only accepts JSON, or you forgot the Content-Type header entirely.

422

Unprocessable Content

The request is well-formed but the content is invalid. The JSON is valid, but the data doesn't pass validation — missing required fields, values out of range, business rule violations.

429

Too Many Requests

You've hit a rate limit. The server is telling you to slow down. Check the Retry-After header for how long to wait. If you're seeing this in monitoring, your checks might be too frequent.

5xx Server Error

The server failed to fulfill a valid request.

500

Internal Server Error

Something went wrong on the server. The catch-all error. Could be an unhandled exception, a crashed process, or a bug. If you're seeing this in your monitoring, check your server logs.

502

Bad Gateway

The server acting as a gateway got an invalid response from the upstream server. Your load balancer or reverse proxy (Nginx, Cloudflare) reached your application server, but the app returned garbage or didn't respond.

503

Service Unavailable

The server can't handle the request right now. Usually means the server is overloaded or down for maintenance. Often temporary — check back in a few minutes. A Retry-After header may be present.

504

Gateway Timeout

The gateway server didn't get a response from the upstream server in time. Your app is too slow or has hung. If you're seeing this in monitoring, the problem is usually in your application, not the gateway.

520

Web Server Error

Cloudflare-specific. The origin server returned an unexpected response. Often means the origin is returning an empty response, a response that's too large, or an invalid HTTP response.

521

Web Server Down

Cloudflare-specific. The origin server refused the connection. Your server is down, firewalling Cloudflare's IPs, or not listening on the right port.

522

Connection Timed Out

Cloudflare-specific. The TCP connection to the origin server timed out. The server is unreachable, overloaded, or there's a network issue between Cloudflare and your origin.

523

Origin Unreachable

Cloudflare-specific. Cloudflare can't reach the origin server at all. DNS is pointing to the wrong IP, or the origin server is completely offline.

Get alerted when your endpoints return unexpected status codes.

Larm checks your HTTP endpoints and alerts you when they return status codes outside your expected range. Multi-location verification, full request traces.

Sign Up Free