HTTP 428 Precondition Required means the server requires the request to be conditional — the client must include headers like If-Match or If-Unmodified-Since. This prevents lost update problems where multiple clients modify a resource simultaneously.
428 Precondition RequiredGET /wiki/getting-started HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/htmlHTTP/1.1 428 Precondition Required
Content-Type: text/html; charset=utf-8
<!doctype html>
<html>
<body>
<h1>428 Precondition Required</h1>
<p>Your request is missing required conditions. Please refresh the page and try again.</p>
</body>
</html>GET the resource to obtain its current ETag value.
curl -I https://api.example.com/resource/123
Add If-Match with the ETag or If-Unmodified-Since with the timestamp.
curl -X PUT -H 'If-Match: "etag-value"' -d '{"data":"new"}' https://api.example.com/resource/123The API requires an If-Match header with an ETag to prevent concurrent modification conflicts.
| Specification | Section |
|---|---|
| Additional HTTP Status Codes | RFC 6585 §3 |
This reference was compiled from official RFCs, protocol specifications, and hands-on troubleshooting experience. AI tools were used primarily for formatting and organizing the content on the page.