HTTP status codes / 4xx — Client error
409 Conflict
What it means
The request is valid but collides with current server state — a duplicate unique value, a stale version in optimistic locking, concurrent edits.
What causes it
Two writers racing, re-submitting a creation that already happened, version/ETag mismatch on update.
How to fix it
Re-fetch the current state, reconcile, retry with fresh data. For creations: make the operation idempotent (client-generated ids help).