---
title: "Update Role"
method: PUT
path: "/api/v1/roles/"
tags: ["roles"]
---

# Update Role

`PUT /api/v1/roles/`

Update an existing role.

## Request body

- RoleUpdateRequest — Request model to update an existing role.
  - `name` string, required — The name of the role.
  - `description` string, nullable — The description of the role.
  - `permissions` string[], required — The permissions associated with the role. Available permissions can be found by calling `GET /permissions`.
  - `id` integer, required — The internal ID of the role.
  - `last_updated_comments` string, nullable — Comments for the most recent edit to the role.

## Response `200`

Successful Response

- RoleResponse — Information about a role.
  - `name` string, required — The name of the role.
  - `description` string, nullable — The description of the role.
  - `permissions` string[], required — The permissions associated with the role. Available permissions can be found by calling `GET /permissions`.
  - `id` integer, required — The internal ID of the role.
  - `last_updated_comments` string, nullable — Comments for the most recent edit to the role.
  - `is_system_role` boolean, required — Whether this is a built-in system role that cannot be updated or deleted
  - `last_updated` string, date-time, required — The timestamp of the most recent update to the role
  - `last_updated_by` string, required — The email of the user who last updated the role

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/asksyllable/apis/syllablesdk.md) · [All operations](https://skmtc.net/asksyllable/apis/syllablesdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/asksyllable/syllablesdk/revisions/534f1f22c775/schema)
