428 Precondition Required

The server requires the request to be conditional.

Status code428
Status textPrecondition Required
Category4xx Client Error
Response has bodyUsually
SpecificationRFC 6585

What does 428 Precondition Required mean?

The server requires the request to be conditional. It belongs to the 4xx Client Error class, which means the request contains bad syntax or cannot be fulfilled. Something about the request needs to change.

When do APIs return 428?

An API that refuses blind writes insists you send If-Match so concurrent updates cannot clobber each other.

How to fix a 428 Precondition Required

Fetch the resource first, read its ETag, then resend your write with If-Match: <etag>. See 412 Precondition Failed for what happens when that ETag is stale.

Reproduce a 428 response

The fastest way to understand a status code is to trigger one and read the full response. Open the API tester and send a request to https://httpbin.org/status/428 — you will see the 428 status along with every response header the server sent. Comparing those headers against a working request is often what reveals the cause.

When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.

Related 4xx status codes