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

DELETE /api/spaces/:spaceId/role-mapping/:source — Удалить сопоставление роли

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

ПолеЗначение
HTTPDELETE /api/spaces/:spaceId/role-mapping/:source
AuthrequireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin
Scope токенаread_write
PG-функцииapi.delete_space_role_mapping
Таблицыspace_role_mapping
SRMSRM-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).

Источник передаётся в пути, тела у запроса нет:

ПараметрГдеНазначение
:idpathUUID спейса
:sourcepathid исходной специализации, чьё сопоставление снимаем

: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.

Связанные