DELETE /api/projects/:id — Удалить проект (в корзину)
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | DELETE /api/projects/:id |
| Auth | requireAuth — только авторизованный |
| Scope токена | read_write |
| PG-функции | api.soft_delete_project |
| Таблицы | project |
| SRM | SRM-005, SRM-006 |
| RP (права) | RP-016, RP-017 |
| Файл роута | server/routes/projects.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/projects.js)
Коды ответов/ошибок (из хендлера): 403 (+ 200) — уточнить причины вручную
Для человека
Как открыть: на стартовом экране со списком проектов наведитесь на карточку проекта, нажмите меню «⋯» и выберите «Удалить».
Удаляет проект в корзину — это обратимое («мягкое») удаление. Проект исчезает из списка, но не пропадает: он и весь его граф сохраняются, просто помечаются как удалённые. Удалённый проект можно найти во вкладке «Корзина» и там вернуть или стереть безвозвратно.
Кто может. Свой проект удаляет его владелец. Чужой проект может удалить администратор (на уровне организации и сайта). Наблюдатель не может удалять проекты.
Если прав нет — придёт ошибка доступа (403).
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). Эндпоинт под requireAuth: гостю недоступен, нужен авторизованный владелец токена. Вызов идёт под его ролью — те же ограничения, что в UI.
Тела у запроса нет — только идентификатор проекта в пути.
Удаление мягкое: проставляется deleted_at, проект и граф остаются в БД и видны в корзине. Операция обратима — см. восстановление. Чтобы стереть безвозвратно, используйте удаление навсегда.
Пример запроса:
curl -X DELETE https://specbuilder.vnimanie.ai/api/projects/a1b2c3d4-... \ -H "Authorization: Bearer tak_..."Ответ 200:
{ "ok": true }Cookie-клиент (браузер) всегда получает JSON; Markdown-зеркало отдаётся только токену с Accept: text/markdown (server/agent/negotiate.js).
Коды ошибок: 403 — нет прав на удаление этого проекта (или проекта не существует — PG-функция не раскрывает разницу). Подробнее — Ошибки.
Связанные
- Экраны: Список проектов
- Конвенции · Роли · Ошибки · Глоссарий