---
title: "Delete a role"
method: DELETE
path: "/api/roles/{role_id}"
tags: ["Permissions"]
---

# Delete a role

`DELETE /api/roles/{role_id}`

Delete a role — only ever a company-authored or a global one.

The full matrix, and why nothing here is a confirmable 409, is in
`permissions_db.delete_platform_role_guarded`. In short: a template deleted
from here has no repair path through the product, a system copy comes back
under a new id at the next invite, and deleting a HELD role is a company
lockout rather than an escalation — `get_effective_modules` INNER JOINs
`Z_Roles`, so the survivors resolve to the empty set.

## Path parameters

- `role_id` integer, required

## Headers

- `x-api-token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

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