Skip to content
Rigel docs
Open Rigel

What's ready to do, in order

tasks.task.queue

GET/api/v1/households/{household_id}/queries/tasks.task.queue

  • Query
  • Rigel runs it

Tasks that are ready: not done, not a duplicate, not a project with open subtasks, and not blocked by their state or by an unfinished dependency. A blocked task whose waiting time has passed is back in the queue, with is_waiting_over. Ordered by priority (none sits between Low and Someday), then due date, then age.

Parameters#

What's ready to do, in order: parameters
FieldDescription
household_idpathstringrequired

The household's ID.

assignee_person_idquerystringoptional

Only this person's tasks.

tag_idsqueryarray of stringsoptional

Only tasks with at least one of these tags.

at most 50 items
limitqueryintegeroptional

How many to return, 1–200. Defaults to 50.

1 to 200Default 50
cursorquerystringoptional

The next_cursor of the previous page, with the same filters.

pattern ^o(\d{1,6})$

Response#

200 The answer.

What's ready to do, in order: response fields
FieldDescription
itemsarray of objectsrequired
items[].idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].titlestringrequiredNo description.
items[].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[].priorityinteger or nullrequired

The priority as a number, or null for none.

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

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

items[].assigneeobject or nullrequired

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

items[].assignee.idstringrequired

A person ID, such as per_01JC0000000000000000000000.

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

A calendar date, YYYY-MM-DD.

items[].is_overduebooleanrequired

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

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

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

items[].is_waiting_overbooleanrequired

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

items[].is_blockedbooleanrequired

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

items[].blocked_byarray of objectsrequired

The unfinished tasks this one depends on.

items[].blocked_by[].idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

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

How many unfinished tasks are waiting on this one.

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

A tag ID, such as tag_01JC0000000000000000000000.

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

The task this is a subtask of.

items[].parent.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

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

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

items[].project.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

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

Unfinished subtasks, at any depth.

items[].subtask_done_countintegerrequired

Finished subtasks, at any depth.

items[].duplicate_ofobject or nullrequired

A task, by ID and title.

items[].duplicate_of.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

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

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

next_cursorstring or nullrequired

Send as cursor for the next page; null on the last page.

ready_countintegerrequired

How many tasks are ready, with these filters.

blocked_countintegerrequired

How many open tasks are blocked, with these filters.

Errors#

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

What's ready to do, in order: 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.

What's ready to do

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue 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_01M6V9CT4MK71VADAEQNK05Y9E

{
  "items": [
    {
      "id": "tsk_01M6V9CT2FB0DD6W26P2MTCZPP",
      "title": "Book Theo's flu shot",
      "state": "todo",
      "priority": 1,
      "priority_words": "High",
      "assignee": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "due_date": "2026-11-10",
      "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_01M6V9CT2M8VA69RH7FX0XX026",
          "name": "kids"
        },
        {
          "id": "tag_01M6V9CT3EYS7FXZH49FJMS5PK",
          "name": "phone call"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.847Z",
      "updated_at": "2026-11-07T15:17:52.877Z",
      "label": "Book Theo's flu shot · High · Ada Okafor · due Tue"
    },
    {
      "id": "tsk_01M6V9CT2HD6NKJXPTTWJTBTYS",
      "title": "Renew the car registration",
      "state": "todo",
      "priority": 1,
      "priority_words": "High",
      "assignee": {
        "id": "per_01M6V9CS744BQQH188FS6CXY9W",
        "name": "Ben Okafor"
      },
      "due_date": "2026-11-19",
      "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_01M6V9CT2HYP2JXTPT7T98VN41",
          "name": "errands"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.849Z",
      "updated_at": "2026-11-07T15:17:52.849Z",
      "label": "Renew the car registration · High · Ben Okafor · due Nov 19"
    },
    {
      "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_01M6V9CT2MF45K5TH7J6PBE1SJ",
      "title": "Bring the insurance card to Nia's dentist visit",
      "state": "todo",
      "priority": 2,
      "priority_words": "Medium",
      "assignee": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "due_date": "2026-11-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_01M6V9CT2M8VA69RH7FX0XX026",
          "name": "kids"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.852Z",
      "updated_at": "2026-11-07T15:17:52.852Z",
      "label": "Bring the insurance card to Nia's dentist visit · Medium · Ada Okafor · due Thu"
    },
    {
      "id": "tsk_01M6V9CT2THMCHK2K7S32C9WNN",
      "title": "Sweep the kitchen floor",
      "state": "todo",
      "priority": 3,
      "priority_words": "Low",
      "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_01M6V9CT2QMBNSDQ82KK1PJ6AV",
          "name": "chores"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.858Z",
      "updated_at": "2026-11-07T15:17:52.858Z",
      "label": "Sweep the kitchen floor · Low · Nia"
    },
    {
      "id": "tsk_01M6V9CSX53QVG50HVGWFG9B2E",
      "title": "Clean the dryer vent",
      "state": "todo",
      "priority": null,
      "priority_words": null,
      "assignee": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "due_date": "2026-10-23",
      "is_overdue": true,
      "scheduled_start": null,
      "scheduled_end": null,
      "waiting_until": null,
      "is_waiting_over": false,
      "is_blocked": false,
      "blocked_by": [],
      "dependent_count": 0,
      "tags": [],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.678Z",
      "updated_at": "2026-11-07T15:17:52.678Z",
      "label": "Clean the dryer vent · Ada Okafor · overdue · Oct 23"
    },
    {
      "id": "tsk_01M6V9CSXFWJR6465GFBHRGTXC",
      "title": "Annual furnace inspection",
      "state": "todo",
      "priority": null,
      "priority_words": null,
      "assignee": null,
      "due_date": "2026-11-19",
      "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": [],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.688Z",
      "updated_at": "2026-11-07T15:17:52.688Z",
      "label": "Annual furnace inspection · due Nov 19"
    },
    {
      "id": "tsk_01M6V9CSWXE3SPZ7C7D16XPXAC",
      "title": "Clean the gutters",
      "state": "todo",
      "priority": null,
      "priority_words": null,
      "assignee": {
        "id": "per_01M6V9CS744BQQH188FS6CXY9W",
        "name": "Ben Okafor"
      },
      "due_date": "2026-12-05",
      "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": [],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.669Z",
      "updated_at": "2026-11-07T15:17:52.669Z",
      "label": "Clean the gutters · Ben Okafor · due Dec 5"
    },
    {
      "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_01M6V9CT2WE5GCAQSQTW3MTXV7",
      "title": "Sort the garage shelves",
      "state": "todo",
      "priority": 4,
      "priority_words": "Someday",
      "assignee": null,
      "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_01M6V9CT2W0CCE5JSQRR9GSCT6",
          "name": "outside"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.861Z",
      "updated_at": "2026-11-07T15:17:52.861Z",
      "label": "Sort the garage shelves · Someday"
    }
  ],
  "next_cursor": null,
  "ready_count": 10,
  "blocked_count": 4
}

What's ready for Ben

Assigned work only; blocked work is counted but not listed.

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?assignee_person_id=per_01M6V9CS744BQQH188FS6CXY9W' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?assignee_person_id=per_01M6V9CS744BQQH188FS6CXY9W", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?assignee_person_id=per_01M6V9CS744BQQH188FS6CXY9W 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_01M6V9CT4SNJBTPTEF2VDXAQWW

{
  "items": [
    {
      "id": "tsk_01M6V9CT2HD6NKJXPTTWJTBTYS",
      "title": "Renew the car registration",
      "state": "todo",
      "priority": 1,
      "priority_words": "High",
      "assignee": {
        "id": "per_01M6V9CS744BQQH188FS6CXY9W",
        "name": "Ben Okafor"
      },
      "due_date": "2026-11-19",
      "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_01M6V9CT2HYP2JXTPT7T98VN41",
          "name": "errands"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.849Z",
      "updated_at": "2026-11-07T15:17:52.849Z",
      "label": "Renew the car registration · High · Ben Okafor · due Nov 19"
    },
    {
      "id": "tsk_01M6V9CSWXE3SPZ7C7D16XPXAC",
      "title": "Clean the gutters",
      "state": "todo",
      "priority": null,
      "priority_words": null,
      "assignee": {
        "id": "per_01M6V9CS744BQQH188FS6CXY9W",
        "name": "Ben Okafor"
      },
      "due_date": "2026-12-05",
      "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": [],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.669Z",
      "updated_at": "2026-11-07T15:17:52.669Z",
      "label": "Clean the gutters · Ben Okafor · due Dec 5"
    }
  ],
  "next_cursor": null,
  "ready_count": 2,
  "blocked_count": 2
}

Only the chores

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?tag_ids=tag_01M6V9CT2QMBNSDQ82KK1PJ6AV' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?tag_ids=tag_01M6V9CT2QMBNSDQ82KK1PJ6AV", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?tag_ids=tag_01M6V9CT2QMBNSDQ82KK1PJ6AV 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_01M6V9CT4WHZ9FYVT4NMHPKT7X

{
  "items": [
    {
      "id": "tsk_01M6V9CT2THMCHK2K7S32C9WNN",
      "title": "Sweep the kitchen floor",
      "state": "todo",
      "priority": 3,
      "priority_words": "Low",
      "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_01M6V9CT2QMBNSDQ82KK1PJ6AV",
          "name": "chores"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.858Z",
      "updated_at": "2026-11-07T15:17:52.858Z",
      "label": "Sweep the kitchen floor · Low · Nia"
    }
  ],
  "next_cursor": null,
  "ready_count": 1,
  "blocked_count": 0
}

Read the first 3 ready tasks

next_cursor says there's more.

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?limit=3' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?limit=3", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?limit=3 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_01M6V9CT4YQ7BRKYPZK9D68N42

{
  "items": [
    {
      "id": "tsk_01M6V9CT2FB0DD6W26P2MTCZPP",
      "title": "Book Theo's flu shot",
      "state": "todo",
      "priority": 1,
      "priority_words": "High",
      "assignee": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "due_date": "2026-11-10",
      "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_01M6V9CT2M8VA69RH7FX0XX026",
          "name": "kids"
        },
        {
          "id": "tag_01M6V9CT3EYS7FXZH49FJMS5PK",
          "name": "phone call"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.847Z",
      "updated_at": "2026-11-07T15:17:52.877Z",
      "label": "Book Theo's flu shot · High · Ada Okafor · due Tue"
    },
    {
      "id": "tsk_01M6V9CT2HD6NKJXPTTWJTBTYS",
      "title": "Renew the car registration",
      "state": "todo",
      "priority": 1,
      "priority_words": "High",
      "assignee": {
        "id": "per_01M6V9CS744BQQH188FS6CXY9W",
        "name": "Ben Okafor"
      },
      "due_date": "2026-11-19",
      "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_01M6V9CT2HYP2JXTPT7T98VN41",
          "name": "errands"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.849Z",
      "updated_at": "2026-11-07T15:17:52.849Z",
      "label": "Renew the car registration · High · Ben Okafor · due Nov 19"
    },
    {
      "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"
    }
  ],
  "next_cursor": "o3",
  "ready_count": 10,
  "blocked_count": 4
}

Read the next ready tasks

Send next_cursor back, with the same filters.

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?limit=3&cursor=o3' \
  -H "Cookie: rigel_session=$RIGEL_SESSION"
Request, TypeScript
const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?limit=3&cursor=o3", {
  headers: {
    Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
  },
});
const data = await response.json();
Request, HTTP
GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.queue?limit=3&cursor=o3 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_01M6V9CT509453AWTN9J93XYWE

{
  "items": [
    {
      "id": "tsk_01M6V9CT2MF45K5TH7J6PBE1SJ",
      "title": "Bring the insurance card to Nia's dentist visit",
      "state": "todo",
      "priority": 2,
      "priority_words": "Medium",
      "assignee": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "due_date": "2026-11-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_01M6V9CT2M8VA69RH7FX0XX026",
          "name": "kids"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.852Z",
      "updated_at": "2026-11-07T15:17:52.852Z",
      "label": "Bring the insurance card to Nia's dentist visit · Medium · Ada Okafor · due Thu"
    },
    {
      "id": "tsk_01M6V9CT2THMCHK2K7S32C9WNN",
      "title": "Sweep the kitchen floor",
      "state": "todo",
      "priority": 3,
      "priority_words": "Low",
      "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_01M6V9CT2QMBNSDQ82KK1PJ6AV",
          "name": "chores"
        }
      ],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.858Z",
      "updated_at": "2026-11-07T15:17:52.858Z",
      "label": "Sweep the kitchen floor · Low · Nia"
    },
    {
      "id": "tsk_01M6V9CSX53QVG50HVGWFG9B2E",
      "title": "Clean the dryer vent",
      "state": "todo",
      "priority": null,
      "priority_words": null,
      "assignee": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "due_date": "2026-10-23",
      "is_overdue": true,
      "scheduled_start": null,
      "scheduled_end": null,
      "waiting_until": null,
      "is_waiting_over": false,
      "is_blocked": false,
      "blocked_by": [],
      "dependent_count": 0,
      "tags": [],
      "parent": null,
      "project": null,
      "subtask_open_count": 0,
      "subtask_done_count": 0,
      "duplicate_of": null,
      "completed_at": null,
      "created_at": "2026-11-07T15:17:52.678Z",
      "updated_at": "2026-11-07T15:17:52.678Z",
      "label": "Clean the dryer vent · Ada Okafor · overdue · Oct 23"
    }
  ],
  "next_cursor": "o6",
  "ready_count": 10,
  "blocked_count": 4
}

For Rigel#

Rigel's tool for this query is tasks_task_queue. 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