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
  • Admin Key
  • Attachment
  • App Properties
  • Ancestors
  • Blog Post
  • Children
  • Classification Level
  • Comment
  • Content
  • Content Properties
  • Custom Content
  • Database
  • Data Policies
  • Descendants
  • Folder
  • Label
  • Like
  • Operation
  • Page
  • Redactions
  • Space
  • Space Permissions
  • Space Properties
  • Space Roles
  • Task
  • User
  • Version
  • Whiteboard
  • Other operations
Cloud
Confluence Cloud / Reference / REST API v2

Other operations

Postman Collection
OpenAPI
GET

List unassigned space permission combinationsExperimental

Lists the unique unassigned space permission combinations currently present on the tenant. Combinations that already map to a space role are filtered out server-side. Each row carries the decoded set of space permissions and the principal types that currently hold the combination — these inform which principalType values are valid to include in the matching bulk role-assignments request.

Results are always sorted by principalCount descending. Sort field and sort order are not configurable; page size is controlled by the limit query parameter (default 25, min 1, max 250). Use the cursor field to page through additional results. The generatedAt field reflects the last audit run that populated the combinations table — call the generate-combinations endpoint to refresh stale data.

Permissions required: User must be a Confluence administrator.

Data Security Policy: Exempt from app access rules
Scopes
read:configuration:confluence

Connect app scope requiredADMIN

Request

Query parameters

cursor

string

limit

integer

Responses

Returned with the page of unassigned combinations (possibly an empty results array if no combinations exist or if combinations have not yet been generated for this tenant).

application/json

ListSpacePermissionCombinationsResponse
GET/space-permissions/transition/combinations
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestConfluence } from "@forge/bridge"; const response = await requestConfluence(`/wiki/api/v2/space-permissions/transition/combinations`, { 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 { "results": [ { "combinationId": "<string>", "spaceCount": 54, "principalCount": 82, "permissions": [ { "id": "<string>", "displayName": "<string>" } ], "principalTypes": [ "USER" ] } ], "generatedAt": "<string>", "cursor": "<string>" }
POST

Generate space permission combinationsExperimental

Submits a task to refresh the space permission combinations in the database, which identifies all unique permission combinations across the site. This provides permission combination IDs that can be used with the assign-roles and remove-access endpoints.

Permissions required: User must be a Confluence administrator.

Data Security Policy: Exempt from app access rules
Scopes
write:configuration:confluence

Connect app scope requiredADMIN

Request

This request has no parameters.

Responses

Returned if the generation task is successfully submitted.

application/json

BulkTransitionTaskResponse
POST/space-permissions/transition/combinations
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 { requestConfluence } from "@forge/bridge"; const response = await requestConfluence(`/wiki/api/v2/space-permissions/transition/combinations`, { method: 'POST', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
202Response
1 2 3 4 5 { "taskId": "<string>", "status": "IN_PROGRESS", "statusUrl": "<string>" }
POST

Bulk assign space permission rolesExperimental

Bulk assigns roles for one or more permission combination IDs obtained from the space permission combinations. Supports targeting all spaces, specific spaces, or excluding specific spaces.

Permissions required: User must be a Confluence administrator.

Data Security Policy: Exempt from app access rules
Scopes
write:configuration:confluence

Connect app scope requiredADMIN

Request

Request bodyapplication/json

assignments

array<BulkTransitionRoleAssignment>

Required
spaceSelection

BulkTransitionSpaceSelection

Required

Responses

Returned if the bulk assign roles task is successfully submitted.

application/json

BulkTransitionTaskResponse
POST/space-permissions/transition/role-assignments
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestConfluence } from "@forge/bridge"; var bodyData = `{ "assignments": [ { "permissionCombinationId": "<string>", "principalTypeAssignments": [ { "principalType": "USER", "removeAccess": true, "roleId": "<string>" } ] } ], "spaceSelection": { "spaceType": "ALL", "selectedSpaces": [ { "id": "<string>", "key": "<string>" } ] } }`; const response = await requestConfluence(`/wiki/api/v2/space-permissions/transition/role-assignments`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
202Response
1 2 3 4 5 { "taskId": "<string>", "status": "IN_PROGRESS", "statusUrl": "<string>" }
POST

Bulk remove space permission accessExperimental

Bulk removes access for one or more permission combination IDs obtained from the space permission combinations. This removes all space permissions for the specified combinations across the targeted spaces.

Permissions required: User must be a Confluence administrator.

Data Security Policy: Exempt from app access rules
Scopes
write:configuration:confluence

Connect app scope requiredADMIN

Request

Request bodyapplication/json

permissionCombinationIds

array<string>

Required
spaceSelection

BulkTransitionSpaceSelection

Required

Responses

Returned if the bulk remove access task is successfully submitted.

application/json

BulkTransitionTaskResponse
POST/space-permissions/transition/access-removals
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestConfluence } from "@forge/bridge"; var bodyData = `{ "permissionCombinationIds": [ "<string>" ], "spaceSelection": { "spaceType": "ALL", "selectedSpaces": [ { "id": "<string>", "key": "<string>" } ] } }`; const response = await requestConfluence(`/wiki/api/v2/space-permissions/transition/access-removals`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
202Response
1 2 3 4 5 { "taskId": "<string>", "status": "IN_PROGRESS", "statusUrl": "<string>" }
GET

Get space permission transition task statusExperimental

Retrieves the status of an async space permission transition task. Use the taskId returned from the generate-combinations, assign-roles, or remove-access endpoints to poll for progress and completion.

Permissions required: User must be a Confluence administrator.

Data Security Policy: Exempt from app access rules
Scopes
read:configuration:confluence

Connect app scope requiredADMIN

Request

Path parameters

taskId

string

Required

Responses

Returned if the task is found and the status is successfully retrieved.

application/json

BulkTransitionTaskStatusResponse
GET/space-permissions/transition/tasks/{taskId}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import { requestConfluence } from "@forge/bridge"; const response = await requestConfluence(`/wiki/api/v2/space-permissions/transition/tasks/{taskId}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 { "taskId": "<string>", "status": "IN_PROGRESS", "errorMessage": "<string>" }

Rate this page: