Удаление и восстановление
Удаление задачи или события через API не окончательно. Запись уезжает в корзину, лежит там 30 дней и может быть восстановлена — вами через API или кем угодно из workspace через веб-приложение.
| Метод | Путь | |
|---|---|---|
| DELETE | /tasks/{id} |
Отправить задачу в корзину |
| GET | /tasks/trash |
Список удалённых задач (курсорная пагинация) |
| POST | /tasks/{id}/restore |
Вернуть задачу |
| DELETE | /scheduled-events/{id} |
Отправить событие в корзину |
| GET | /scheduled-events/trash |
Список удалённых событий |
| POST | /scheduled-events/{id}/restore |
Вернуть событие |
Для удаления нужно право tasks:write или events:write, для чтения корзины — соответствующее :read. Удалённая запись сразу пропадает из всех остальных списков и из отчётов: корзина — единственное место, где её ещё видно.
Список корзины
Заголовок раздела «Список корзины»curl "https://api.bordio.com/public/v1/tasks/trash" \ -H "Authorization: Bearer brd_sk_live_..."{ "data": [ { "id": "task_65dcc9c66f2e4e001ab18859", "object": "task", "title": "Согласовать новый макет", "project_id": "proj_65dcc9c66f2e4e001ab18801", "deleted_at": "2026-09-01T10:00:00.000Z", "expires_at": "2026-10-01T10:00:00.000Z", "deleted_by": "user_65dcc9c66f2e4e001ab18802" } ], "pagination": { "next_cursor": null, "has_more": false }}expires_at — момент, после которого запись уходит из корзины. Дальше она пропадает окончательно, а restore отвечает 404. Остального в этом списке нет — ни описания, ни кастомных полей, ни комментариев: прочитайте запись обычным GET, когда вернёте её.
В корзине видно ровно то же, что и везде. Недоступный вам проект не добавляет в неё ничего, а project-scoped ключ видит только свой проект. Когда от вашего имени действует ассистент или приложение, ваша роль в workspace должна ещё и разрешать управление корзиной — иначе и список, и восстановление будут отклонены.
Восстановление
Заголовок раздела «Восстановление»curl -X POST "https://api.bordio.com/public/v1/tasks/task_65dcc9c66f2e4e001ab18859/restore" \ -H "Authorization: Bearer brd_sk_live_..."В ответе — полная задача, ровно та же, что вернул бы GET /tasks/{id}.
О чём стоит знать заранее:
- Повторное восстановление отвечает
404. Вернувшаяся запись в корзине больше не лежит, восстанавливать нечего. Считайте404ответом «уже вернули или срок вышел», а не ошибкой в своём коде. - Проект должен быть жив. Задачу из удалённого проекта не вернуть, пока не восстановлен сам проект: запрос отвечает
400. - Повторение не восстанавливается повторением. Удаление одного вхождения открепляет его от серии, и обратно оно приходит разовой записью. Удаление серии целиком (
?scope=all) уносит и само правило повторения — это необратимо. - Восстановленная задача встаёт в конец своей колонки, а не на прежнее место.
- Комментарии и вложения возвращаются вместе с записью. Списанное на задачу время — тоже.
Удаление навсегда
Заголовок раздела «Удаление навсегда»Такого метода в API нет. Записи уходят из корзины сами через 30 дней либо когда их удаляют навсегда в веб-приложении. Ни один вызов отсюда не стирает запись немедленно.
Архив проекта
Заголовок раздела «Архив проекта»Проекты через API не удаляются. Завершённый проект отправляют в архив: он пропадает из workspace, но всё внутри остаётся на месте, и вернуть его можно в любой момент.
| Метод | Путь | |
|---|---|---|
| POST | /projects/{id}/archive |
В архив |
| POST | /projects/{id}/unarchive |
Обратно |
curl -X POST "https://api.bordio.com/public/v1/projects/proj_65dcc9c66f2e4e001ab18801/archive" \ -H "Authorization: Bearer brd_sk_live_..."Обеим операциям нужно право projects:write, обе возвращают проект. Архивация уже архивного проекта отвечает 400, как и разархивация неархивного.
Архивные проекты остаются в GET /projects с заполненным archived_at. Сузить список можно параметром archived:
curl "https://api.bordio.com/public/v1/projects?archived=false" \ -H "Authorization: Bearer brd_sk_live_..."Без параметра приходят и те, и другие — как раньше.
Задачи и события внутри архивного проекта не удаляются и в корзине не появляются.