---
title: "Get Role Permission Matrix"
method: GET
path: "/internal/roles/matrix"
tags: ["internal"]
---

# Get Role Permission Matrix

`GET /internal/roles/matrix`

Get a read-only matrix view of roles and their permissions, organized by module and entity.

## Query parameters

- `company_id` string, uuid, nullable

## Response `200`

Successful Response

- RolePermissionMatrixResponse
  - `roles` RoleListing[], required
    - `role_id` string, required
    - `role_name` string, required
    - `archetype` 'tprm_admin' | 'business_owner' | 'tprm_analyst' | 'sme' | 'view_only' | 'collateral_admin' | 'collateral_reviewer' | 'collateral_submitter' | 'policy_reviewer' — Closed, product-owned set of role identities. Stable machine keys — never renamed.
  - `modules` ModulePermissionMatrix[], required
    - `module_name` string, required
    - `entities` EntityPermissionMatrix[], required
      - `entity_name` string, required
      - `permissions` PermissionMatrixEntry[], required
        - `permission_id` string, required
        - `permission_name` string, required
        - `description` string, required
        - `roles` object, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/kobaltlabs/apis/fastapi.md) · [All operations](https://skmtc.dev/kobaltlabs/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kobaltlabs/fastapi/revisions/3ff4c0bd276b/schema)
