Skip to content
← All Status Codes
428
Client Error

428 Precondition Required

The server requires the request to be conditional to prevent the 'lost update' problem.

Definition (RFC 6585)

HTTP status code 428 428 Precondition Required is defined in RFC 6585 (Additional HTTP Status Codes), not in RFC 9110. RFC 9110 defines the core HTTP status codes; this one was registered separately in the IANA HTTP Status Code Registry.

Description

428 Precondition Required (RFC 6585) indicates that the origin server requires the request to be conditional. This is used to prevent the "lost update" problem: without conditional requests, a client might unknowingly overwrite changes made by another user since the resource was last fetched.

The server is essentially saying: "I require you to prove you have the latest version before I allow this modification."

Common Causes

  • REST API enforcing optimistic concurrency: requires If-Match on PUT/PATCH/DELETE
  • CMS or document editor requiring version checks before saving
  • Shared resource management preventing silent overwrites

How to Fix

  • Include the appropriate conditional header: If-Match with the current ETag
  • Fetch the resource first to get the ETag before modifying
  • Implement optimistic locking in your API client
  • Document that conditional headers are required in API documentation

Check your website's HTTP status code

Check now →

Related Status Codes

Automate this check

Set up continuous monitoring and get an alert when something breaks. No manual runs to remember.