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

POST /api/admin/roles — Создать справочную роль

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

ПолеЗначение
HTTPPOST /api/admin/roles
AuthrequireSiteAdmin — только site-admin
Scope токенаread_write
PG-функцииapi.upsert_template_role
Таблицы
SRM— (вне SRM, документировано по коду)
RP (права)
Файл роутаserver/routes/admin.js
Статуспо коду (вне SRM)

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

АргументГдеОбяз.Заметка
borderbodyподтвердить
colorbodyподтвердить
descriptionbodyподтвердить
idbodyподтвердить
lightbodyподтвердить
namebodyподтвердить
sort_orderbodyподтвердить

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

Для человека

Как открыть: войдите как site-admin (TOTP, см. Вход в Admin Panel) → Admin Panel → раздел справочника платформы → добавьте справочную роль и сохраните.

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

Это не системная роль доступа (employee, org_admin и т. п. — те фиксированы в коде и здесь не создаются), а профессиональная роль, которую можно назначать блокам. Операция — upsert: указали существующий id — поля перезапишутся.

Кто может. Только site-admin. Справочник один на платформу, новая роль становится доступна во всех организациях.

Для агента

Токену недоступно ни на каком scope. Site-admin-операция: requireSiteAdmin + блокировка /api/admin/* в агентном шлюзе (server/auth/agentGate.js). Bearer → 403. Только cookie-сессия site-admin.

Тело запроса (JSON):

ПолеТипОбяз.Назначение
idstringдаСистемный ключ роли (PK); существующий → перезапись (upsert)
namestringдаОтображаемое имя
colorstringдаОсновной цвет (заливка)
lightstringдаСветлый фон
borderstringдаЦвет контура
descriptionstringнетОписание; пусто → ''
sort_orderintнетПорядок; нет → 0

Пример (cookie-сессия site-admin):

Окно терминала
curl -X POST https://specbuilder.vnimanie.ai/api/admin/roles \
-b cookies.txt \
-H "Content-Type: application/json" \
-d '{"id":"mlops-engineer","name":"MLOps-инженер","color":"#16a34a","light":"#dcfce7","border":"#15803d"}'

Ответ 201:

{ "id": "mlops-engineer" }

Markdown-зеркала/affordances у ресурса нет.

Связанные