What does status code 409 Conflict mean?

Home - What does status code 409 Conflict mean?
409 conflict

You try to do an update on an existing resource. The server receives your request, understands what you want, and refuses it. Not because the request is invalid, not because the server is unreachable, but because your action conflicts with something that already exists.

That's when you get back a 409 status code. A sign that you are trying to change or create something that conflicts with the current state of the server.

The http 409 error message doesn't come out of nowhere. It says: this change cannot proceed without overwriting something else, or without intervention. The server protects itself, and you, from an inadvertent error.

How does the 409 error work?

The 409 http error falls into the category of client errors, but not because you requested something incorrectly. The error occurs when the server detects a conflict between your request and the current state of the resource.

Consider two users trying to edit a file at the same time. Or a POST request that contains a unique value that already exists, such as a username or slug. Sometimes it also involves versioning: you are trying to edit something that has already been modified since you last retrieved it.

The response is usually simple and straightforward:

HTTP/1.1 409 Conflict

Content-Type: application/json

Sometimes the body contains additional explanations, such as about the field or object causing the conflict.

When will you see status 409 in action?

HTTP 409

Status code 409 shows up in APIs, CMSs, workflow platforms and in systems where version control or synchronization is involved. It is typical behavior at:

  • PUT or PATCH requests trying to overwrite older data
  • POST requests to endpoints expecting unique values
  • Resources with ETag or revision control

In tools like Postman, you see it directly as a status code. Curl also neatly returns the 409, along with any error details.

Crawlers such as Screaming Frog rarely encounter this error in standard Web structures, but may register it on interactive endpoints or documentation pages that simulate a forced POST or PUT request during the crawl.

In log systems, status 409 usually stands out because there is no technical error, but there is a returned request. Especially in systems where there are many concurrent actions, it can be a useful indicator of data conflicts.

What causes an http code 409?

The cause of an http 409 is rarely a programming error, but rather a logical conflict. Your request is correct, but arrives just too late, or clashes with existing values.

Examples:

  • You are trying to create a new user with an email address that already exists
  • You submit a change without considering the latest version of the document
  • In a status-driven system, you do an action that is not currently allowed (e.g., adjust invoice after approval)

So the error arises in situations where multiple actors or processes are trying to edit or create the same data, and the server monitors the overview.

How do you solve a 409 error?

Start by analyzing the conflict. What are you trying to change, and what is already there?

  • For unique fields: check if the value is already in use. If yes, modify it or choose another route.
  • For version conflicts: get the most recent version before making changes.
  • For workflows: look at the status of the object, and whether your action fits within the allowed transition.

In some APIs, you can also use If-Match headers with ETags to check that you are editing the correct version. That avoids silent overwrites, and the chance of a status 409.

In conclusion

The 409 status code is not a block because of an error, but a protection against an error you would otherwise make. It is a signal that the server knows what you want, but that something needs to be fixed first.

Do you see an http code 409? Then it's not a matter of trying again, but of understanding why the request does not fit the current situation. Conflicts don't just happen, and you resolve them only by looking at both sides.

Picture of David Ladiges
David Ladiges
Technical Lead

Have a question about your website or hosting?

Our team is ready to help you! Leave your details and we'll get back to you with no obligation.

On this page

Share this article:

Related articles

Ask your question

Have a question about your website, hosting or WordPress? Enter your details below and we'll get back to you as soon as possible with a personalized answer.

You don't need any technical knowledge. We are happy to think with you.

Ask your question