Precondition Required
4xx Client Error
Last updated:
The server requires the request to be conditional (e.g. include If-Match).
Description
Used to prevent the 'lost update' problem by forcing clients to include conditional headers.
When to use
Return 428 when your API requires optimistic concurrency and the client didn't include an If-Match header.
Specification
RFC 6585
Examples
HTTP response
HTTP/1.1 428 Precondition Required
Content-Type: application/json
{"error":"Precondition Required"}Node.js (Express)
res.status(428).json({ error: "Precondition Required" });Go (net/http)
w.WriteHeader(http.Status428)
Python (Flask)
return jsonify({"error": "Precondition Required"}), 428Related status codes
All 4xx codes
400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable408 Request Timeout409 Conflict410 Gone411 Length Required412 Precondition Failed413 Payload Too Large414 URI Too Long415 Unsupported Media Type418 I'm a teapot422 Unprocessable Entity425 Too Early428 Precondition Required429 Too Many Requests431 Request Header Fields Too Large451 Unavailable For Legal Reasons