HTTPREF
← Back to status codes

HTTP Status Code

412 Precondition Failed

Client Error

The request failed because one or more preconditions in the request headers were not met.

HTTP status code reference, response example, common causes, fixes, and related status codes.

What does HTTP 412 Precondition Failed mean?

HTTP 412 Precondition Failed is a status code sent by a server to indicate the result of an HTTP request.

Status codes help browsers, APIs, apps, and backend systems understand whether a request succeeded, failed, was redirected, or needs additional action.

In practice, HTTP 412 Precondition Failed usually appears when a server responds under specific request, validation, permission, or infrastructure conditions.

Response example

HTTP/1.1 412 Precondition Failed

HTTP example

HTTP/1.1 412 Precondition Failed

Relevant headers

If-Match
If-Match: "abc123"
ETag
ETag: "abc123"

Common causes

  • ETag mismatch
  • If-Match or If-Unmodified-Since condition failed

How to fix it

  • Fetch the latest version of the resource
  • Retry with updated conditional headers

Common mistakes

  • Assuming the status code alone explains the full backend issue
  • Ignoring related response headers that add important context
  • Treating temporary errors as permanent failures
  • Retrying too aggressively without checking the cause
  • Debugging the frontend only when the problem is server-side

How browsers and APIs use it

Browsers, APIs, and backend services use HTTP status codes to understand the outcome of a request. Depending on the status code, an application may render content, retry a request, redirect the user, show an error, or trigger a different flow in the client or server.

Developer note

HTTP 412 is useful when preventing lost updates. It commonly appears in APIs that use ETags for concurrency control.

Related status codes