---
title: "List permissions"
method: GET
path: "/permission"
tags: ["Permissions"]
---

# List permissions

`GET /permission`

## Request

- Base URL: `https://api.elaichi.ai`
- URL: `https://api.elaichi.ai/permission`
- Auth: HTTP bearer

Lists the permission names a role may hold, with display labels. This is the source of truth for validating `permissions` on `POST /role` and `PATCH /role/{id}`. The catalog is per organization: it lists the permissions this organization may grant. Paged with `limit` and `cursor`; read every page for the whole catalog.

## Query parameters

- `limit` integer
- `cursor` string

## Headers

- `X-Organization-Id` string

## Response `200`

OK

- object
  - `result` object[], required
    - `name` string: Permission name, e.g. `member:manage`. This is what goes on a role.
    - `label` string: Short human label.
    - `description` string
    - `group` string: Display section for a role editor, e.g. `Connectors`.
    - `high_trust` boolean: True when granting this permission lets its holder create something the organization’s own governance rules cannot bind afterwards. Today that is only `connector:create`: a connector is governed by who may use it, not by the destination it calls. Always present; show it wherever the permission is granted.
  - `next_cursor` string, nullable, required
  - `prev_cursor` string, nullable, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/elaichi/apis/elaichi-api.md) · [All operations](https://skmtc.dev/elaichi/apis/elaichi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/elaichi/apis/elaichi-api/revisions/b22cfb7b6d15?raw)
