cirrux

Tasks API

Read a user’s task lists. A task list is where tasks live: every mailbox comes with one called Reminders, and apps such as Apple Reminders can add more over CalDAV. Endpoints for the tasks on a list are coming next. All endpoints are under https://api.cirrux.co/public_api/v1/task_lists.

Every endpoint acts on one person’s tasks, so it needs a user-scoped OAuth token. A workspace API key is refused with 403 forbidden. Reading needs tasks.read. Tasks are granted separately from calendars: a token with calendar.read or calendar.write alone is refused with 403 insufficient_scope.

A calendar can hold events and tasks at once, which some CalDAV apps create. Such a calendar is listed here and under the Calendar API too, and a calendar that holds only tasks is listed here alone.

The task list object

FieldTypeRequiredDescription
objectstringnoAlways task_list.
uuidstringnoThis list’s entry in one mailbox. The task endpoints take task_list_uuid instead.
task_list_uuidstringnoThe task list itself.
mailbox_uuidstringnoThe mailbox this entry belongs to.
mailbox_addressstring | nullnoThat mailbox’s email address. Every mailbox has a list called "Reminders", and this tells them apart.
namestringnoThe list’s name in this mailbox.
colorstring | nullnoA #RRGGBB hex color.
rolestringnoYour access: owner, editor or viewer.
can_writebooleannoWhether you may change the tasks on this list (owner or editor).
sourcestringnoowned for your own list, shared for one someone shared with you.
positionnumber | nullnoSort position.

Name, color and position belong to a mailbox, not to the list, so a list linked to two of your mailboxes appears twice, with the same task_list_uuid and a different uuid.

{
  "object": "task_list",
  "uuid": "6f1d2c3b-1111-4a2b-8c3d-000000000001",
  "task_list_uuid": "9a8b7c6d-2222-4e5f-9a1b-000000000002",
  "mailbox_uuid": "1c2d3e4f-3333-4a5b-8c6d-000000000003",
  "mailbox_address": "jane@example.com",
  "name": "Reminders",
  "color": "#e8985e",
  "role": "owner",
  "can_write": true,
  "source": "owned",
  "position": 1
}

Task lists

List task lists

GET/v1/task_lists

Returns every task list you can see in the token’s workspace, one entry per mailbox it is linked to, ordered by position and then name. Not paginated. Scope tasks.read.

curl https://api.cirrux.co/public_api/v1/task_lists \
  -H "Authorization: Bearer $CIRRUX_TOKEN"
{
  "object": "list",
  "url": "/v1/task_lists",
  "has_more": false,
  "data": [
    {
      "object": "task_list",
      "name": "Reminders",
      "task_list_uuid": "9a8b7c6d-…",
      …
    }
  ]
}