Skip to content
GET /permission

The static catalog of permission names a role may hold, with display copy — the source of truth for the role editor and for validating `permissions` on `POST /role` / `PATCH /role/{id}`. Unpaginated and not org-scoped: the catalog is the same for every organization, and `next_cursor` / `prev_cursor` are always null.

Response Body

next_cursorstring,null
prev_cursorstring,null
resultobject[]
descriptionstring
groupstring

Display section for a role editor, e.g. Connectors.

high_trustboolean

True when granting this permission lets its holder create something the organization’s own governance rules cannot bind afterwards — today only connector:create, whose connectors are governed by identity and not by the destination they dial (see docs/access-model.md §11). Always present; surface it wherever the permission is granted.

labelstring

Short human label.

namestring

Permission name, e.g. member:manage — this is what goes on a role.

curl -X GET 'https://api.elaichi.ai/permission' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json'
const response = await fetch('https://api.elaichi.ai/permission', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/permission"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}

response = requests.get(url, headers=headers)
print(response.json())