What it means
409 is a typical API code: creating a user with an email that already exists, updating a record someone else changed in the meantime, or a git push to a branch that has moved. The response should explain what conflicts so the client can resolve it.
Most common causes
- A resource with the same unique key already exists.
- Concurrent edits to the same record (optimistic locking).
- An invalid state transition, e.g. cancelling an order that has already shipped.
- The file or object version doesn't match the expected one.
What you can do as a visitor
- Refresh the page to get the latest state and try again.
- If sign-up returns a 409, an account with those details probably already exists.
What the site owner or developer should do
- Describe the conflict in the response and how to resolve it.
- For concurrent editing, use ETag and If-Match (which may also return 412).
- Don't use 409 for general validation errors; those are 400 or 422.
Impact on SEO and Google
409s occur in APIs and forms and have no effect on the SEO of public pages.
Frequently asked questions
Is a 409 a server error?
No. The server is working; the request conflicts with the current state.
How do I fix a 409 in an API?
Fetch the current state of the resource, reconcile your data and send the request again.