Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
  • Agents
  • Announcement banner
  • App data policies
  • App migration
  • App properties
  • Application roles
  • Audit records
  • Avatars
  • Classification levels
  • Dashboards
  • Dynamic modules
  • Field schemes
  • Filter sharing
  • Filters
  • Group and user picker
  • Groups
  • Issue attachments
  • Issue bulk operations
  • Issue comment properties
  • Issue comments
  • Issue custom field associations
  • 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 panels
  • Issue priorities
  • Issue properties
  • Issue redaction
  • 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
  • Migration of Connect modules to Forge
  • Myself
  • Permission schemes
  • Permissions
  • Plans
  • Policies
  • 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 templates
  • Project types
  • Project versions
  • Projects
  • Screen schemes
  • Screen tab fields
  • Screen tabs
  • Screens
  • Server info
  • Service Registry
  • Status
  • Tasks
  • Teams in plan
  • 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 rules
  • Workflows
  • Other operations
Cloud
Jira Cloud platform / Reference / REST API v3

Policies

Postman Collection
OpenAPI
GET

Get all policiesExperimental

Returns a paginated summary of all known policies, including their names, descriptions, and which projects each policy is assigned to. Results are paginated using the standard startAt, maxResults, total, isLast and values fields.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-configuration

Connect apps cannot access this REST resource.

Request

Query parameters

startAt

integer

maxResults

integer

Responses

200 response

application/json

PolicySummaryResponse
GET/rest/api/3/policies
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestJira } from "@forge/bridge"; const response = await requestJira(`/rest/api/3/policies`, { 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 { "isLast": true, "maxResults": 2154, "startAt": 2154, "total": 2154, "values": [ { "appliedProjectIds": [ 2154 ], "id": "<string>", "isDefault": true, "policyDescription": "<string>", "policyName": "<string>", "version": 2154 } ] }
GET

Get project policy stateExperimental

Returns the policies applied to a project.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-project

Connect apps cannot access this REST resource.

Request

Path parameters

projectIdOrKey

string

Required

Responses

200 response

application/json

array<StatePolicyDocument>

GET/rest/api/3/policies/project/{projectIdOrKey}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestJira } from "@forge/bridge"; const response = await requestJira(`/rest/api/3/policies/project/{projectIdOrKey}`, { 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": "<string>", "isDefault": true, "policyDescription": "<string>", "policyName": "<string>", "rulesByDomain": {}, "version": 2154 } ]
PUT

Set the policies applied to a projectExperimental

Sets the complete set of policies on a project (full replacement).

A project may have at most one policy assigned. Jira Admin only.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-project

Connect apps cannot access this REST resource.

Request

Path parameters

projectIdOrKey

string

Required

Request bodyapplication/json

the request containing the full set of policy IDs to assign

policyIds

array<string>

Responses

200 response

application/json

any

PUT/rest/api/3/policies/project/{projectIdOrKey}/policies
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 { requestJira } from "@forge/bridge"; var bodyData = `{ "policyIds": [ "<string>" ] }`; const response = await requestJira(`/rest/api/3/policies/project/{projectIdOrKey}/policies`, { 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 project policy rulesExperimental

Returns the configuration of the queried rule type IDs for a given project. Use this to check whether specific rules are active on a project, and if so, how they are configured. Only rules that are actually active on the project are returned. Rules that are not active are omitted from the response.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-project

Connect apps cannot access this REST resource.

Request

Path parameters

projectIdOrKey

string

Required

Query parameters

ruleTypeIds

array<string>

Responses

200 response

application/json

array<StatePolicyRule>

GET/rest/api/3/policies/project/{projectIdOrKey}/rules
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestJira } from "@forge/bridge"; const response = await requestJira(`/rest/api/3/policies/project/{projectIdOrKey}/rules`, { 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 [ { "description": "<string>", "domain": "<string>", "properties": {}, "ruleId": "<string>", "ruleTypeId": "<string>" } ]
POST

Validate policy application to a projectExperimental

Validates whether a set of policies can be applied to a project without actually applying them. Runs the compliance checks for each specified policy against the project's current configuration. This can be called before applying policies to preview potential issues. Jira Admin only.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-project

Connect apps cannot access this REST resource.

Request

Path parameters

projectIdOrKey

string

Required

Request bodyapplication/json

the validation request containing policy IDs to check

policyIds

array<string>

Responses

200 response

application/json

any

POST/rest/api/3/policies/project/{projectIdOrKey}/validate
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 { requestJira } from "@forge/bridge"; var bodyData = `{ "policyIds": [ "<string>" ] }`; const response = await requestJira(`/rest/api/3/policies/project/{projectIdOrKey}/validate`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
POST

Apply a policy to projectsExperimental

Adds a policy to a set of projects. Handles partial results: each project is processed independently, and failures on individual projects do not prevent the operation from proceeding on the remaining projects.

Jira Admin only. Returns 200 with the successful and failed project results if at least one project succeeds, or 409 if none do.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-configuration

Connect apps cannot access this REST resource.

Request

Path parameters

policyId

string

Required

Request bodyapplication/json

the request containing the list of project IDs

projectIds

array<integer>

Responses

200 response

application/json

BulkPolicyOperationResponse
POST/rest/api/3/policies/{policyId}/apply
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 { requestJira } from "@forge/bridge"; var bodyData = `{ "projectIds": [ 2154 ] }`; const response = await requestJira(`/rest/api/3/policies/{policyId}/apply`, { method: 'POST', 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 25 26 27 28 29 30 31 32 { "failed": [ { "errors": [ { "entityId": "<string>", "entityName": "<string>", "entityType": "<string>", "remediationHint": "<string>", "ruleTypeId": "<string>" } ], "message": "<string>", "projectId": 2154 } ], "successful": [ { "errors": [ { "entityId": "<string>", "entityName": "<string>", "entityType": "<string>", "remediationHint": "<string>", "ruleTypeId": "<string>" } ], "message": "<string>", "projectId": 2154 } ] }
POST

Remove a policy from projectsExperimental

Removes a policy from a set of projects. Handles partial results: each project is processed independently, and failures on individual projects do not prevent the operation from proceeding on the remaining projects.

Jira Admin only. Returns 200 with the successful and failed project results if at least one project succeeds, or 409 if none do.

Data Security Policy: Exempt from app access rules
Scopes
manage:jira-configuration

Connect apps cannot access this REST resource.

Request

Path parameters

policyId

string

Required

Request bodyapplication/json

the request containing the list of project IDs

projectIds

array<integer>

Responses

200 response

application/json

BulkPolicyOperationResponse
POST/rest/api/3/policies/{policyId}/remove
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 { requestJira } from "@forge/bridge"; var bodyData = `{ "projectIds": [ 2154 ] }`; const response = await requestJira(`/rest/api/3/policies/{policyId}/remove`, { method: 'POST', 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 25 26 27 28 29 30 31 32 { "failed": [ { "errors": [ { "entityId": "<string>", "entityName": "<string>", "entityType": "<string>", "remediationHint": "<string>", "ruleTypeId": "<string>" } ], "message": "<string>", "projectId": 2154 } ], "successful": [ { "errors": [ { "entityId": "<string>", "entityName": "<string>", "entityType": "<string>", "remediationHint": "<string>", "ruleTypeId": "<string>" } ], "message": "<string>", "projectId": 2154 } ] }

Rate this page: