---
title: "Update Role Permissions"
method: PATCH
path: "/api/v1/admin/roles/{role_id}"
tags: ["admin-roles"]
---

# Update Role Permissions

`PATCH /api/v1/admin/roles/{role_id}`

Update a role's permissions.

Does not use ``require_permission`` -- the service enforces that only
super-admins can modify role permissions. The ``super_admin`` role
itself cannot be modified.

## Path parameters

- `role_id` string, uuid, required

## Request body

- RolePermissionUpdate — Request to update a role's permissions.
  - `permission_ids` string[], required — Complete list of permission IDs for this role

## Response `200`

Successful Response

- RoleDetailResponse — Full role detail with permissions and assigned admins.
  - `id` string, uuid, required
  - `name` string, required
  - `description` string, nullable
  - `permissions` PermissionResponse[]
    - `id` string, uuid, required
    - `resource` string, required
    - `action` string, required
  - `admins` AdminSummary[]
    - `id` string, uuid, required
    - `email` string, required
    - `first_name` string, required
    - `last_name` string, required

## Other responses

- `422` — Validation Error

---

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