HTTP status codes / 4xx — Client errors

428 Precondition Required

In one sentence

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

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.