---
title: "Bulk assign space permission roles"
method: POST
path: "/space-permissions/transition/role-assignments"
tags: ["Space Permission Transition"]
---

# Bulk assign space permission roles

`POST /space-permissions/transition/role-assignments`

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](https://confluence.atlassian.com/x/_AozKw) required**:
User must be a Confluence administrator.

## Request body

- BulkAssignRolesRequest
  - `assignments` BulkTransitionRoleAssignment[], required — List of role assignments to apply.
    - `permissionCombinationId` string, required — The ID of the permission combination.
    - `principalTypeAssignments` BulkTransitionPrincipalTypeAssignment[], required — List of principal type assignments.
      - `principalType` 'USER' | 'GROUP' | 'GUEST' | 'ANONYMOUS' | 'ALL_LICENSED_USERS_USER_CLASS' | 'ALL_PRODUCT_ADMINS_USER_CLASS' | 'APP', required — The type of principal.
      - `removeAccess` boolean, required — Whether to remove access for this principal type instead of assigning a role.
      - `roleId` string, nullable — The UUID of the space role to assign. Required when removeAccess is false.
  - `spaceSelection` BulkTransitionSpaceSelection, required
    - `spaceType` 'ALL' | 'ALL_EXCEPT_PERSONAL' | 'ALL_EXCEPT_SPECIFIC' | 'PERSONAL' | 'SPECIFIC', required — The space selection type.
    - `selectedSpaces` BulkTransitionSpaceTarget[] — List of specific spaces. Required when spaceType is SPECIFIC or ALL_EXCEPT_SPECIFIC.
      - `id` string, required — The space ID.
      - `key` string, required — The space key.

## Response `202`

Returned if the bulk assign roles task is successfully submitted.

- BulkTransitionTaskResponse
  - `taskId` string, required — The ID of the async task.
  - `status` 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required — The current status of the task.
  - `statusUrl` string, required — URL to poll for task progress.

## Other responses

- `400` — Returned if the request is invalid (e.g., empty assignments, missing space selection).
- `401` — Returned if the authentication credentials are incorrect or missing from the request.
- `404` — Returned if the calling user does not have permission or the resource is not found.

---

[API](https://skmtc.net/atlassian/apis/the-confluence-cloud-rest-api-v2.md) · [All operations](https://skmtc.net/atlassian/apis/the-confluence-cloud-rest-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlassian/the-confluence-cloud-rest-api-v2/revisions/451377c5a598/schema)
