init.Tasks openapi.json inittasks.com

11 routes

/views

11 routes.

The screens the apps draw, computed by the same engine they run. ⚠ Every one returns ID LISTS, never rows; resolve them against /todos, /notes and /containers. Pass ?today= with the user’s local date.

GET /v1/views/overview

The overview view

The sidebar and the whole tree: the tree order (every live area, project and subproject, empty ones included), the badge counts (navCounts: inbox, today, overdue, planned, anytime, someday, overview, notes, completed, trash), the numbers the home screen shows (homeCounts), the progress pies, and the open to-dos with no project that are not waiting in the inbox. There is no inbox block any more; see /views/inbox. Ids only.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/all-tasks

The all tasks view (the overview)

The apps renamed the overview to “all tasks” (2026-10-02). This is the same payload as /views/overview, which stays and is not deprecated. The badge key is still navCounts.overview.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/inbox

The inbox view

The doorway: to-dos that have not been given a when or a where answer yet, and the open capture rows. A to-do leaves it the moment it is scheduled, parked, filed or marked "no project"; see sorted on the to-do.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/today

The today view

Pass ?today= with the USER’s local date. Without it the server uses its own day, which is wrong for anyone not in UTC.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/planned

The planned view

Everything scheduled after the reference day (it replaces upcoming and next 7 days): the next six days, always, then later.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/upcoming

The planned view (deprecated alias)

Deprecated alias of /views/planned, kept so existing callers do not break. It answers the planned payload; the retired upcoming shape no longer exists.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/anytime

The anytime view

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/someday

The someday view

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/notes

The notes view

Three blocks in one payload: the note captures still in the inbox, then one group per area, project or subproject that holds notes, then the standalone notes. ⚠ Its scopes are not the pair the other views take, because it names inbox rows and note rows rather than to-dos. Ids only, as everywhere in /views.

Scopes: notes:read, containers:read, inbox:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.

Response

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

GET /v1/views/completed

The completed view

Completed to-dos (this was the logbook), grouped by local completion day, newest first.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.
from string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
to string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.

Response

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

GET /v1/views/logbook

The completed view (deprecated alias)

Deprecated alias of /views/completed, kept so existing callers do not break.

Scopes: todos:read, containers:read

Query

parameter type notes
today string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
tz string optional max 64 chars. An IANA time zone name (Europe/Amsterdam, Pacific/Auckland). It decides which calendar day an INSTANT falls in, which is the completed-day of doneToday, of every completed day group and of containerCompleted. Defaults to UTC; pass the user’s zone, the same one ?today= is computed in.
from string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.
to string (yyyy-MM-dd) optional max 10 chars. A calendar date, yyyy-MM-dd. No time and no zone, so it is the same day everywhere.

Response

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