All HTTP status codes
4xx Client Error
RFC 6585

428 Precondition Required

The server requires the request to be conditional.

What it means

HTTP 428 Precondition Required tells the client that the server requires the request to use conditional headers (like If-Match) to prevent the lost-update problem in concurrent edits.

When it's used

APIs enforcing optimistic concurrency control to prevent silent overwrites.

Common causes
  • PUT/PATCH without If-Match header
  • Server enforces ETag-based versioning
  • API designed to prevent race conditions
How to fix it
  • Include If-Match header with current ETag in PUT/PATCH requests
  • Fetch the resource first to get the current ETag
  • Implement optimistic locking client-side
Example response
HTTP/1.1 428 Precondition Required
Content-Type: application/json

{"error":"If-Match header required"}
SEO impact

API-only. Not relevant to SEO.