---
title: "Update Role"
method: PUT
path: "/admin/roles/{role_id}"
tags: ["provider", "admin", "roles"]
---

# Update Role

`PUT /admin/roles/{role_id}`

Update role details (name, description, user_type).

## Path parameters

- `role_id` string, required

## Headers

- `TENANT` string, required
- `API-KEY` string, required

## Request body

- RoleUpdate
  - `name` string, nullable — Updated role name
  - `description` string, nullable — Updated role description
  - `userType` 'ADMIN' | 'PROVIDER' | 'USER'

## Response `200`

Successful Response

- RoleDetail — Extended role information including permissions
  - `id` string, required — Unique identifier for the role
  - `name` string, required — Role name (e.g., 'admin', 'user', 'billing_manager')
  - `userType` 'ADMIN' | 'PROVIDER' | 'USER', required
  - `createdDate` string, date-time, nullable — When the role was created
  - `updatedDate` string, date-time, nullable — When the role was last updated
  - `description` string, nullable — Description of what this role does
  - `permissions` string[] — List of permission strings

## Other responses

- `422` — Validation Error

---

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