Skip to content
Rigel docs
Open Rigel

Projects and how far along they are

tasks.project.list

GET/api/v1/households/{household_id}/queries/tasks.project.list

  • Query
  • Rigel runs it

Top-level tasks that have subtasks, with open and done counts and their open subtasks. Unfinished projects first, by priority then due date.

Parameters#

Projects and how far along they are: parameters
FieldDescription
household_idpathstringrequired

The household's ID.

include_donequeryboolean or stringoptional

Include finished projects too. Defaults to false.

Response#

200 The answer.

Projects and how far along they are: response fields
FieldDescription
itemsarray of objectsrequired
items[].projectobjectrequired
items[].project.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].project.titlestringrequiredNo description.
items[].project.stateone of: todo, doing, blocked, donerequired

todo (to do), doing (someone's on it), blocked (can't go on until something happens) or done.

items[].project.priorityinteger or nullrequired

The priority as a number, or null for none.

0 to 4
items[].project.priority_wordsone of: Urgent, High, Medium, Low, Someday, null or nullrequired

The priority in words, such as "High", or null for none.

items[].project.assigneeobject or nullrequired

Who's doing it, or null for no one yet.

items[].project.assignee.idstringrequired

A person ID, such as per_01JC0000000000000000000000.

items[].project.assignee.namestringrequiredNo description.
items[].project.due_datestring (date) or nullrequired

A calendar date, YYYY-MM-DD.

items[].project.is_overduebooleanrequired

Not done, and the due date is before today in the household's time zone.

items[].project.scheduled_startstring (date-time) or nullrequiredNo description.
items[].project.scheduled_endstring (date-time) or nullrequiredNo description.
items[].project.waiting_untilstring (date-time) or nullrequired

For blocked work waiting on someone outside: when to look again.

items[].project.is_waiting_overbooleanrequired

Blocked and waiting, and the waiting time has passed: it's back in the queue.

items[].project.is_blockedbooleanrequired

Blocked by its state, or by a dependency that isn't done.

items[].project.blocked_byarray of objectsrequired

The unfinished tasks this one depends on.

items[].project.blocked_by[].idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].project.blocked_by[].titlestringrequiredNo description.
items[].project.dependent_countintegerrequired

How many unfinished tasks are waiting on this one.

items[].project.tagsarray of objectsrequired
items[].project.tags[].idstringrequired

A tag ID, such as tag_01JC0000000000000000000000.

items[].project.tags[].namestringrequiredNo description.
items[].project.parentobject or nullrequired

The task this is a subtask of.

items[].project.parent.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].project.parent.titlestringrequiredNo description.
items[].project.projectobject or nullrequired

The top-level task this belongs to, when it isn't one itself.

items[].project.project.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].project.project.titlestringrequiredNo description.
items[].project.subtask_open_countintegerrequired

Unfinished subtasks, at any depth.

items[].project.subtask_done_countintegerrequired

Finished subtasks, at any depth.

items[].project.duplicate_ofobject or nullrequired

A task, by ID and title.

items[].project.duplicate_of.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].project.duplicate_of.titlestringrequiredNo description.
items[].project.completed_atstring (date-time) or nullrequiredNo description.
items[].project.created_atstring (date-time)requiredNo description.
items[].project.updated_atstring (date-time)requiredNo description.
items[].project.labelstringrequired

The task in one line, for reading aloud: "Order shelves · High · Ada · due Nov 20 · blocked by Measure".

items[].open_subtasksarray of objectsrequired

Its unfinished subtasks at any depth, in order.

items[].open_subtasks[].idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].open_subtasks[].titlestringrequiredNo description.
items[].open_subtasks[].stateone of: todo, doing, blocked, donerequired

todo (to do), doing (someone's on it), blocked (can't go on until something happens) or done.

items[].open_subtasks[].priorityinteger or nullrequired

The priority as a number, or null for none.

0 to 4
items[].open_subtasks[].priority_wordsone of: Urgent, High, Medium, Low, Someday, null or nullrequired

The priority in words, such as "High", or null for none.

items[].open_subtasks[].assigneeobject or nullrequired

Who's doing it, or null for no one yet.

items[].open_subtasks[].assignee.idstringrequired

A person ID, such as per_01JC0000000000000000000000.

items[].open_subtasks[].assignee.namestringrequiredNo description.
items[].open_subtasks[].due_datestring (date) or nullrequired

A calendar date, YYYY-MM-DD.

items[].open_subtasks[].is_overduebooleanrequired

Not done, and the due date is before today in the household's time zone.

items[].open_subtasks[].scheduled_startstring (date-time) or nullrequiredNo description.
items[].open_subtasks[].scheduled_endstring (date-time) or nullrequiredNo description.
items[].open_subtasks[].waiting_untilstring (date-time) or nullrequired

For blocked work waiting on someone outside: when to look again.

items[].open_subtasks[].is_waiting_overbooleanrequired

Blocked and waiting, and the waiting time has passed: it's back in the queue.

items[].open_subtasks[].is_blockedbooleanrequired

Blocked by its state, or by a dependency that isn't done.

items[].open_subtasks[].blocked_byarray of objectsrequired

The unfinished tasks this one depends on.

items[].open_subtasks[].blocked_by[].idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].open_subtasks[].blocked_by[].titlestringrequiredNo description.
items[].open_subtasks[].dependent_countintegerrequired

How many unfinished tasks are waiting on this one.

items[].open_subtasks[].tagsarray of objectsrequired
items[].open_subtasks[].tags[].idstringrequired

A tag ID, such as tag_01JC0000000000000000000000.

items[].open_subtasks[].tags[].namestringrequiredNo description.
items[].open_subtasks[].parentobject or nullrequired

The task this is a subtask of.

items[].open_subtasks[].parent.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].open_subtasks[].parent.titlestringrequiredNo description.
items[].open_subtasks[].projectobject or nullrequired

The top-level task this belongs to, when it isn't one itself.

items[].open_subtasks[].project.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].open_subtasks[].project.titlestringrequiredNo description.
items[].open_subtasks[].subtask_open_countintegerrequired

Unfinished subtasks, at any depth.

items[].open_subtasks[].subtask_done_countintegerrequired

Finished subtasks, at any depth.

items[].open_subtasks[].duplicate_ofobject or nullrequired

A task, by ID and title.

items[].open_subtasks[].duplicate_of.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].open_subtasks[].duplicate_of.titlestringrequiredNo description.
items[].open_subtasks[].completed_atstring (date-time) or nullrequiredNo description.
items[].open_subtasks[].created_atstring (date-time)requiredNo description.
items[].open_subtasks[].updated_atstring (date-time)requiredNo description.
items[].open_subtasks[].labelstringrequired

The task in one line, for reading aloud: "Order shelves · High · Ada · due Nov 20 · blocked by Measure".

Errors#

Every error has the same envelope: error.code, error.message, error.details, error.recovery and error.request_id.

Projects and how far along they are: errors
StatusCodeWhen
400validation_failedA field is missing, misspelled or out of range. details.fields lists each problem.
401unauthenticatedThe request has no valid session.
404not_foundThe household doesn't exist, or you aren't a member of it.

Examples#

These are real. Each was recorded from a sample household, the Okafors, running through the whole API when this site was built.

List the projects

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.project.list' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.project.list", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.project.list HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>
Response, 200
HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT5XE2MNRN6GCWGCCFW2

{
  "items": [
    {
      "project": {
        "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
        "title": "Redo the playroom",
        "state": "todo",
        "priority": 2,
        "priority_words": "Medium",
        "assignee": null,
        "due_date": "2026-12-12",
        "is_overdue": false,
        "scheduled_start": null,
        "scheduled_end": null,
        "waiting_until": null,
        "is_waiting_over": false,
        "is_blocked": false,
        "blocked_by": [],
        "dependent_count": 0,
        "tags": [
          {
            "id": "tag_01M6V9CT2WXE7DZSSQDXC6B23K",
            "name": "house"
          }
        ],
        "parent": null,
        "project": null,
        "subtask_open_count": 6,
        "subtask_done_count": 1,
        "duplicate_of": null,
        "completed_at": null,
        "created_at": "2026-11-07T15:17:52.863Z",
        "updated_at": "2026-11-07T15:17:52.863Z",
        "label": "Redo the playroom · Medium · due Dec 12"
      },
      "open_subtasks": [
        {
          "id": "tsk_01M6V9CT3WVB6N1KAYP7MV4QCK",
          "title": "Clear the playroom floor",
          "state": "todo",
          "priority": 1,
          "priority_words": "High",
          "assignee": {
            "id": "per_01M6V9CS79TMYHDAM7FTA9ZK3Z",
            "name": "Nia"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": false,
          "blocked_by": [],
          "dependent_count": 0,
          "tags": [
            {
              "id": "tag_01M6V9CT2WXE7DZSSQDXC6B23K",
              "name": "house"
            },
            {
              "id": "tag_01M6V9CT2M8VA69RH7FX0XX026",
              "name": "kids"
            }
          ],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.892Z",
          "updated_at": "2026-11-07T15:17:52.894Z",
          "label": "Clear the playroom floor · High · Nia"
        },
        {
          "id": "tsk_01M6V9CT2Z2YSDMW6DEKRSS7RW",
          "title": "Pick a paint color",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS79TMYHDAM7FTA9ZK3Z",
            "name": "Nia"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": false,
          "blocked_by": [],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Pick a paint color · Nia"
        },
        {
          "id": "tsk_01M6V9CT2ZFNJNSQ7DKS5SFHHS",
          "title": "Get a carpenter's quote for built-in shelves",
          "state": "blocked",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
            "name": "Ada Okafor"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": "2026-11-12T15:17:52.886Z",
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.886Z",
          "label": "Get a carpenter's quote for built-in shelves · Ada Okafor · waiting until Nov 12"
        },
        {
          "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
          "title": "Order the shelves",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
            "name": "Ada Okafor"
          },
          "due_date": "2026-11-21",
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [
            {
              "id": "tsk_01M6V9CT2ZFNJNSQ7DKS5SFHHS",
              "title": "Get a carpenter's quote for built-in shelves"
            }
          ],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Order the shelves · Ada Okafor · due Nov 21 · blocked by Get a carpenter's quote for built-in shelves"
        },
        {
          "id": "tsk_01M6V9CT2ZK0Q2GZQQNSQY33QB",
          "title": "Paint the walls",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS744BQQH188FS6CXY9W",
            "name": "Ben Okafor"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [
            {
              "id": "tsk_01M6V9CT2Z2YSDMW6DEKRSS7RW",
              "title": "Pick a paint color"
            }
          ],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Paint the walls · Ben Okafor · blocked by Pick a paint color"
        },
        {
          "id": "tsk_01M6V9CT2Z2YZR1SSR7XB5H7RF",
          "title": "Assemble the shelves",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS744BQQH188FS6CXY9W",
            "name": "Ben Okafor"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": "2026-11-14T16:00:00.000Z",
          "scheduled_end": "2026-11-14T18:00:00.000Z",
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [
            {
              "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
              "title": "Order the shelves"
            },
            {
              "id": "tsk_01M6V9CT2ZK0Q2GZQQNSQY33QB",
              "title": "Paint the walls"
            }
          ],
          "dependent_count": 0,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Assemble the shelves · Ben Okafor · blocked by Order the shelves, Paint the walls"
        }
      ]
    }
  ]
}

List finished projects too

include_done adds projects with nothing left to do.

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.project.list?include_done=true' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.project.list?include_done=true", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.project.list?include_done=true HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>
Response, 200
HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT5ZTF05NAGTEZ4K4EY9

{
  "items": [
    {
      "project": {
        "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
        "title": "Redo the playroom",
        "state": "todo",
        "priority": 2,
        "priority_words": "Medium",
        "assignee": null,
        "due_date": "2026-12-12",
        "is_overdue": false,
        "scheduled_start": null,
        "scheduled_end": null,
        "waiting_until": null,
        "is_waiting_over": false,
        "is_blocked": false,
        "blocked_by": [],
        "dependent_count": 0,
        "tags": [
          {
            "id": "tag_01M6V9CT2WXE7DZSSQDXC6B23K",
            "name": "house"
          }
        ],
        "parent": null,
        "project": null,
        "subtask_open_count": 6,
        "subtask_done_count": 1,
        "duplicate_of": null,
        "completed_at": null,
        "created_at": "2026-11-07T15:17:52.863Z",
        "updated_at": "2026-11-07T15:17:52.863Z",
        "label": "Redo the playroom · Medium · due Dec 12"
      },
      "open_subtasks": [
        {
          "id": "tsk_01M6V9CT3WVB6N1KAYP7MV4QCK",
          "title": "Clear the playroom floor",
          "state": "todo",
          "priority": 1,
          "priority_words": "High",
          "assignee": {
            "id": "per_01M6V9CS79TMYHDAM7FTA9ZK3Z",
            "name": "Nia"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": false,
          "blocked_by": [],
          "dependent_count": 0,
          "tags": [
            {
              "id": "tag_01M6V9CT2WXE7DZSSQDXC6B23K",
              "name": "house"
            },
            {
              "id": "tag_01M6V9CT2M8VA69RH7FX0XX026",
              "name": "kids"
            }
          ],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.892Z",
          "updated_at": "2026-11-07T15:17:52.894Z",
          "label": "Clear the playroom floor · High · Nia"
        },
        {
          "id": "tsk_01M6V9CT2Z2YSDMW6DEKRSS7RW",
          "title": "Pick a paint color",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS79TMYHDAM7FTA9ZK3Z",
            "name": "Nia"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": false,
          "blocked_by": [],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Pick a paint color · Nia"
        },
        {
          "id": "tsk_01M6V9CT2ZFNJNSQ7DKS5SFHHS",
          "title": "Get a carpenter's quote for built-in shelves",
          "state": "blocked",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
            "name": "Ada Okafor"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": "2026-11-12T15:17:52.886Z",
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.886Z",
          "label": "Get a carpenter's quote for built-in shelves · Ada Okafor · waiting until Nov 12"
        },
        {
          "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
          "title": "Order the shelves",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
            "name": "Ada Okafor"
          },
          "due_date": "2026-11-21",
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [
            {
              "id": "tsk_01M6V9CT2ZFNJNSQ7DKS5SFHHS",
              "title": "Get a carpenter's quote for built-in shelves"
            }
          ],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Order the shelves · Ada Okafor · due Nov 21 · blocked by Get a carpenter's quote for built-in shelves"
        },
        {
          "id": "tsk_01M6V9CT2ZK0Q2GZQQNSQY33QB",
          "title": "Paint the walls",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS744BQQH188FS6CXY9W",
            "name": "Ben Okafor"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": null,
          "scheduled_end": null,
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [
            {
              "id": "tsk_01M6V9CT2Z2YSDMW6DEKRSS7RW",
              "title": "Pick a paint color"
            }
          ],
          "dependent_count": 1,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Paint the walls · Ben Okafor · blocked by Pick a paint color"
        },
        {
          "id": "tsk_01M6V9CT2Z2YZR1SSR7XB5H7RF",
          "title": "Assemble the shelves",
          "state": "todo",
          "priority": null,
          "priority_words": null,
          "assignee": {
            "id": "per_01M6V9CS744BQQH188FS6CXY9W",
            "name": "Ben Okafor"
          },
          "due_date": null,
          "is_overdue": false,
          "scheduled_start": "2026-11-14T16:00:00.000Z",
          "scheduled_end": "2026-11-14T18:00:00.000Z",
          "waiting_until": null,
          "is_waiting_over": false,
          "is_blocked": true,
          "blocked_by": [
            {
              "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
              "title": "Order the shelves"
            },
            {
              "id": "tsk_01M6V9CT2ZK0Q2GZQQNSQY33QB",
              "title": "Paint the walls"
            }
          ],
          "dependent_count": 0,
          "tags": [],
          "parent": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "project": {
            "id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
            "title": "Redo the playroom"
          },
          "subtask_open_count": 0,
          "subtask_done_count": 0,
          "duplicate_of": null,
          "completed_at": null,
          "created_at": "2026-11-07T15:17:52.863Z",
          "updated_at": "2026-11-07T15:17:52.863Z",
          "label": "Assemble the shelves · Ben Okafor · blocked by Order the shelves, Paint the walls"
        }
      ]
    }
  ]
}

For Rigel#

Rigel's tool for this query is tasks_project_list. Rigel runs this on its own, then says what it did. The agent guide has the rest.

Rigel is in early access, and sign-up is by invitation. Open Rigel