HTTP 409 Conflict
Status code 409 · Class 4xx
Conflict
Also searched as: error 409, HTTP 409, 409 conflict
What it means
The request could not be completed because it conflicts with the current state of the resource. APIs return 409 when you try to create something that already exists, update a record someone else changed, or perform an action not allowed in the current state.
Applies to: REST APIs, WebDAV, Git hosting APIs
How to fix HTTP 409 Conflict
- Refresh the data and retry the change based on the latest version
- Read the response body; well-designed APIs explain which field or version conflicts
- If creating a resource, check whether it already exists (duplicate username, email or ID)
- If the API uses ETags, send the current value in 'If-Match' and retry after fetching the latest copy
- For file sync or WebDAV clients, resolve the conflicting copy manually
- If you own the API: return a clear error message and the current resource version so clients can recover
Why it happens
RFC 9110 uses 409 for conflicts with the target resource's current state, typically concurrent edits, uniqueness constraints and invalid state transitions.
FAQ
Is 409 a server error?
No. It is a client-side 4xx code: the request is valid, but it clashes with existing data and needs to be changed or retried.
Related errors
Source: IANA HTTP Status Code Registry · fixes written and reviewed by the editors (see our editorial policy)
Last updated: