412 Precondition Failed

A conditional header did not match.

What it means

Typically If-Match with an outdated ETag: someone else changed the resource first. This is optimistic concurrency working.

What your client should do

GET the latest version and its ETag, reapply your change, and send again.

Should you retry?

Only after you change the request.

Try it

The free practice API returns this status on demand, with the headers a well-behaved API would send. Call GET /api/play/status/412 from Endpoint Client and open the Explain tab.

Open /api/play/status/412

Related codes

Defined in RFC 9110. All status codes and headers