4xx

409 Conflict

The request conflicts with the current state of the resource on the server.

What is HTTP 409?

This status code indicates that the request could not be completed because it conflicts with the current state of the target resource. The server should include information in the response body to help the client resolve the conflict. It is most commonly used in situations involving concurrent updates, version control, or duplicate resource creation. The client is expected to resolve the conflict and resubmit the request.

Defined in RFC 9110

Common Causes

  • Two users trying to edit the same resource simultaneously, causing an edit conflict
  • Attempting to create a resource that already exists with a unique constraint violation
  • Version mismatch where the client's version is outdated and another update was applied first
  • Deleting a resource that other resources depend on

How to Fix

  • Fetch the latest version of the resource, merge your changes, and retry the request
  • Use conditional requests with If-Match or If-Unmodified-Since headers for optimistic concurrency
  • Check the response body for details about what conflict occurred and how to resolve it
  • Implement conflict resolution logic in your application for concurrent editing scenarios