How to find unused schemes in Jira Cloud

Schemes pile up. Deleted projects, migrations and copied projects leave workflow, permission, notification and screen schemes behind that no project uses. They make the admin pages harder to read and make it easy to edit the wrong one. This guide shows how to find them for each scheme type.

Before you start

  • Schemes apply to company-managed projects. Team-managed projects don't use them, and the scheme API calls below ignore or leave out team-managed projects.
  • Most of these calls need the Administer Jira global permission. They are all GETs.
  • List your projects with GET /rest/api/3/project/search (it's paginated). Each project's style is classic (company-managed) or next-gen (team-managed).

Workflow schemes: the one the UI answers directly

Go to Settings › Work items › Workflow schemes. The page splits schemes into Active and Inactive. An inactive scheme isn't associated with any project, and you can delete it there. To delete an active scheme, first move its projects to another scheme.

If a workflow won't delete after you remove its scheme, look on the Workflow schemes page for a scheme with an unpublished draft (shown with an "i" icon) that still uses it. Publish or discard the draft first.

With the API: GET /rest/api/3/workflowscheme lists every workflow scheme, and GET /rest/api/3/workflowscheme/{workflowSchemeId}/projectUsages returns the projects using one. An empty list means no project uses it.

Every other scheme type, with the REST API

For each type, list the schemes, then find which ones no project uses.

Scheme typeList allFind the projects using it
Permission schemes GET /rest/api/3/permissionscheme GET /rest/api/3/project/{projectKeyOrId}/permissionscheme for each project. There's no reverse lookup, so collect the scheme ID for every project and compare.
Notification schemes GET /rest/api/3/notificationscheme GET /rest/api/3/notificationscheme/project with no filter returns every project-to-scheme mapping.
Issue security schemes GET /rest/api/3/issuesecurityschemes GET /rest/api/3/issuesecurityschemes/project with no filter returns every mapping. A scheme no project uses appears with an issueSecuritySchemeId and no projectId.
Priority schemes GET /rest/api/3/priorityscheme GET /rest/api/3/priorityscheme/{schemeId}/projects
Issue type schemes GET /rest/api/3/issuetypescheme GET /rest/api/3/issuetypescheme/project?projectId=… with your project IDs. Schemes that never appear are unused.
Issue type screen schemes GET /rest/api/3/issuetypescreenscheme GET /rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/project
Screen schemes GET /rest/api/3/screenscheme Screen schemes reach projects only through issue type screen schemes. GET /rest/api/3/issuetypescreenscheme/mapping lists the screen scheme behind each work type. A screen scheme that isn't in any mapping is unused, and one that's only in unused issue type screen schemes is effectively unused too.
Field configuration schemes GET /rest/api/3/fieldconfigurationscheme GET /rest/api/3/fieldconfigurationscheme/project?projectId=…. Atlassian has deprecated these endpoints in favor of field schemes, which are replacing field configuration schemes, so results can be incomplete on sites that have moved over.

Before you delete

  • Export the list and check each scheme in Jira's admin pages before deleting it.
  • Ask whether anyone keeps an unused scheme on purpose, for example as a template for new projects.
  • Delete from Jira's own admin pages so Jira's checks apply.