400 Bad Request

What the fuck is this?

What it properly means

The server cannot or will not process the request because of something it sees as a client error: malformed syntax, invalid framing, or deceptive routing.

Class
4xx Client error: you fucked up
Defined in
RFC 9110, section 15.5.1

Get one yourself

This endpoint really answers with 400. Point your client at it and see what it does.

curl -i https://httpcodes.dev/api/400

People mix this up with

  • 400422 Unprocessable Content

    Can't read it, or read it and it's wrong?

    400 is for a request the server cannot even parse: broken JSON, bad framing. 422 is for one that parses fine but fails the rules, like a missing required field or an end date before the start date.