---
title: "Update a custom role"
method: PATCH
path: "/v1/roles/{roleId}"
tags: ["Role Management"]
---

# Update a custom role

`PATCH /v1/roles/{roleId}`

Updates custom role metadata, permissions, or default status. System roles are immutable. Omitting is_default preserves the current default status; true clears any previous default; false unsets this role as default.

## Path parameters

- `roleId` string, required

## Request body

- object
  - `org_id` string — Required when authenticating with a workspace-scoped API token: the git-provider organization id to target within the token's workspace. Ignored for organization and self-hosted keys.
  - `name` string
  - `description` string, nullable
  - `is_default` boolean
  - `permissions` object[]
    - `resource_id` string
    - `access_type` 'read' | 'write' | 'delete'

## Response `200`

Custom role updated

---

[API](https://skmtc.net/coderabbit/apis/coderabbit-api-spec.md) · [All operations](https://skmtc.net/coderabbit/apis/coderabbit-api-spec/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coderabbit/coderabbit-api-spec/versions/401789d85d01/schema)
