• Announcement banner
  • App data policies (EAP)
  • Application roles
  • Audit records
  • Avatars
  • Classification levels
  • Dashboards
  • Filters
  • Filter sharing
  • Group and user picker
  • Groups
  • Issues
  • UI modifications (apps)
  • Issue attachments
  • Issue comments
  • Issue comment properties
  • Issue fields
  • Issue field configurations
  • Issue custom field contexts
  • Issue custom field options
  • Issue custom field options (apps)
  • Issue custom field values (apps)
  • Issue custom field configuration (apps)
  • Issue navigator settings
  • Issue notification schemes
  • Issue priorities
  • Issue properties
  • Issue resolutions
  • Issue security level
  • Issue security schemes
  • Issue types
  • Issue type schemes
  • Issue type screen schemes
  • Issue type properties
  • Issue votes
  • Issue watchers
  • Issue worklogs
  • Issue worklog properties
  • Jira expressions
  • Jira settings
  • JQL
  • JQL functions (apps)
  • Labels
  • License metrics
  • Myself
  • Permissions
  • Permission schemes
  • Projects
  • Project avatars
  • Project categories
  • Project classification levels
  • Project components
  • Project email
  • Project features
  • Project key and name validation
  • Project permission schemes
  • Project properties
  • Project roles
  • Project role actors
  • Project types
  • Project versions
  • Screens
  • Screen tabs
  • Screen tab fields
  • Screen schemes
  • Server info
  • Status
  • Tasks
  • Time tracking
  • Users
  • User properties
  • Webhooks
  • Workflows
  • Workflow transition rules
  • Workflow schemes
  • Workflow scheme project associations
  • Workflow scheme drafts
  • Workflow statuses
  • Workflow status categories
  • Workflow transition properties
  • App properties
  • Dynamic modules
  • App migration
  • Service Registry
Cloud
Jira Cloud platform / Reference / REST API v2

Issue type schemes

Postman Collection
OpenAPI

This resource represents issue type schemes in classic projects. Use it to:

  • get issue type schemes and a list of the projects that use them.
  • associate issue type schemes with projects.
  • add issue types to issue type schemes.
  • delete issue types from issue type schemes.
  • create, update, and delete issue type schemes.
  • change the order of issue types in issue type schemes.
GET

Get all issue type schemes

Returns a paginated list of issue type schemes.

Only issue type schemes used in classic projects are returned.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:issue-type-scheme:jira

Request

Query parameters

startAt

integer

maxResults

integer

id

array<integer>

orderBy

string

expand

string

queryString

string

Responses

Returned if the request is successful.

application/json

PageBeanIssueTypeScheme

A page of items.

GET/rest/api/2/issuetypescheme
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 { "isLast": true, "maxResults": 100, "startAt": 0, "total": 3, "values": [ { "id": "10000", "name": "Default Issue Type Scheme", "description": "Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.", "defaultIssueTypeId": "10003", "isDefault": true }, { "id": "10001", "name": "SUP: Kanban Issue Type Scheme", "description": "A collection of issue types suited to use in a kanban style project.", "projects": { "isLast": true, "maxResults": 100, "startAt": 0, "total": 1, "values": [ { "avatarUrls": { "16x16": "secure/projectavatar?size=xsmall&pid=10000", "24x24": "secure/projectavatar?size=small&pid=10000", "32x32": "secure/projectavatar?size=medium&pid=10000", "48x48": "secure/projectavatar?size=large&pid=10000" }, "id": "10000", "key": "EX", "name": "Example", "projectCategory": { "description": "Project category description", "id": "10000", "name": "A project category" }, "projectTypeKey": "ProjectTypeKey{key='software'}", "self": "project/EX", "simplified": false } ] } }, { "id": "10002", "name": "HR: Scrum issue type scheme", "description": "", "defaultIssueTypeId": "10004", "issueTypes": { "isLast": true, "maxResults": 100, "startAt": 0, "total": 1, "values": [ { "description": "Improvement Issue Type", "hierarchyLevel": -1, "iconUrl": "www.example.com", "id": "1000L", "name": "Improvements", "subtask": true } ] } } ] }
POST

Create issue type scheme

Creates an issue type scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Request

Request bodyapplication/json

defaultIssueTypeId

string

description

string

issueTypeIds

array<string>

Required
name

string

Required

Responses

Returned if the request is successful.

application/json

IssueTypeSchemeID

The ID of an issue type scheme.

POST/rest/api/2/issuetypescheme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "defaultIssueTypeId": "10002", "description": "A collection of issue types suited to use in a kanban style project.", "issueTypeIds": [ "10001", "10002", "10003" ], "name": "Kanban Issue Type Scheme" }`; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
201Response
1 2 3 { "issueTypeSchemeId": "10010" }
GET

Get issue type scheme items

Returns a paginated list of issue type scheme items.

Only issue type scheme items used in classic projects are returned.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:issue-type-scheme:jira

Request

Query parameters

startAt

integer

maxResults

integer

issueTypeSchemeId

array<integer>

Responses

Returned if the request is successful.

application/json

PageBeanIssueTypeSchemeMapping

A page of items.

GET/rest/api/2/issuetypescheme/mapping
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/mapping`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "isLast": true, "maxResults": 100, "startAt": 0, "total": 4, "values": [ { "issueTypeSchemeId": "10000", "issueTypeId": "10000" }, { "issueTypeSchemeId": "10000", "issueTypeId": "10001" }, { "issueTypeSchemeId": "10000", "issueTypeId": "10002" }, { "issueTypeSchemeId": "10001", "issueTypeId": "10000" } ] }
GET

Get issue type schemes for projects

Returns a paginated list of issue type schemes and, for each issue type scheme, a list of the projects that use it.

Only issue type schemes used in classic projects are returned.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:issue-type-scheme:jira

Request

Query parameters

startAt

integer

maxResults

integer

projectId

array<integer>

Required

Responses

Returned if the request is successful.

application/json

PageBeanIssueTypeSchemeProjects

A page of items.

GET/rest/api/2/issuetypescheme/project
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/project?projectId={projectId}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 { "isLast": true, "maxResults": 100, "startAt": 0, "total": 3, "values": [ { "issueTypeScheme": { "id": "10000", "name": "Default Issue Type Scheme", "description": "Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.", "defaultIssueTypeId": "10003", "isDefault": true }, "projectIds": [ "10000", "10001" ] }, { "issueTypeScheme": { "id": "10001", "name": "SUP: Kanban Issue Type Scheme", "description": "A collection of issue types suited to use in a kanban style project." }, "projectIds": [ "10002" ] }, { "issueTypeScheme": { "id": "10002", "name": "HR: Scrum issue type scheme", "description": "", "defaultIssueTypeId": "10004", "issueTypes": { "isLast": true, "maxResults": 100, "startAt": 0, "total": 1, "values": [ { "description": "Improvement Issue Type", "hierarchyLevel": -1, "iconUrl": "www.example.com", "id": "1000L", "name": "Improvements", "subtask": true } ] } }, "projectIds": [ "10003", "10004", "10005" ] } ] }
PUT

Assign issue type scheme to project

Assigns an issue type scheme to a project.

If any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.

Issue type schemes can only be assigned to classic projects.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira, write:project:jira

Request

Request bodyapplication/json

issueTypeSchemeId

string

Required
projectId

string

Required

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/2/issuetypescheme/project
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "issueTypeSchemeId": "10000", "projectId": "10000" }`; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/project`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
PUT

Update issue type scheme

Updates an issue type scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Request

Path parameters

issueTypeSchemeId

integer

Required

Request bodyapplication/json

defaultIssueTypeId

string

description

string

name

string

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/2/issuetypescheme/{issueTypeSchemeId}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "defaultIssueTypeId": "10002", "description": "A collection of issue types suited to use in a kanban style project.", "name": "Kanban Issue Type Scheme" }`; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/{issueTypeSchemeId}`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
DEL

Delete issue type scheme

Deletes an issue type scheme.

Only issue type schemes used in classic projects can be deleted.

Any projects assigned to the scheme are reassigned to the default issue type scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:delete:issue-type-scheme:jira, write:project:jira

Request

Path parameters

issueTypeSchemeId

integer

Required

Responses

Returned if the issue type scheme is deleted.

application/json

any

DEL/rest/api/2/issuetypescheme/{issueTypeSchemeId}
1 2 3 4 5 6 7 8 9 10 11 12 13 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/{issueTypeSchemeId}`, { method: 'DELETE', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
PUT

Add issue types to issue type scheme

Adds issue types to an issue type scheme.

The added issue types are appended to the issue types list.

If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Request

Path parameters

issueTypeSchemeId

integer

Required

Request bodyapplication/json

issueTypeIds

array<string>

Required

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "issueTypeIds": [ "10000", "10002", "10003" ] }`; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
PUT

Change order of issue types

Changes the order of issue types in an issue type scheme.

The request body parameters must meet the following requirements:

  • all of the issue types must belong to the issue type scheme.
  • either after or position must be provided.
  • the issue type in after must not be in the issue type list.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Request

Path parameters

issueTypeSchemeId

integer

Required

Request bodyapplication/json

after

string

issueTypeIds

array<string>

Required
position

string

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/move
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "after": "10008", "issueTypeIds": [ "10001", "10004", "10002" ] }`; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/move`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
DEL

Remove issue type from issue type scheme

Removes an issue type from an issue type scheme.

This operation cannot remove:

  • any issue type used by issues.
  • any issue types from the default issue type scheme.
  • the last standard issue type from an issue type scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Request

Path parameters

issueTypeSchemeId

integer

Required
issueTypeId

integer

Required

Responses

Returned if the request is successful.

application/json

any

DEL/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}
1 2 3 4 5 6 7 8 9 10 11 12 13 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}`, { method: 'DELETE', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());

Rate this page: