• 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 types

Postman Collection
OpenAPI

This resource represents issues types. Use it to:

  • get, create, update, and delete issue types.
  • get all issue types for a user.
  • get alternative issue types.
  • set an avatar for an issue type.
GET

Get all issue types for user

Returns all issue types.

This operation can be accessed anonymously.

Permissions required: Issue types are only returned as follows:

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:read:jira-work
Granular:read:issue-type:jira, read:avatar:jira, read:project-category:jira, read:project:jira

Connect app scope requiredREAD

Request

This request has no parameters.

Responses

Returned if the request is successful.

application/json

array<IssueTypeDetails>

GET/rest/api/3/issuetype
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/issuetype`, { 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 [ { "avatarId": 1, "description": "A task that needs to be done.", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",", "id": "3", "name": "Task", "self": "https://your-domain.atlassian.net/rest/api/3/issueType/3", "subtask": false }, { "avatarId": 10002, "description": "A problem with the software.", "entityId": "9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",", "id": "1", "name": "Bug", "scope": { "project": { "id": "10000" }, "type": "PROJECT" }, "self": "https://your-domain.atlassian.net/rest/api/3/issueType/1", "subtask": false } ]
POST

Create issue type

Creates an issue type and adds it 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:write:issue-type:jira, read:avatar:jira, read:issue-type:jira, read:project-category:jira, read:project:jira

Connect app scope requiredADMIN

Request

Request bodyapplication/json

description

string

hierarchyLevel

integer

name

string

Required
type

string

Responses

Returned if the request is successful.

application/json

IssueTypeDetails

Details about an issue type.

POST/rest/api/3/issuetype
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 = `{ "description": "description", "name": "name", "type": "standard" }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuetype`, { 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 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "avatarId": 34, "description": "<string>", "entityId": "<string>", "hierarchyLevel": 34, "iconUrl": "<string>", "id": "<string>", "name": "<string>", "scope": { "project": { "avatarUrls": {}, "id": "<string>", "key": "<string>", "name": "<string>", "projectCategory": {}, "projectTypeKey": "software", "self": "<string>", "simplified": true }, "type": "PROJECT" }, "self": "<string>", "subtask": true }
GET

Get issue types for projectExperimental

Returns issue types for a project.

This operation can be accessed anonymously.

Permissions required: Browse projects project permission in the relevant project or Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:read:jira-work
Granular:read:issue-type:jira, read:avatar:jira, read:project-category:jira, read:project:jira

Connect app scope requiredREAD

Request

Query parameters

projectId

integer

Required
level

integer

Responses

Returned if the request is successful.

application/json

array<IssueTypeDetails>

GET/rest/api/3/issuetype/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/issuetype/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 [ { "avatarId": 10002, "description": "A problem with the software.", "entityId": "9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",", "id": "1", "name": "Bug", "scope": { "project": { "id": "10000" }, "type": "PROJECT" }, "self": "https://your-domain.atlassian.net/rest/api/3/issueType/1", "subtask": false }, { "avatarId": 1, "description": "A task that needs to be done.", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",", "id": "3", "name": "Task", "scope": { "project": { "id": "10000" }, "type": "PROJECT" }, "self": "https://your-domain.atlassian.net/rest/api/3/issueType/3", "subtask": false } ]
GET

Get issue type

Returns an issue type.

This operation can be accessed anonymously.

Permissions required: Browse projects project permission in a project the issue type is associated with or Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:read:jira-work
Granular:read:issue-type:jira, read:avatar:jira, read:project-category:jira, read:project:jira

Connect app scope requiredREAD

Request

Path parameters

id

string

Required

Responses

Returned if the request is successful.

application/json

IssueTypeDetails

Details about an issue type.

GET/rest/api/3/issuetype/{id}
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/issuetype/{id}`, { 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 { "avatarId": 1, "description": "A task that needs to be done.", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",", "id": "3", "name": "Task", "self": "https://your-domain.atlassian.net/rest/api/3/issueType/3", "subtask": false }
PUT

Update issue type

Updates the issue type.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:issue-type:jira, read:avatar:jira, read:issue-type:jira, read:project-category:jira, read:project:jira

Connect app scope requiredADMIN

Request

Path parameters

id

string

Required

Request bodyapplication/json

avatarId

integer

description

string

name

string

Responses

Returned if the request is successful.

application/json

IssueTypeDetails

Details about an issue type.

PUT/rest/api/3/issuetype/{id}
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 = `{ "avatarId": 1, "description": "description", "name": "name" }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuetype/{id}`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); 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 { "avatarId": 34, "description": "<string>", "entityId": "<string>", "hierarchyLevel": 34, "iconUrl": "<string>", "id": "<string>", "name": "<string>", "scope": { "project": { "avatarUrls": {}, "id": "<string>", "key": "<string>", "name": "<string>", "projectCategory": {}, "projectTypeKey": "software", "self": "<string>", "simplified": true }, "type": "PROJECT" }, "self": "<string>", "subtask": true }
DEL

Delete issue type

Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (alternativeIssueTypeId). A list of alternative issue types are obtained from the Get alternative issue types resource.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:manage:jira-configuration
Granular:delete:issue-type:jira

Connect app scope requiredADMIN

Request

Path parameters

id

string

Required

Query parameters

alternativeIssueTypeId

string

Responses

Returned if the request is successful.

DEL/rest/api/3/issuetype/{id}
1 2 3 4 5 6 7 8 9 10 // 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/issuetype/{id}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Get alternative issue types

Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.

This operation can be accessed anonymously.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:read:jira-work
Granular:read:issue-type:jira, read:project-category:jira, read:project:jira, read:avatar:jira

Connect app scope requiredREAD

Request

Path parameters

id

string

Required

Responses

Returned if the request is successful.

application/json

array<IssueTypeDetails>

GET/rest/api/3/issuetype/{id}/alternatives
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/issuetype/{id}/alternatives`, { 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 [ { "avatarId": 1, "description": "A task that needs to be done.", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",", "id": "3", "name": "Task", "self": "https://your-domain.atlassian.net/rest/api/3/issueType/3", "subtask": false }, { "avatarId": 10002, "description": "A problem with the software.", "entityId": "9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2", "hierarchyLevel": 0, "iconUrl": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",", "id": "1", "name": "Bug", "scope": { "project": { "id": "10000" }, "type": "PROJECT" }, "self": "https://your-domain.atlassian.net/rest/api/3/issueType/1", "subtask": false } ]
POST

Load issue type avatar

Loads an avatar for the issue type.

Specify the avatar's local file location in the body of the request. Also, include the following headers:

  • X-Atlassian-Token: no-check To prevent XSRF protection blocking the request, for more information see Special Headers.
  • Content-Type: image/image type Valid image types are JPEG, GIF, or PNG.

For example:
curl --request POST \ --user email@example.com:<api_token> \ --header 'X-Atlassian-Token: no-check' \ --header 'Content-Type: image/< image_type>' \ --data-binary "<@/path/to/file/with/your/avatar>" \ --url 'https://your-domain.atlassian.net/rest/api/3/issuetype/{issueTypeId}'This

The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.

The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.

After creating the avatar, use Update issue type to set it as the issue type's displayed avatar.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:manage:jira-configuration
Granular:write:avatar:jira, write:issue-type:jira, read:avatar:jira

Connect app scope requiredADMIN

Request

Path parameters

id

string

Required

Query parameters

x

integer

y

integer

size

integer

Required

Request body*/*

any

Responses

Returned if the request is successful.

application/json

Avatar

Details of an avatar.

POST/rest/api/3/issuetype/{id}/avatar2
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/issuetype/{id}/avatar2?size={size}`, { method: 'POST', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
201Response
1 2 3 4 5 6 { "id": "1010", "isDeletable": true, "isSelected": false, "isSystemAvatar": false }

Rate this page: