Change notice – Jira Cloud Transition Issue API to support HTTP 409 conflict error code

Reading Time: 1 minute

NOTE: This blog post has been updated to reflect a future change date for this API method, from Oct 31, 2019 to May 4, 2020.

The Jira Cloud API does not support simultaneous issue transitions. This helps to avoid storing incorrect or duplicate issue data. Currently, if multiple issue transitions are requested at the same time, only one of those transitions will succeed, and the remaining requests will return a 400 (“Bad Request”) error code.

In the case described above, where transitions requested via the Transition Issue API (POST /rest/api/3/issue/{issueIdOrKey}/transitions) are blocked due to an existing issue transition being executed, we will soon be replacing the 400 status code with 409 (“Conflict”).

Why switch from 400 to 409?

The reason for switching from the 400 status code to 409 is because the latter more accurately describes the reason for the API request failing. In the case of an issue transition request returning a 409, it means that an existing transition is still being executed, and that your app should employ a retry mechanism.

To prepare for this change, we recommend that your apps are capable of handling both the existing 400 error case, and the new 409 error case. After the change takes affect, you should make the appropriate functional changes in the 400 error case, moving any “Conflict” handling to the 409 error case.

When will this change take effect?

The change will be rolled out on (or after) May 4, 2020.

Looking for more information?

If you have any questions or need further clarifications about this change, please reach out in the Jira Cloud Development forum in the Developer Community. The changes have already been reflected in the documentation.