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