DELETE /api/spaces/:spaceId/role-mapping/:source — Удалить сопоставление роли
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | DELETE /api/spaces/:spaceId/role-mapping/:source |
| Auth | requireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin |
| Scope токена | read_write |
| PG-функции | api.delete_space_role_mapping |
| Таблицы | space_role_mapping |
| SRM | SRM-302 |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: вкладка «Спейсы» → откройте спейс → «Настройки спейса» → раздел «Специализации» → откройте специализацию на редактирование → очистите выбор в поле сопоставления и сохраните.
Убирает сопоставление для одной специализации-источника: после этого специализация снова играет саму себя, без подмены. Удаляется ровно одно правило — то, что заведено на указанный источник; остальные сопоставления спейса не затрагиваются.
Кто может. Только менеджер спейса (спейсмен) и администратор организации (RP-158). Сотрудник и наблюдатель сопоставление не меняют.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). Удалить правило сможет только токен спейсмена этого спейса или org_admin его организации; иначе requireSpacemanOrOrgAdmin вернёт 403. Путь в write-allowlist agent-gate как SPACE_ROLEMAP_DELETE (server/auth/agentGate.js).
Источник передаётся в пути, тела у запроса нет:
| Параметр | Где | Назначение |
|---|---|---|
:id | path | UUID спейса |
:source | path | id исходной специализации, чьё сопоставление снимаем |
:source — то же значение, что в поле source сопоставления.
Пример запроса:
curl -X DELETE \ https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-.../role-mapping/MLOPS_ENGINEER \ -H "Authorization: Bearer tak_..."Ответ 200:
{ "ok": true }Идемпотентно по результату: удаление отсутствующего правила не ошибка. Ответ — всегда JSON ({ ok: true }), без Markdown-зеркала и ETag.