DELETE /api/spaces/:id/specialty-assignments/:specId/:userId — Снять назначение специальности
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | DELETE /api/spaces/:id/specialty-assignments/:specId/:userId |
| Auth | requireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin |
| Scope токена | read_write |
| PG-функции | api.unassign_specialty |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: вкладка «Спейсы» → карточка спейса → «Настройки спейса» → у нужной связки «участник — специальность» снимите назначение.
Снимает с участника ранее назначенную специальность — разрывает связку «человек ↔ специальность». Сам участник остаётся в спейсе, и сама специальность из спейса никуда не девается — убирается только их привязка друг к другу. Это обратимо: назначить снова можно через Назначить специальность.
Кто может. Менеджер спейса (спейсмен) или администратор организации (requireSpacemanOrOrgAdmin). Остальные — 403.
Для агента
Запись — токен со scope read_write. Путь DELETE /api/spaces/:id/specialty-assignments/:specId/:userId на write-allowlist’е (server/auth/agentGate.js, операция SPECIALTY_UNASSIGN). Под ролью владельца токена: спейсмен спейса или org_admin, иначе 403.
Ключ назначения — пара (specId, userId) в пути; тела запрос не несёт.
Путь:
| Параметр | Где | Назначение |
|---|---|---|
id | path | UUID спейса |
specId | path | Ключ специальности |
userId | path | UUID участника, с которого снимается специальность |
Пример запроса:
curl -X DELETE https://specbuilder.vnimanie.ai/api/spaces/a1b2c3d4-5678-49ab-8cde-f0123456789a/specialty-assignments/ml-engineer/7f3a1b22-9c44-4d55-8e66-aa11bb22cc33 \ -H "Authorization: Bearer tak_..."Ответ 200:
{ "ok": true }Только JSON. Связка пропадёт из списка назначений; участник и специальность остаются.