Перейти к содержимому

GET /api/admin/roles — Справочные роли

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPGET /api/admin/roles
Auth
Scope токенаread
PG-функцииapi.get_template_roles
Таблицыtemplate_role
SRMSRM-105
RP (права)
Файл роутаserver/routes/admin.js
Статусdone

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

аргументов не обнаружено (подтвердить вручную по server/routes/admin.js)

Коды ответов/ошибок (из хендлера): 500 (+ 200) — уточнить причины вручную

Для человека

Возвращает справочные роли платформы — эталонный набор специальностей (например, дата-инженер, ML-инженер), который служит палитрой при сборке коллекций и назначении исполнителей блокам. Это часть глобального справочника, единого на всю установку, а не ролей конкретной организации.

Не путать с системными ролями доступа (employee, org_admin, site_admin и т. д.) — те описаны в roles. Здесь речь о профессиональных ролях-исполнителях на графе.

Отдельной кнопки в интерфейсе нет: список читается системой (конвейер декомпозиции назначает роли блокам, опираясь на него). Само чтение доступно любому вошедшему пользователю; редактировать справочные роли могут только site-admin (см. создать, изменить, удалить справочную роль). Каждая запись несёт имя, цвета оформления (заливка, светлый фон, контур), описание и порядок сортировки.

Для агента

Токену недоступно. Путь /api/admin/* не входит в read-allowlist агентного шлюза (server/auth/agentGate.js, closed-by-default). Bearer-токен → 403. Markdown-зеркала/affordances у ресурса нет — JSON только cookie-клиенту. Косвенно эти данные доступны агенту через /api/templates/* (этот путь в allowlist есть).

Пример (cookie-сессия вошедшего пользователя):

Окно терминала
curl https://specbuilder.vnimanie.ai/api/admin/roles -b cookies.txt

Ответ 200 (массив, отсортирован по sort_order):

[
{ "id": "data-engineer", "name": "Дата-инженер", "color": "#2563eb", "light": "#dbeafe", "border": "#1d4ed8", "description": "...", "sort_order": 10 }
]

Связанные