Skip to main content

Tasks

Tasks are mirrored from connected sources. CTM adds local-only fields (fuzzy deadlines) on top of the source data.

Listing tasks

GET /tasks
Authorization: Bearer <token>

Filters

ParameterValuesDescription
statusopen, done, archivedFilter by status
sourcetodoist, google_tasksFilter by source
fuzzythis_week, this_month, somedayFilter by fuzzy deadline label
surfacedtrue / falseFilter by surfaced flag
pageinteger (default 1)Page number
limitinteger (default 50)Items per page

Example:

GET /tasks?status=open&fuzzy=this_week

Creating a task

Creates the task in CTM and writes it through to the specified connector source.

POST /tasks
Authorization: Bearer <token>
Content-Type: application/json

{
"title": "Write quarterly report",
"description": "Include Q1 metrics",
"source": "todoist",
"priority": 2
}

Fuzzy deadlines

Fuzzy deadlines are stored locally in CTM and never synced to the source.

Set:

PATCH /tasks/:id/fuzzy-deadline
Authorization: Bearer <token>
Content-Type: application/json

{ "type": "this_week", "remindEvery": "daily" }

Remove:

DELETE /tasks/:id/fuzzy-deadline
Authorization: Bearer <token>

Completing a task

Marks the task complete in CTM and writes through to the source.

POST /tasks/:id/complete
Authorization: Bearer <token>