---
title: "Permissions catalog"
method: GET
path: "/api/v3/roles/permissions"
tags: ["Roles"]
---

# Permissions catalog

`GET /api/v3/roles/permissions`

## Request

- Base URL: `https://embedded.improvado.io`
- URL: `https://embedded.improvado.io/api/v3/roles/permissions`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/improvado/apis/improvado-embedded-api-v3/docs/api/v3/roles/permissions/get.ts> (a function with typed inputs; its response is checked against the schema)

Curated catalog of product layers and the permissions that can be granted on each.
Stable display order; `title`/`description` are human-readable and safe to render directly.

## Response `200`

Catalog of layers and permissions.

- PermissionsCatalogResponse
  - `layers` CatalogLayer[], required: Ordered list of product layers with their valid permissions.
    - `code` string, required: Product layer code (stable identifier, e.g. `extract`, `admin`).
    - `title` string, required: Human-readable layer name.
    - `description` string, required: Layer description suitable for headers/tooltips.
    - `permissions` CatalogPermission[], required
      - `code` string, required: Permission code (stable identifier, e.g. `view`, `create`, `manage_roles`).
      - `title` string, required: Human-readable title.
      - `description` string, required: Longer description suitable for tooltips.

## Other responses

- `401`: Authentication credentials were not provided.

---

[API](https://skmtc.dev/improvado/apis/improvado-embedded-api-v3.md) - [All operations](https://skmtc.dev/improvado/apis/improvado-embedded-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/improvado/apis/improvado-embedded-api-v3/revisions/a881099bd6c4?raw)
