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

DELETE /api/spaces/:spaceId/specialties/:id — Удалить специальность спейса

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

ПолеЗначение
HTTPDELETE /api/spaces/:spaceId/specialties/:id
AuthrequireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin
Scope токенаread_write
PG-функцииapi.delete_space_specialty
Таблицыspace_specialty_overlay
SRMSRM-166
RP (права)RP-053
Файл роутаserver/routes/spaces.js
Статусdone

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

аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)

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

Для человека

Как открыть: вкладка «Спейсы» → карточка спейса → «Настройки спейса»«Специализации» → у нужной специальности действие удаления (под «…» / иконкой).

Убирает специальность из спейса. Для унаследованной из коллекции это «скрытие»: в оверлее ставится пометка «удалено», специальность пропадает из таблицы и из выбора при назначениях, но в самой коллекции остаётся. Поэтому удаление обратимо — вернуть скрытую специальность можно через Вернуть специальность. Кастомную (заведённую только в этом спейсе) удаление убирает целиком.

Удаление специальности касается только этого спейса; коллекция и другие спейсы не меняются.

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

Для агента

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

Для унаследованной специальности это soft-delete в оверлее (пометка «удалено»), не физическое удаление из коллекции — поэтому шаг обратим через Вернуть специальность. Не путайте с Снять переопределение: то возвращает поле к значению коллекции, а это скрывает специальность целиком.

Путь:

ПараметрГдеНазначение
spaceIdpathUUID спейса (в коде — :id)
idpathКлюч специальности (в коде — :specId)

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

Окно терминала
curl -X DELETE https://specbuilder.vnimanie.ai/api/spaces/a1b2c3d4-5678-49ab-8cde-f0123456789a/specialties/ml-engineer \
-H "Authorization: Bearer tak_..."

Ответ 200:

{ "ok": true }

Только JSON. Удалённая специальность пропадёт из списка специальностей, пока её не вернут.

Связанные