HTTP 409 Conflict

Status code 409 · Class 4xx

HTTP

Conflict

Also searched as: error 409, HTTP 409, 409 conflict

HTTP request chain from browser through CDN and proxy to the origin server
HTTP errors: find which hop in the request chain failed and read its logs.

What it means

The request could not be completed because it conflicts with the current state of the resource. APIs return 409 when you try to create something that already exists, update a record someone else changed, or perform an action not allowed in the current state.

Applies to: REST APIs, WebDAV, Git hosting APIs

How to fix HTTP 409 Conflict

  1. Refresh the data and retry the change based on the latest version
  2. Read the response body; well-designed APIs explain which field or version conflicts
  3. If creating a resource, check whether it already exists (duplicate username, email or ID)
  4. If the API uses ETags, send the current value in 'If-Match' and retry after fetching the latest copy
  5. For file sync or WebDAV clients, resolve the conflicting copy manually
  6. If you own the API: return a clear error message and the current resource version so clients can recover

Why it happens

RFC 9110 uses 409 for conflicts with the target resource's current state, typically concurrent edits, uniqueness constraints and invalid state transitions.

FAQ

Is 409 a server error?

No. It is a client-side 4xx code: the request is valid, but it clashes with existing data and needs to be changed or retried.

Related errors

Source: IANA HTTP Status Code Registry · fixes written and reviewed by the editors (see our editorial policy)

Last updated: