HTTP status codes / 4xx — Client errors
428 Precondition Required
The server demands conditional headers to prevent lost updates.
What it means
The API requires requests like PUT to carry If-Match so concurrent edits cannot silently overwrite each other. Defined alongside 429/431 in RFC 6585.
Common causes
- API requires If-Match/conditional headers on writes to prevent lost updates
How to debug it
GET the resource, take its ETag, resend your request with If-Match: "<etag>".
Server-side note: GET the resource, take its ETag, resend with If-Match: "<etag>".
The fastest way to pin down a 428 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.
Related codes
400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 404 Not Found · 405 Method Not Allowed — or the full reference.
Reproduce that 428 in 10 seconds.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.