All HTTP status codes

HTTP 409 Conflict

Client Error

The request conflicts with the resource's current state — classic cases are duplicate creation and stale optimistic-locking versions.

Defined in RFC 9110

Common causes

  • Creating a resource that already exists (unique constraint)
  • Updating with an outdated version/ETag (optimistic concurrency)
  • Concurrent edits to the same resource

How to fix it

  1. Fetch the latest state, merge, and retry

  2. Send If-Match with the current ETag for updates

  3. Make creation idempotent (upsert or idempotency keys)

Want to explore status codes interactively? Try the free HTTP Status Code Reference — search, categories and example responses, right in your browser.