DELETE /api/collections/:id — Удалить коллекцию
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | DELETE /api/collections/:id |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.soft_delete_collection, api.delete_collection |
| Таблицы | collection |
| SRM | SRM-225, SRM-334 |
| RP (права) | RP-104, RP-121 |
| Файл роута | server/routes/collections.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/collections.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: в навигации «Коллекции» → на карточке коллекции откройте меню «…» → «Удалить».
Удаляет коллекцию мягко: она уходит в корзину, а не стирается насовсем. Из списка пропадает, но её можно вернуть. Это удобно: случайное удаление обратимо, а проекты, уже созданные из коллекции, не ломаются.
Кто может. Удалить коллекцию может администратор организации-владельца или администратор платформы. Чужую коллекцию удалить нельзя — ответ 403.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). У роута нет route-middleware с ролью — владение проверяется внутри: удалять может org-admin организации-владельца или site-admin; иначе 403.
Это мягкое удаление: api.delete_collection делегирует в api.soft_delete_collection, проставляя deleted_at/deleted_by. Запись попадает в корзину, откуда её возвращает POST /api/collections/{id}/restore.
Путь-параметр :id — UUID коллекции. Тела у запроса нет.
Пример запроса:
curl -X DELETE https://specbuilder.vnimanie.ai/api/collections/0660b640-86b0-42c5-8e22-93973848bb56 \ -H "Authorization: Bearer tak_..."Ответ 200:
{ "ok": true }Cookie-клиент всегда получает JSON; Markdown-зеркало — токену с Accept: text/markdown (server/agent/negotiate.js). Список удалённых — GET /api/collections/deleted.