Дата актуальности: 2026-06-18. Read-only документация.
Справочник REST-эндпоинтов, экспонируемых роутами smarty-backend-stable/smarty-rights/routes/index.js.
Все маршруты подключены под префиксом /api/v2/ws/:_wsId/rights. Полный путь:
/api/v2/ws/:_wsId/rights + path createRoute
| Класс запроса |
Описание |
EmployeeRequest |
Авторизованный сотрудник workspace. Записи требуют manage_access (ws admin). |
Детальная модель прав доступа. Включает роли, grants, mode-entitlements, назначения ролей и отладочные эндпоинты. Enforcement выключен -- Stage 3 за per-workspace флагом.
| Метод |
Путь |
Auth |
Назначение |
GET |
/catalog |
Employee |
Каталог действий (ACTIONS), режимов (MODES) и встроенных ролей (BUILTIN_ROLES) |
| Метод |
Путь |
Auth |
Назначение |
POST |
/seed |
Admin |
Materialize встроенных ролей (+grants) для workspace (идемпотентно) |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
GET |
/enforcement |
Admin |
Текущее состояние enforcement-флага |
-- |
PUT |
/enforcement |
Admin |
Включить/выключить enforcement |
body: enabled (Boolean) |
| Метод |
Путь |
Auth |
Назначение |
POST |
/bots/migrate |
Admin |
Миграция botPermissions в rights_grants (идемпотентно) |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
GET |
/principals |
Admin |
Список всех принципалов workspace |
-- |
POST |
/principals/ensure |
Admin |
Создать/получить принципал для сотрудника |
body: employeeId (required), type |
GET |
/principals/:principalId/effective |
Admin |
Разрешённые права принципала (debug) |
-- |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
GET |
/roles |
Admin |
Список ролей workspace |
-- |
POST |
/roles |
Admin |
Создать роль |
body: name (required), mode (required), description |
PATCH |
/roles/:roleId |
Admin |
Обновить роль |
body: name, description |
DELETE |
/roles/:roleId |
Admin |
Удалить роль (нельзя builtin) |
-- |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
GET |
/grants/:subjectKind/:subjectId |
Admin |
Список grants для subject |
-- |
PUT |
/grants/:subjectKind/:subjectId |
Admin |
Полная замена набора grants |
body: grants[] ({ action, resource, scope, effect, condition }) |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
GET |
/entitlements/:subjectKind/:subjectId |
Admin |
Список entitlements для subject |
-- |
PUT |
/entitlements/:subjectKind/:subjectId |
Admin |
Полная замена набора entitlements |
body: entitlements[] ({ mode, enabled, sections[] }) |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
GET |
/assignments |
Admin |
Список назначений |
query: principalId (optional) |
POST |
/assignments |
Admin |
Создать назначение |
body: principalId (required), roleId (required), scope, expiresOn |
DELETE |
/assignments/:id |
Admin |
Удалить назначение |
-- |
| Метод |
Путь |
Auth |
Назначение |
Параметры |
POST |
/check |
Admin |
Проверка: имеет ли принципал право на действие |
body: principalId (required), action (required), resource (required), scope |