All HTTP status codes

HTTP 412 Precondition Failed

Client Error

A conditional header (If-Match, If-Unmodified-Since…) evaluated to false — the resource changed since the client last saw it.

Defined in RFC 9110

Common causes

  • Optimistic locking: ETag in If-Match is stale
  • Conditional uploads guarding against overwrites

How to fix it

  1. GET the resource again, take the fresh ETag, reapply changes

  2. Surface a 'document changed elsewhere' flow to end users

Want to explore status codes interactively? Try the free HTTP Status Code Reference — search, categories and example responses, right in your browser.