curl -i -X POST https://example.com/api -H 'Content-Type: application/json' -d '{bad json}'Typically caused by malformed syntax, invalid framing, or deceptive routing.
Client error responses like 400, 401, 403, 404, 409, 422, and 429.
Reference entries for HTTP 400-409 responses.
curl -i -X POST https://example.com/api -H 'Content-Type: application/json' -d '{bad json}'Typically caused by malformed syntax, invalid framing, or deceptive routing.
curl -i https://example.com/privateUsually returned when credentials are missing, expired, or invalid. `WWW-Authenticate` is commonly involved.
HTTP/1.1 402 Payment RequiredHistorically reserved; sometimes reused by APIs for billing or quota semantics.
curl -i -H 'Authorization: Bearer token' https://example.com/adminThe server understood the request but refuses access.
curl -i https://example.com/does-not-existCommon when a route or object is missing.
curl -i -X PATCH https://example.com/static-pageTypically accompanied by an `Allow` header listing permitted methods.
curl -i -H 'Accept: application/xml' https://example.com/json-onlyOccurs when content negotiation cannot satisfy the `Accept` headers.
curl -x http://proxy.example.com:8080 https://example.comLike `401` but for authenticating with a proxy.
HTTP/1.1 408 Request TimeoutOften indicates the client was too slow sending the request.
curl -i -X PUT https://example.com/api/items/1 -H 'If-Match: "stale-etag"' -d '{"x":1}'Common with version conflicts, duplicate creates, or edit collisions.
Reference entries for HTTP 410-421 responses.
curl -i https://example.com/removedLike 404, but with stronger intent that the resource is gone permanently.
curl -i -X POST https://example.com/upload --data-binary @file.binThe server refuses the request without a defined content length.
curl -i -X PUT https://example.com/item/1 -H 'If-Match: "wrong"' -d '{"a":1}'Often used with `If-Match`, `If-Unmodified-Since`, or similar headers.
curl -i -X POST https://example.com/upload --data-binary @huge.tarReturned when the request body exceeds server limits.
curl -i 'https://example.com/search?q=very-long-string'Often caused by oversized query strings or redirect loops.
curl -i -X POST https://example.com/api -H 'Content-Type: text/plain' -d 'name=ada'Typical when sending JSON without `Content-Type: application/json` or sending the wrong media type.
curl -i -H 'Range: bytes=99999999-999999999' https://example.com/file.zipUsed when a range is outside the current representation length.
curl -i -H 'Expect: some-unknown-expectation' https://example.comOften associated with unsupported `Expect` semantics.
HTTP/1.1 418 I'm a teapotKnown from RFC 2324; commonly referenced humorously in developer contexts.
curl -i https://example.comDefined for HTTP/2 scenarios where the connection was reused for the wrong authority.
Reference entries for HTTP 422-451 responses.
curl -i -X POST https://example.com/api/users -H 'Content-Type: application/json' -d '{"email":"not-an-email"}'Common for validation errors in APIs where JSON is syntactically valid but semantically invalid.
LOCK /webdav/file.txt HTTP/1.1Often associated with WebDAV-style locking semantics.
PROPPATCH /webdav/resource HTTP/1.1One requested action failed because another failed.
HTTP/1.1 425 Too EarlyUsed to avoid processing a request that could be replayed too early.
HTTP/1.1 426 Upgrade Required
Upgrade: h2cThe server requires a protocol upgrade before continuing.
HTTP/1.1 428 Precondition RequiredCommon to force safe updates and avoid lost updates. RFC 6585 defines it.
curl -i https://api.example.com/v1/searchThe canonical response for rate limiting. RFC 6585 defines it.
curl -i -H 'Cookie: huge=...' https://example.comOften caused by oversized cookies or custom headers.
HTTP/1.1 451 Unavailable For Legal ReasonsDefined for resources blocked because of legal demands.