PUT /api/spaces/:id/layers/:layerId — Изменить слой спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | PUT /api/spaces/:id/layers/:layerId |
| Auth | — |
| Scope токена | read_write |
| PG-функции | — |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: верхняя панель → «Спейсы» → карточка спейса → вкладка «Слои» → отредактируйте поле у уже переопределённого или кастомного слоя и подтвердите галочкой.
«Изменить» для слоя, который в спейсе уже живёт в оверлее — переопределённого базового или вашего кастомного. Для слоя спейса PUT и POST делают одно и то же (общий обработчик «создать-или-обновить»): эта страница описывает тот же путь под глаголом PUT, который интерфейс использует, когда слой уже существует и его правят. Набор полей и правила те же, что у переопределения, включая заголовок раздела документа (doc_title).
Чтобы откатить отдельное поле к коллекции — «вернуть исходное»; чтобы убрать слой из спейса — удалить.
Кто может. Менеджер своего спейса или администратор организации (RP-128). Сотрудник и наблюдатель слои не правят.
Для агента
Запись — токен со scope read_write; доступ проверяет requireSpacemanOrOrgAdmin (спейсмен спейса или org-admin его организации), иначе 403. Путь занесён в write-allowlist agent-gate точным шаблоном (server/auth/agentGate.js).
PUT /api/spaces/:id/layers/:layerId идёт в тот же обработчик upsertLayer, что и POST. Тело и поля полностью совпадают с переопределением слоя — передавайте только изменяемые атрибуты.
Пример запроса:
curl -X PUT https://specbuilder.vnimanie.ai/api/spaces/{id}/layers/{layerId} \ -H "Authorization: Bearer tak_..." \ -H "Content-Type: application/json" \ -d '{"color":"#3aa0ff"}'Ответ 200: { "ok": true }. Только JSON, без ETag; результат сверяйте через список слоёв.