What 409 means
Typical causes are duplicates (a username or email already taken) or edit conflicts (someone changed the resource since you read it).
Common causes
- Creating something that already exists.
- Updating a stale version of a resource.
- An operation that's invalid in the current state.
How to fix it
If you're calling an API
- Read the current resource, merge your change and try again, or pick a different unique value.
If you run the server
- Explain the conflict in the body; use ETags (412) for optimistic locking.
Should you retry?
After resolving the conflict.
Example response
HTTP/1.1 409 Conflict
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"detail": "The request conflicts with the resource's current state."
}Defined in: RFC 9110 (HTTP Semantics). 409 is a client error: change the request before retrying.
Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.