# 400 Bad Request

> The server cannot process the request due to client error (e.g., malformed syntax, invalid framing).

Source: https://apiguide.dev/status-codes/400
Class: client-error
Defined in: RFC 9110, Section 15.5.1 <https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.1>
Updated: 2026-10-14

## What does HTTP status code 400 mean?

The 400 Bad Request status code indicates that the server is unable to understand or process the request due to structural client errors (e.g., parsing errors, malformed headers, or bad syntax).

## When to use it in APIs

Use 400 when the request body is syntactically invalid (e.g., malformed JSON) or when dynamic structural constraints fail before domain validation begins (like invalid cursor formats).

## How it compares to other codes

* **422 Unprocessable Content**: Use 422 for semantically valid JSON payloads that fail business validation. Use 400 for payloads that cannot even be parsed.
