---
title: "Restore a Role"
method: POST
path: "/roles/{roleId}/restore"
tags: ["Permissions"]
---

# Restore a Role

`POST /roles/{roleId}/restore`

This endpoint restores an archived (soft-deleted) role by ID.

## Response `200`

The role was successfully retrieved.

- object — Single-item envelope mixin. `allOf` this into any show response that wraps its `data` payload in an outer object; the concrete schema (e.g. `ShowUser`) adds its own `data` property with the appropriate `$ref` and keeps its own title so the SDK surface is unchanged.
  - `data` SchemasRole, required
    - `id` string, uuid, required — The ID of the role.
    - `name` string, required — The name of the role.
    - `description` string, nullable, required — The description of the role.
    - `permissions` string[], nullable, required — The permissions assigned to this role.
    - `is_org_role` boolean, required — Whether this role is organisation-level. Other permissions are applied at the Site level.
    - `organisation_id` string, uuid, required — The ID of the organisation this role relates to

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found

---

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