---
title: "Batch Update App Resource Roles"
method: PUT
path: "/v2/app-resource-roles/batch"
tags: ["App Resource Role API"]
---

# Batch Update App Resource Roles

`PUT /v2/app-resource-roles/batch`

Update multiple app resource roles in a single transactional request. Either all updates succeed or all fail.

## Request body

- SvflowPublicapiBatchUpdateAppResourceRolesRequest
  - `roles` SvflowPublicapiUpdateAppResourceRoleInput[] — The roles to update.
    - `id` string — The ID of the role to update.
    - `name` string — The name of the role.
    - `description` string — A description of the role.
    - `requestsEnabled` boolean — Whether requests are enabled for the role.
    - `accessPolicyId` string, nullable — The default access policy for the role (optional).
    - `provisioningMethod` union — Provisioning configuration for a role. Exactly one method should be set.
      - object
        - `builtinWorkflow` SvflowPubapimodelsBuiltinWorkflowProvisioning, required — Provisioning is handled by the service's builtin workflow integration.
      - object
        - `customWorkflow` SvflowPubapimodelsCustomWorkflowProvisioning, required — Provisioning is handled by custom workflows for provision + deprovision.
          - `provisionWorkflowId` string — The workflow ID to provision access.
          - `deprovisionWorkflowId` string — The workflow ID to deprovision access.
      - object
        - `linkedRoles` SvflowPubapimodelsLinkedRolesProvisioning, required — Provisioning depends on prerequisite roles being provisioned first.
          - `linkedRoleIds` string[] — The IDs of prerequisite roles.
      - object
        - `manual` SvflowPubapimodelsManualProvisioning, required — Provisioning is handled manually by assigned users/groups.
          - `assignees` SvflowPubapimodelsManualProvisioningAssignee[] — Users and groups that should be assigned/notified for manual provisioning.
            - `assigneeId` string — The ID of the user or group.
            - `assigneeType` 'MANUAL_PROVISIONING_ASSIGNEE_TYPE_UNSPECIFIED' | 'MANUAL_PROVISIONING_ASSIGNEE_TYPE_USER' | 'MANUAL_PROVISIONING_ASSIGNEE_TYPE_GROUP'
    - `externalId` string, nullable — The external ID of the role in the external system (optional).
    - `externalData` string, nullable — Data from the external system as a JSON string (optional).
    - `requireFormConfirmation` boolean, nullable

## Response `200`

Success

- SvflowPublicapiBatchUpdateAppResourceRolesResponse
  - `data` SvflowPubapimodelsRole[] — The updated roles.
    - `id` string — The ID of the role.
    - `resourceId` string — The ID of the resource that the role belongs to.
    - `name` string — The name of the role.
    - `description` string — A description of the role.
    - `requestsEnabled` boolean — Whether requests are enabled for the role.
    - `accessPolicyId` string, nullable — The default access policy for the role.
    - `provisioningMethod` union — Provisioning configuration for a role. Exactly one method should be set.
      - object
        - `builtinWorkflow` SvflowPubapimodelsBuiltinWorkflowProvisioning, required — Provisioning is handled by the service's builtin workflow integration.
      - object
        - `customWorkflow` SvflowPubapimodelsCustomWorkflowProvisioning, required — Provisioning is handled by custom workflows for provision + deprovision.
          - `provisionWorkflowId` string — The workflow ID to provision access.
          - `deprovisionWorkflowId` string — The workflow ID to deprovision access.
      - object
        - `linkedRoles` SvflowPubapimodelsLinkedRolesProvisioning, required — Provisioning depends on prerequisite roles being provisioned first.
          - `linkedRoleIds` string[] — The IDs of prerequisite roles.
      - object
        - `manual` SvflowPubapimodelsManualProvisioning, required — Provisioning is handled manually by assigned users/groups.
          - `assignees` SvflowPubapimodelsManualProvisioningAssignee[] — Users and groups that should be assigned/notified for manual provisioning.
            - `assigneeId` string — The ID of the user or group.
            - `assigneeType` 'MANUAL_PROVISIONING_ASSIGNEE_TYPE_UNSPECIFIED' | 'MANUAL_PROVISIONING_ASSIGNEE_TYPE_USER' | 'MANUAL_PROVISIONING_ASSIGNEE_TYPE_GROUP'
    - `externalId` string, nullable — The external ID of the role in the external system (optional).
    - `externalData` string, nullable — Data from the external system as a JSON string (computed by server).
    - `requireFormConfirmation` boolean
    - `tagIds` string[] — IDs of the tags currently attached to this role.

## Other responses

- `default` — Error

---

[API](https://skmtc.net/serval/apis/serval-public-api.md) · [All operations](https://skmtc.net/serval/apis/serval-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/serval/serval-public-api/versions/0549515e9384/schema)
