Toolman

HTTP 422 — Unprocessable Content

4xx Client Error

What it means

The request is syntactically valid but semantically wrong — well-formed JSON where a field fails validation.

What to do about it

Return a body listing which fields failed and why. Many APIs use 400 for this; 422 is more precise when the syntax itself was fine.

Where it sits

422 belongs to the 4xx family: The request contains something the server will not or cannot process. The fix is normally on the client side.

HTTP/1.1 422 Unprocessable Content

Checking it yourself

# see the status code and headers only
curl -sI https://example.com/path

# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path

# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);

How this code behaves

Cacheable by defaultNo — caches must not store this response unless explicit cache headers permit it.
Safe to retryNo. Retrying an identical request will produce the same result — the request itself must change.
Effect on search indexingNo direct effect.

Returning 422 correctly

# nginx
return 422;

# Express
res.status(422).json({ error: 'Unprocessable Content' });

# Go
w.WriteHeader(422)

# Python (Flask)
return jsonify(error='Unprocessable Content'), 422;

Frequently asked questions

What does HTTP 422 mean?

The request is syntactically valid but semantically wrong — well-formed JSON where a field fails validation.

How do I fix a 422 error?

Return a body listing which fields failed and why. Many APIs use 400 for this; 422 is more precise when the syntax itself was fine.

Is 422 a client or server problem?

A client problem by definition — the request needs to change. That said, a 4xx can still be the server’s fault if it is misconfigured and rejecting valid requests.

Other 4xx codes

All HTTP status codes