428 Precondition Required (RFC 6585) means the origin server requires the request to be conditional. It prevents the "lost update" problem: a client reads a resource, modifies it and writes it back with PUT, overwriting changes that someone else made in the meantime.
By answering unconditional writes with 428, the server forces clients to send If-Match with the ETag they read. If the resource has changed, the conditional request then fails with 412 Precondition Failed instead of silently overwriting data. The response should explain how to resubmit the request successfully.
Example response
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71
{"error":"Send If-Match with the current ETag to update this resource"} SEO and redirect checking
No SEO impact: 428 applies to write requests in APIs and collaborative editing, and crawlers' GET requests do not trigger it.
Common causes and use cases
- An API requires
If-MatchonPUT,PATCHorDELETE, and the client did not send it. - A collaborative document service enforces optimistic locking.
- A client library without ETag support talks to such an API.