HTTP 422 Unprocessable Entity — Meaning, Causes & How to Fix
The request was well-formed but could not be followed due to semantic errors (WebDAV).
- Code
- 422
- Name
- Unprocessable Entity
- Class
- 4xx Client Error
- Specification
- RFC 9110 §15.5.21 (“Unprocessable Content”, first in WebDAV RFC 4918)
- Cacheable by default
- Only with explicit Cache-Control / Expires
What HTTP 422 means
422 means the server understands the content type and the syntax is correct, but the content is invalid — typical for form or API validation errors. Originally from WebDAV, it is now in RFC 9110 under the name “Unprocessable Content”.
Common causes
- Validation failures: missing required field, wrong format, value out of range.
- Business-rule violations (e.g. end date before start date).
How to fix it
For site owners
- Return field-level error messages so clients can show them next to the inputs.
- Many frameworks (Laravel, Rails) return 422 for validation errors by default.
For visitors & developers
- Read the error list in the body and correct the listed fields.
SEO impact
No SEO impact: it is returned to form submissions and API calls.
Example 422 response
HTTP/1.1 422 Unprocessable Content
Content-Type: application/json
{"errors":{"email":["must be a valid email"]}}
Related status codes
Check or look up another code
Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.
Open HTTP Status Codes tool →All status codesFrequently asked questions
What does HTTP 422 mean?
HTTP 422 Unprocessable Entity is a 4xx Client Error status code. The request was well-formed but could not be followed due to semantic errors (WebDAV).
When should I use 422 instead of 400?
Use 400 when the request cannot be parsed (bad JSON, bad syntax) and 422 when it parses fine but the values fail validation.
Which specification defines 422?
It is defined in RFC 9110 §15.5.21 (“Unprocessable Content”, first in WebDAV RFC 4918).
Is a 422 response cacheable?
Not by default. A 422 response is only stored by caches when it carries explicit freshness information such as Cache-Control: max-age or Expires.