• 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 v3 (beta)

Issue security schemes

Postman Collection
OpenAPI
GET

Get issue security schemes

Returns all issue security schemes.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-project
Granular:read:issue-security-level:jira, read:issue-security-scheme:jira

Request

This request has no parameters.

Responses

Returned if the request is successful.

application/json

SecuritySchemes

List of security schemes.

GET/rest/api/3/issuesecurityschemes
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/issuesecurityschemes`, { 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 { "issueSecuritySchemes": [ { "defaultSecurityLevelId": 10021, "description": "Description for the default issue security scheme", "id": 10000, "name": "Default Issue Security Scheme", "self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000" } ] }
POST

Create issue security schemeExperimental

Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme levels and security scheme levels' members per request.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Request bodyapplication/json

description

string

levels

array<SecuritySchemeLevelBean>

name

string

Required
Additional Properties

any

Responses

Returned if the request is successful.

application/json

SecuritySchemeId

The ID of the issue security scheme.

POST/rest/api/3/issuesecurityschemes
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "description": "Newly created issue security scheme", "levels": [ { "description": "Newly created level", "isDefault": true, "members": [ { "parameter": "administrators", "type": "group" } ], "name": "New level" } ], "name": "New security scheme" }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes`, { 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 { "id": "10001" }
GET

Get issue security levelsExperimental

Returns a paginated list of issue security levels.

Only issue security levels in the context of classic projects are returned.

Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include both specified issue security levels and all issue security levels from the specified schemes.

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-security-level:jira, read:issue-security-scheme:jira

Request

Query parameters

startAt

string

maxResults

string

id

array<string>

schemeId

array<string>

onlyDefault

boolean

Responses

Returned if the request is successful.

application/json

PageBeanSecurityLevel

A page of items.

GET/rest/api/3/issuesecurityschemes/level
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/issuesecurityschemes/level`, { 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 { "isLast": true, "maxResults": 50, "startAt": 0, "total": 1, "values": [ { "description": "Only the reporter and internal staff can see this issue.", "id": "10021", "isDefault": true, "issueSecuritySchemeId": "10001", "name": "Reporter Only", "self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityscheme/level?id=10021" } ] }
PUT

Set default issue security levelsExperimental

Sets default issue security levels for schemes.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Request bodyapplication/json

defaultValues

array<DefaultLevelValue>

Required
Additional Properties

any

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/3/issuesecurityschemes/level/default
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "defaultValues": [ { "defaultLevelId": "20000", "issueSecuritySchemeId": "10000" }, { "defaultLevelId": "30000", "issueSecuritySchemeId": "12000" } ] }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/level/default`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
GET

Get issue security level membersExperimental

Returns a paginated list of issue security level members.

Only issue security level members in the context of classic projects are returned.

Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will include all issue security level members from the specified schemes and levels.

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-security-level:jira, read:issue-security-scheme:jira

Request

Query parameters

startAt

string

maxResults

string

id

array<string>

schemeId

array<string>

levelId

array<string>

expand

string

Responses

Returned if the request is successful.

application/json

PageBeanSecurityLevelMember

A page of items.

GET/rest/api/3/issuesecurityschemes/level/member
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/issuesecurityschemes/level/member`, { 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 { "isLast": true, "maxResults": 100, "startAt": 0, "total": 3, "values": [ { "id": "10000", "issueSecurityLevelId": "20010", "issueSecuritySchemeId": "10010", "holder": { "expand": "group", "type": "group" } } ] }
GET

Get projects using issue security schemesExperimental

Returns a paginated mapping of projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the context of classic projects are supported. Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Query parameters

startAt

string

maxResults

string

issueSecuritySchemeId

array<string>

projectId

array<string>

Responses

Returned if the request is successful.

application/json

PageBeanIssueSecuritySchemeToProjectMapping

A page of items.

GET/rest/api/3/issuesecurityschemes/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/issuesecurityschemes/project`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 { "issueSecuritySchemeId": "10000", "projectId": "10000" }
PUT

Associate security scheme to projectExperimental

Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if provided.

This operation is asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Request bodyapplication/json

oldToNewSecurityLevelMappings

array<OldToNewSecurityLevelMappingsBean>

projectId

string

Required
schemeId

string

Required

Responses

Returned if the request is successful.

application/json

TaskProgressBeanObject

Details about a task.

PUT/rest/api/3/issuesecurityschemes/project
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "oldToNewSecurityLevelMappings": [ { "newLevelId": "30001", "oldLevelId": "30000" } ], "projectId": "10000", "schemeId": "20000" }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/project`, { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
303Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 { "description": "<string>", "elapsedRuntime": 48, "finished": 49, "id": "<string>", "lastUpdate": 62, "message": "<string>", "progress": 51, "self": "<string>", "started": 48, "status": "ENQUEUED", "submitted": 50, "submittedBy": 42 }
GET

Search issue security schemesExperimental

Returns a paginated list of issue security schemes.
If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you filter by. Use {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to obtain all projects related to scheme.

Only issue security schemes in the context of 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-security-level:jira, read:issue-security-scheme:jira

Request

Query parameters

startAt

string

maxResults

string

id

array<string>

projectId

array<string>

Responses

Returned if the request is successful.

application/json

PageBeanSecuritySchemeWithProjects

A page of items.

GET/rest/api/3/issuesecurityschemes/search
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/issuesecurityschemes/search`, { 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 { "id": 10000, "self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityscheme/10000", "name": "Default scheme", "description": "Default scheme description", "defaultLevel": 10001, "projectIds": [ 10002 ] }
GET

Get issue security scheme

Returns an issue security scheme along with its security levels.

Permissions required:

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-project
Granular:read:issue-security-level:jira, read:issue-security-scheme:jira

Request

Path parameters

id

integer

Required

Responses

Returned if the request is successful.

application/json

SecurityScheme

Details about a security scheme.

GET/rest/api/3/issuesecurityschemes/{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/issuesecurityschemes/{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 11 12 13 14 15 { "defaultSecurityLevelId": 10021, "description": "Description for the default issue security scheme", "id": 10000, "levels": [ { "description": "Only the reporter and internal staff can see this issue.", "id": "10021", "name": "Reporter Only", "self": "https://your-domain.atlassian.net/rest/api/3/securitylevel/10021" } ], "name": "Default Issue Security Scheme", "self": "https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000" }
PUT

Update issue security schemeExperimental

Updates the issue security scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

id

string

Required

Request bodyapplication/json

description

string

name

string

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/3/issuesecurityschemes/{id}
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 = `{ "description": "My issue security scheme description", "name": "My issue security scheme name" }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{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());
DEL

Delete issue security schemeExperimental

Deletes an issue security scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

schemeId

string

Required

Responses

Returned if the request is successful.

application/json

any

DEL/rest/api/3/issuesecurityschemes/{schemeId}
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/issuesecurityschemes/{schemeId}`, { method: 'DELETE', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
PUT

Add issue security levelsExperimental

Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

schemeId

string

Required

Request bodyapplication/json

levels

array<SecuritySchemeLevelBean>

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/3/issuesecurityschemes/{schemeId}/level
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "levels": [ { "description": "First Level Description", "isDefault": true, "members": [ { "type": "reporter" }, { "parameter": "jira-administrators", "type": "group" } ], "name": "First Level" } ] }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{schemeId}/level`, { 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 security levelExperimental

Updates the issue security level.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

schemeId

string

Required
levelId

string

Required

Request bodyapplication/json

description

string

name

string

Additional Properties

any

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}
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 = `{ "description": "New level description", "name": "New level name" }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}`, { 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 security levelExperimental

Deletes an issue security level.

This operation is asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

schemeId

string

Required
levelId

string

Required

Query parameters

replaceWith

string

Responses

Returned if the request is successful.

application/json

TaskProgressBeanObject

Details about a task.

DEL/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}
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/issuesecurityschemes/{schemeId}/level/{levelId}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
303Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 { "description": "<string>", "elapsedRuntime": 48, "finished": 49, "id": "<string>", "lastUpdate": 62, "message": "<string>", "progress": 51, "self": "<string>", "started": 48, "status": "ENQUEUED", "submitted": 50, "submittedBy": 42 }
PUT

Add issue security level membersExperimental

Adds members to the issue security level. You can add up to 100 members per request.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

schemeId

string

Required
levelId

string

Required

Request bodyapplication/json

members

array<SecuritySchemeLevelMemberBean>

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "members": [ { "type": "reporter" }, { "parameter": "jira-administrators", "type": "group" } ] }`; const response = await api.asUser().requestJira(route`/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member`, { 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 member from issue security levelExperimental

Removes an issue security level member from an issue security scheme.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

manage:jira-configuration

Request

Path parameters

schemeId

string

Required
levelId

string

Required
memberId

string

Required

Responses

Returned if the request is successful.

application/json

any

DEL/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member/{memberId}
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/issuesecurityschemes/{schemeId}/level/{levelId}/member/{memberId}`, { method: 'DELETE', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());

Rate this page: