---
title: "Set all permissions for a role"
method: PUT
path: "/api/roles/{role_id}/permissions"
tags: ["Permissions"]
---

# Set all permissions for a role

`PUT /api/roles/{role_id}/permissions`

Replace all permissions for a role with the given list.

The console's role editor. Delta-based like everything else, which is what
makes `Administrador` and `socio` editable again: they carry the legacy
`admin` row, the dialog resubmits it on every save, and the old per-id refusal
turned that into a permanent 403 on roles whose whole purpose is granting it.

## Path parameters

- `role_id` integer, required

## Headers

- `x-api-token` string, nullable

## Request body

- PermissionsBulkAssign
  - `permission_ids` integer[], required
  - `grant_privileged_role` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multigest/multigest-protected-api/revisions/4b44eb76b3ee/schema)
