---
title: "Update Role"
method: PUT
path: "/roles/{roleId}"
tags: ["Role and Permission"]
---

# Update Role

`PUT /roles/{roleId}`

Updates a role by identifier. Pay special attention to how [updating](../docs/Updating-data-with-PUT.html) works.

See [List Permissions](#/operations/ListPermissions) for available permission names.

> Note: Only custom roles can be updated. Provisioned roles cannot be modified.

## Headers

- `Authorization` string, required
- `X-LC-Tenant` string, required

## Request body

- RoleUpdateRequest — Role update request.
  - `name` string — Name of the role.
  - `description` string — Description of the role.
  - `permissions` string[] — List of permission names associated with role.

## Response `204`

No Content

## Other responses

- `400` — Error codes: * "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response, or provisioned roles cannot be updated. * "empty": Empty input for the "roleId" path parameter variable. * "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. * "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. * "missing": Missing required field for the value mentioned in the "name" field on the error response.
- `401` — The user could not be identified.
- `403` — Error codes: * "forbidden": the authenticated user is not allowed to update the role.
- `404` — Error codes: * "notFound": the role could not be found by identifier.
- `409` — Error codes: * "duplicate" Role with the same name already exists.

---

[API](https://skmtc.net/rws/apis/trados-cloud-platform-api.md) · [All operations](https://skmtc.net/rws/apis/trados-cloud-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rws/trados-cloud-platform-api/revisions/d42dac7c28a3/schema)
