init.Tasks openapi.json inittasks.com

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

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

Errors: grant_expired * grant_revoked * unauthorized * forbidden_scope * account_too_large * rate_limited * internal