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