Hi.
My question is about non-correct REST API work in Jira Data Center v.9.12.
I have a problem with additing Workflow Scheme in project via POST /rest/api/2/project.
I have developed an application for easy project creation. The user selects the types of tasks he needs, and the application creates and configures all the necessary schemas. The application has been tested, and it fills in the schemas correctly, depending on the source data. But there was a problem with the assignment of the workflow schema.
The application's logic is as follows:
1. Before creating project, the necessary workflow scheme is created, based on the selected task types.
2. Then, the necessary WF Scheme id is passed through the command to create the project (as shown in the atlassian documentation for "Create project" -> "Request").
However, for some reason, Jira itself creates another default workflow schema at the time of project creation and additionally binds it to the project.
So there are two active WF Schemas in the system, which leads to critical errors in Jira itself - all workflow schemas are no longer displayed in the system and 500 errors appear.
The Jira log is like this:
Caused by: java.lang.IllegalArgumentException: Passed List had more than one value.
Also the log shows that at first step Jira correctly assign the necessary scheme but then creates and assign a new one too (with default issue types):
2026-08-12 09:08:28 … /rest/api/2/project [c.a.j.r.v2.issue.ProjectWorkflowSchemeAssignor] Assigning requestedWorkflowSchemeId=15755 into new project with projectId=15777
2026-08-12 09:08:28 … /rest/api/2/project [c.a.j.i.f.config.manager.FieldConfigSchemeManagerImpl] ConfigScheme TEST: Issue Type Scheme for tracking simple issues (17830). Created with no associated contexts
2026-08-12 09:08:28 … /rest/api/2/project [c.a.jira.workflow.OSWorkflowManager] User 'test.app(JIRAUSER42601)' updated workflow 'TEST: Workflow Scheme for tracking simple issues.' at 'Wed Aug 12 09:08:28 UTC 2026'
2026-08-12 09:08:29 … /rest/api/2/issuetypescheme [c.a.j.i.f.config.manager.FieldConfigSchemeManagerImpl] ConfigScheme TEST Issue Scheme (17831). Created with no associated contexts
2026-08-12 09:08:33 … /rest/api/2/status [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response
java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.GeneratedMethodAccessor4578.invoke(Unknown Source)
…
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalArgumentException: Passed List had more than one value.
And finally I have two active schemes: my with id=15755 and Jira with id=15756.
How and why did this happen?