---
title: "Update role permissions (grant/revoke)"
method: PATCH
path: "/roles/{id}/permissions"
tags: ["Roles"]
---

# Update role permissions (grant/revoke)

`PATCH /roles/{id}/permissions`

## Request body

- UpdateRolePermissionsRequest
  - `grant` integer[]
  - `revoke` integer[]

## Response `200`

OK

- ApiResponseRolePermissions
  - `success` boolean, required
  - `message` string, nullable
  - `timestamp` string, date-time, required
  - `data` object
    - `permissions` Permission[], required
      - `id` integer
      - `code` string
      - `name` string
      - `description` string, nullable
      - `category` string
      - `isActive` boolean
      - `createdAt` string, date-time, nullable
      - `updatedAt` string, date-time, nullable
    - `total` integer, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

## Changes

- **2025-09-21** `29cedfcf6ce1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/lobehub/apis/lobechat-openapi/changes/roles/:id/permissions/patch.md)

---

[API](https://skmtc.dev/lobehub/apis/lobechat-openapi.md) · [All operations](https://skmtc.dev/lobehub/apis/lobechat-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lobehub/lobechat-openapi/revisions/7be2ebcf191c/schema)
