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

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
ClassicRECOMMENDED:manage:jira-configuration
Granular:read:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:read:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:read:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira, write:project:jira

Connect app scope requiredADMIN

Request

Request bodyapplication/json

issueTypeSchemeId

string

Required
projectId

string

Required

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:delete:issue-type-scheme:jira, write:project:jira

Connect app scope requiredADMIN

Request

Path parameters

issueTypeSchemeId

integer

Required

Responses

Returned if the issue type scheme is deleted.

application/json

any

DEL/rest/api/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Connect app scope requiredADMIN

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/3/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/3/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
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type-scheme:jira

Connect app scope requiredADMIN

Request

Path parameters

issueTypeSchemeId

integer

Required
issueTypeId

integer

Required

Responses

Returned if the request is successful.

application/json

any

DEL/rest/api/3/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/3/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: