4xx Client Errors
HTTP 409 Conflict
The request conflicts with the current state of the target resource.
When is 409 used?
- Concurrent editing conflicts
- Creating a resource that already exists
- Version control merge conflicts
How to handle a 409 response
Inspect the request — URL, method, headers, credentials, and body. Retrying the same request unchanged will usually fail again; 429 is the exception, where you should wait for the Retry-After period.
Check the status code a URL returns from the command line:
curl -s -o /dev/null -w "%{http_code}\n" https://example.comHow to return 409 from your server
Node.js (Express)
res.status(409).json({ message: 'Conflict' });Python (Flask)
return {"message": "Conflict"}, 409Go (net/http)
w.WriteHeader(409)Frequently Asked Questions
What does HTTP 409 mean?
409 Conflict: The request conflicts with the current state of the target resource.
Is 409 an error?
Yes. 409 is in the 4xx Client Errors class. Client errors: the request is malformed, unauthorized, or targets something that does not exist.