POST /api/spaces/:id/reset — Сбросить спейс к исходному
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/spaces/:id/reset |
| Auth | requireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin |
| Scope токена | read_write |
| PG-функции | api.reset_space_to_collection |
| Таблицы | space_layer_overlay, space_block_overlay, space_specialty_overlay, space_edge_overlay |
| SRM | SRM-259 |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: откройте спейс → «Настройки спейса» → меню «…» в шапке → «Вернуть всё к исходному» → подтвердить.
Сбрасывает все переопределения спейса к исходному состоянию коллекции. Спейс строится из коллекции-шаблона, а поверх неё кладётся оверлей: переопределённые поля слоёв, блоков, специальностей, скрытые и добавленные элементы, изменённые связи. Этот метод стирает весь оверлей разом — спейс снова выглядит ровно как его коллекция.
Операция деструктивная и необратимая: вся ручная настройка спейса теряется, отдельной «отмены» нет. Поэтому интерфейс всегда просит подтверждение. Сами проекты в спейсе при этом не трогаются — сбрасывается только настройка спейса. Чтобы вернуть к исходному одно поле, а не всё — есть точечная кнопка «Вернуть исходное значение» рядом с полем (clear-override).
Кто может. Менеджер спейса (спейсмен) своего спейса или администратор организации (requireSpacemanOrOrgAdmin, RP-131).
Для агента
Запись — токен со scope read_write. В WRITE_ALLOW как SPACE_RESET и помечена HIGH risk: destructive — она безвозвратно чистит все четыре overlay-таблицы спейса (space_layer_overlay, space_block_overlay, space_specialty_overlay, space_edge_overlay). Маршрут защищён requireSpacemanOrOrgAdmin: применить может только токен владельца-спейсмена этого спейса или org_admin — иначе 403.
⚠️ Необратимо. Перед вызовом убедитесь, что владелец токена действительно хочет потерять всю кастомизацию спейса. Точечный возврат одного поля — через
…/clear-override, а не reset.
Путь:
| Параметр | Где | Назначение |
|---|---|---|
id | path | UUID спейса |
Тела у запроса нет.
Пример запроса:
curl -X POST https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-1234-4abc-9def-0123456789ab/reset \ -H "Authorization: Bearer tak_..."Ответ 200:
{ "ok": true }Если спейса нет — SPACE_NOT_FOUND → 404. После сброса перечитайте состояние через списки слоёв/блоков/специальностей спейса (или Получить спейс — счётчики придут в норму коллекции).