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