---
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`

## Request

- Base URL: `https://no-default/wiki/api/v2`
- URL: `https://no-default/wiki/api/v2/space-permissions/transition/role-assignments`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `https://auth.atlassian.com/authorize`
    - Token URL: `https://auth.atlassian.com/oauth/token` scopes: `write:configuration:confluence`

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.dev/atlassian/apis/the-confluence-cloud-rest-api-v2.md) - [All operations](https://skmtc.dev/atlassian/apis/the-confluence-cloud-rest-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/atlassian/apis/the-confluence-cloud-rest-api-v2/revisions/246e0eec8f43?raw)
