428 Precondition Required
The server requires a conditional request.
What it means
Forces clients to send If-Match so concurrent edits cannot silently overwrite each other (the "lost update" problem).
What your client should do
GET the resource, then send the change with If-Match: <ETag>.
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/428 from Endpoint Client and open the Explain tab.
Related codes
Defined in RFC 6585. All status codes and headers