HTTP status code 409 — Conflict
Quick answer
Status code 409 (Conflict): Request conflicts with current resource state. Common for duplicate keys, version mismatches, or optimistic locking.
Common for duplicate keys, version mismatches, or optimistic locking.
409 asks the client to resolve the conflict (reload, merge, or pick a new id) before retrying.
Common causes
- Trying to create a resource with a key/slug that already exists
- Optimistic-locking version mismatch (someone else updated it first)
How to fix it
Re-fetch the current state, resolve the conflict (rename, merge, or pick a new id), then resend.
Related: 408410405413404403500502
Frequently asked questions
What is status code 409?
409 Conflict: Request conflicts with current resource state. Common for duplicate keys, version mismatches, or optimistic locking.
When should I expect HTTP 409?
409 asks the client to resolve the conflict (reload, merge, or pick a new id) before retrying.
What usually causes HTTP 409?
Trying to create a resource with a key/slug that already exists; Optimistic-locking version mismatch (someone else updated it first).
How do I fix HTTP 409?
Re-fetch the current state, resolve the conflict (rename, merge, or pick a new id), then resend.
Where can I see all status codes?
Open the HTTP status codes hub on TryDevSnip for the full reference list.
Does TryDevSnip log my API traffic?
No. These pages are static reference. TryDevSnip does not proxy or inspect your HTTP calls.