2 routes
/trash
2 routes.
Trashed roots, and emptying them. Trashing is reversible; emptying is not.
GET /v1/trash
List trashed roots
ROOTS only: a row with its own trashedAt and no trashed ancestor. A to-do inside a trashed project is in the trash but is not listed here; restoring the project brings it back. Ordered (trashedAt desc, id desc), which is also what its cursor resumes in. Trashed NOTES and NOTE FOLDERS are listed too, for a credential that also holds notes:read; a note inside a trashed folder is not listed (the folder stands for it, as a project does for its to-dos). TAGS and FILTERS in the trash are listed for a credential that also holds tags:read / filters:read. ⚠ Every entry carries type, one of todo, container, note, note_folder, tag or filter. Branch on that, never on which other members happen to be present. It is type and not kind because kind already means area/project/subproject on a container.
Scopes: todos:read
Query
| parameter | type | notes | |
|---|---|---|---|
limit |
integer | optional | min 1, max 200 |
cursor |
string | optional | max 4096 chars |
Response
- 200 TrashList. One page of trashed roots: to-dos, notes, containers, note folders, tags and filters mixed, each tagged with its
type, and each withpurgesAtanddaysLeft(the 30-day purge the apps count down).
Errors: grant_expired * grant_revoked * unauthorized * forbidden_scope * account_too_large * validation_failed * rate_limited * internal
DELETE /v1/trash
Empty the trash
Permanently deletes every trashed root and everything under it, stored files included, and every tag and filter in the trash (a tag the full delete: it leaves every to-do, note and attachment). Irreversible. ⚠ When the trash holds a note, notes:write is required as well: emptying destroys it, and a scope that never mentioned notes should not be able to. The same for a tag (tags:write) and a filter (filters:write).
Scopes: todos:write
Response
- 200 TrashEmptied. How many rows were deleted.
Errors: grant_expired * grant_revoked * unauthorized * forbidden_scope * account_too_large * rate_limited * internal