Перейти к содержимому

DELETE /api/collections/:id — Удалить коллекцию

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPDELETE /api/collections/:id
Auth
Scope токенаread_write
PG-функцииapi.soft_delete_collection, api.delete_collection
Таблицыcollection
SRMSRM-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.

Связанные