
HTTP 423 is a client error status code that means the requested resource is locked. The server understood the request and the syntax is valid, but it cannot process the operation because the target resource is currently unavailable for modification. Like all 4xx codes, the issue originates from the client's request rather than a server malfunction.
A server returns 423 when a resource is temporarily locked by another process, user, or application. Common scenarios include concurrent file access, collaborative editing platforms where one user has an active lock on a document, and database operations where locking mechanisms protect data integrity during simultaneous access.
The 423 Locked status code originates from WebDAV (Web Distributed Authoring and Versioning), an extension of HTTP designed for collaborative remote file management. Because it comes from a WebDAV extension rather than core HTTP, it is far less common than standard 4xx codes and is rarely encountered outside of WebDAV-enabled servers or APIs that implement explicit resource locking.
First, check the response body for details about the lock — it will typically indicate whether the lock token is missing or whether a conflicting lock exists. If you hold the lock for the resource, include the Lock-Token value in an If request header and resend the request. If another user or process holds the lock, you must wait for it to be released before retrying.
HTTP 409 Conflict indicates that the request conflicts with the current state of the resource, often due to a version mismatch or edit conflict, but does not imply an explicit lock. HTTP 423 Locked specifically means an explicit locking mechanism is blocking the operation. A 409 can sometimes be resolved by updating your local copy of the resource, whereas a 423 requires the lock itself to be removed or for you to present a valid lock token.
HTTP 429 Too Many Requests means the client has exceeded a rate limit set by the server, while HTTP 423 Locked means a specific resource is blocked from modification by a locking mechanism. A 429 is resolved by slowing down requests and waiting for the rate-limit window to reset, whereas a 423 requires addressing the lock on the targeted resource regardless of request frequency.