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

POST /api/spaces/:id/specialty-assignments — Назначить специальность

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

ПолеЗначение
HTTPPOST /api/spaces/:id/specialty-assignments
AuthrequireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin
Scope токенаread_write
PG-функцииapi.assign_specialty
Таблицы
SRM— (вне SRM, документировано по коду)
RP (права)
Файл роутаserver/routes/spaces.js
Статуспо коду (вне SRM)

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

АргументГдеОбяз.Заметка
specialty_idbodyподтвердить
user_idbodyподтвердить

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

Для человека

Как открыть: вкладка «Спейсы» → карточка спейса → «Настройки спейса» → выберите участника и закрепите за ним специальность из списка специализаций спейса.

Назначает участнику специальность спейса — то есть создаёт связку «этот человек — ML-инженер в этом спейсе». Так формируется картина «кто за что отвечает». Назначать можно только из специальностей, заведённых в спейсе (см. список специальностей), и только участникам спейса. Одному человеку можно дать несколько специальностей.

Это привязка роли-специализации, не смена системной роли участника (спейсмен/наблюдатель) — для последнего есть Изменить участника.

Кто может. Менеджер спейса (спейсмен) или администратор организации (requireSpacemanOrOrgAdmin). Остальные — 403.

Для агента

Запись — токен со scope read_write. Путь POST /api/spaces/:id/specialty-assignments на write-allowlist’е (server/auth/agentGate.js, операция SPECIALTY_ASSIGN). Под ролью владельца токена: спейсмен спейса или org_admin, иначе 403.

Путь:

ПараметрГдеНазначение
idpathUUID спейса

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

ПолеТипОбяз.Назначение
specialty_idstringдаКлюч специальности спейса
user_iduuidдаУчастник спейса, которому назначается специальность

Пример запроса:

Окно терминала
curl -X POST https://specbuilder.vnimanie.ai/api/spaces/a1b2c3d4-5678-49ab-8cde-f0123456789a/specialty-assignments \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"specialty_id":"ml-engineer","user_id":"7f3a1b22-9c44-4d55-8e66-aa11bb22cc33"}'

Ответ 201:

{ "ok": true }

Только JSON. Проверить результат — список назначений. Снять назначение — Снять назначение.

Связанные