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