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