Client Error HTTP Status Codes (4xx)
Use this hub to distinguish malformed requests from auth failures, permission denials, missing resources, and precondition conflicts.
What this group covers
4xx means the server understood the request class but cannot process it as sent. The caller usually needs to change URL, headers, auth, or payload before retrying.
What to check first
- Reproduce with raw request logging to confirm method, path, and headers.
- Validate auth tokens, scopes, and session state before assuming routing issues.
- Inspect payload schema, content type, and conditional headers for contract violations.
How related 4xx codes differ
401 vs 403 vs 404 and 409 vs 412 vs 422 are common misclassifications. Return the code that best describes what the caller must change.
Client Error HTTP Status Codes (4xx) list with quick summaries
- HTTP 400 Bad Request — HTTP 400 Bad Request indicates a client errors response outcome.
- HTTP 401 Unauthorized — HTTP 401 Unauthorized indicates a client errors response outcome.
- HTTP 402 Payment Required — HTTP 402 Payment Required indicates a client errors response outcome.
- HTTP 403 Forbidden — HTTP 403 Forbidden indicates a client errors response outcome.
- HTTP 404 Not Found — HTTP 404 Not Found indicates a client errors response outcome.
- HTTP 405 Method Not Allowed — HTTP 405 Method Not Allowed indicates a client errors response outcome.
- HTTP 406 Not Acceptable — HTTP 406 Not Acceptable indicates a client errors response outcome.
- HTTP 407 Proxy Authentication Required — HTTP 407 Proxy Authentication Required indicates a client errors response outcome.
- HTTP 408 Request Timeout — HTTP 408 Request Timeout indicates a client errors response outcome.
- HTTP 409 Conflict — HTTP 409 Conflict indicates a client errors response outcome.
- HTTP 410 Gone — HTTP 410 Gone indicates a client errors response outcome.
- HTTP 411 Length Required — HTTP 411 Length Required indicates a client errors response outcome.
- HTTP 412 Precondition Failed — HTTP 412 Precondition Failed indicates a client errors response outcome.
- HTTP 413 Content Too Large — HTTP 413 Content Too Large indicates a client errors response outcome.
- HTTP 414 URI Too Long — HTTP 414 URI Too Long indicates a client errors response outcome.
- HTTP 415 Unsupported Media Type — HTTP 415 Unsupported Media Type indicates a client errors response outcome.
- HTTP 416 Range Not Satisfiable — HTTP 416 Range Not Satisfiable indicates a client errors response outcome.
- HTTP 417 Expectation Failed — HTTP 417 Expectation Failed indicates a client errors response outcome.
- HTTP 418 Unused — HTTP 418 is unused in the IANA registry and should not be emitted by modern applications.
- HTTP 421 Misdirected Request — HTTP 421 Misdirected Request indicates a client errors response outcome.
- HTTP 422 Unprocessable Content — HTTP 422 Unprocessable Content indicates a client errors response outcome.
- HTTP 423 Locked — HTTP 423 Locked indicates a client errors response outcome.
- HTTP 424 Failed Dependency — HTTP 424 Failed Dependency indicates a client errors response outcome.
- HTTP 425 Too Early — HTTP 425 Too Early indicates a client errors response outcome.
- HTTP 426 Upgrade Required — HTTP 426 Upgrade Required indicates a client errors response outcome.
- HTTP 427 Unassigned — HTTP 427 is currently unassigned in the IANA registry and should not be emitted by modern applications.
- HTTP 428 Precondition Required — HTTP 428 Precondition Required indicates a client errors response outcome.
- HTTP 429 Too Many Requests — HTTP 429 Too Many Requests indicates a client errors response outcome.
- HTTP 430 Unassigned — HTTP 430 is currently unassigned in the IANA registry and should not be emitted by modern applications.
- HTTP 431 Request Header Fields Too Large — HTTP 431 Request Header Fields Too Large indicates a client errors response outcome.
- HTTP 451 Unavailable For Legal Reasons — HTTP 451 Unavailable For Legal Reasons indicates a client errors response outcome.
When to escalate
Escalate when different services in the same flow return inconsistent 4xx semantics for the same failure condition.
Next steps
Browse all status classes · Compare similar codes · Read implementation FAQ