Find tasks by words and filters, done included
tasks.task.search
GET/api/v1/households/{household_id}/queries/tasks.task.search
- Query
- Rigel runs it
Every task matching the filters, done ones included unless states says otherwise: open tasks in queue order first, then done ones, most recently done first. Use it before adding a task, to find one that's already there. With view_id it runs a saved view, adding any filters given.
Parameters#
| Field | Description |
|---|---|
household_idpathstringrequired | The household's ID. |
textquerystringoptional | Words that must all appear in the title or description, ignoring case. |
statesqueryarray, each one of: todo, doing, blocked, doneoptional | Only tasks in one of these states. |
assignee_person_idquerystringoptional | Only tasks assigned to this person. |
prioritiesqueryarray of numbers or nulloptional | Only tasks with one of these priorities. |
include_tag_idsqueryarray of stringsoptional | Only tasks with at least one of these tags. |
exclude_tag_idsqueryarray of stringsoptional | Leave out tasks with any of these tags. |
due_fromquerystring (date)optional | Only tasks due on or after this date. |
due_toquerystring (date)optional | Only tasks due on or before this date. |
root_task_idquerystringoptional | Only this task's subtasks, at any depth (a project's work). |
show_blockedqueryboolean or stringoptional | In a queue view, include blocked work too. Defaults to false. |
view_idquerystringoptional | A saved view to run. |
limitqueryintegeroptional | How many to return, 1–200. Defaults to 50. |
cursorquerystringoptional | The next_cursor of the previous page, with the same filters. |
Response#
200 The answer.
| Field | Description |
|---|---|
itemsarray of objectsrequired | |
items[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
items[].titlestringrequired | No 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. |
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.namestringrequired | No 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 nullrequired | No description. |
items[].scheduled_endstring (date-time) or nullrequired | No 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[].titlestringrequired | No 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[].namestringrequired | No description. |
items[].parentobject or nullrequired | The task this is a subtask of. |
items[].parent.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
items[].parent.titlestringrequired | No 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.titlestringrequired | No 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.titlestringrequired | No description. |
items[].completed_atstring (date-time) or nullrequired | No description. |
items[].created_atstring (date-time)required | No description. |
items[].updated_atstring (date-time)required | No 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. |
Errors#
Every error has the same envelope: error.code, error.message, error.details, error.recovery and error.request_id.
| Status | Code | When |
|---|---|---|
400 | validation_failed | A field is missing, misspelled or out of range. details.fields lists each problem. |
401 | unauthenticated | The request has no valid session. |
404 | not_found | The 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.
Search the tasks for shelves
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?text=shelves' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?text=shelves", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?text=shelves HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT51E2RJBWYXHP1TFMSD
{
"items": [
{
"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"
},
{
"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_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"
},
{
"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_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
}Only the tasks that are done
Search keeps done work, which the queue leaves out. A list is comma-separated.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?states=done' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?states=done", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?states=done HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT54V6JAE1G9BR0KFMS2
{
"items": [
{
"id": "tsk_01M6V9CT2QVG1D1T82PW3837ZG",
"title": "Put toys away",
"state": "done",
"priority": null,
"priority_words": null,
"assignee": {
"id": "per_01M6V9CS7CDAEP5VDA5T8R9TG6",
"name": "Theo"
},
"due_date": "2026-11-08",
"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"
},
{
"id": "tag_01M6V9CT2M8VA69RH7FX0XX026",
"name": "kids"
}
],
"parent": null,
"project": null,
"subtask_open_count": 0,
"subtask_done_count": 0,
"duplicate_of": null,
"completed_at": "2026-11-07T15:17:52.890Z",
"created_at": "2026-11-07T15:17:52.855Z",
"updated_at": "2026-11-07T15:17:52.890Z",
"label": "Put toys away · Theo · due Nov 8 · done"
},
{
"id": "tsk_01M6V9CT2ZX70MX87DDSFGCJFZ",
"title": "Measure the walls",
"state": "done",
"priority": 1,
"priority_words": "High",
"assignee": {
"id": "per_01M6V9CS744BQQH188FS6CXY9W",
"name": "Ben Okafor"
},
"due_date": "2026-11-11",
"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": "2026-11-07T15:17:52.888Z",
"created_at": "2026-11-07T15:17:52.863Z",
"updated_at": "2026-11-07T15:17:52.888Z",
"label": "Measure the walls · High · Ben Okafor · due Nov 11 · done"
},
{
"id": "tsk_01M6V9CSXBTAQ3ART595JCSKEV",
"title": "Drain the outdoor faucets",
"state": "done",
"priority": null,
"priority_words": null,
"assignee": null,
"due_date": "2026-11-15",
"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": "2026-11-07T15:17:52.705Z",
"created_at": "2026-11-07T15:17:52.684Z",
"updated_at": "2026-11-07T15:17:52.705Z",
"label": "Drain the outdoor faucets · due Nov 15 · done"
},
{
"id": "tsk_01M6V9CSWM4HX16DAY238SRYCZ",
"title": "Replace the furnace filter",
"state": "done",
"priority": null,
"priority_words": null,
"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": [],
"parent": null,
"project": null,
"subtask_open_count": 0,
"subtask_done_count": 0,
"duplicate_of": null,
"completed_at": "2026-11-07T15:17:52.702Z",
"created_at": "2026-11-07T15:17:52.661Z",
"updated_at": "2026-11-07T15:17:52.702Z",
"label": "Replace the furnace filter · Ben Okafor · due Nov 19 · done"
},
{
"id": "tsk_01M6V9CSX169EH1HHS6VCEMSXP",
"title": "Test the smoke alarms",
"state": "done",
"priority": null,
"priority_words": null,
"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": [],
"parent": null,
"project": null,
"subtask_open_count": 0,
"subtask_done_count": 0,
"duplicate_of": null,
"completed_at": "2026-11-07T15:17:52.698Z",
"created_at": "2026-11-07T15:17:52.673Z",
"updated_at": "2026-11-07T15:17:52.698Z",
"label": "Test the smoke alarms · Ada Okafor · due Nov 12 · done"
}
],
"next_cursor": null
}Ada's tasks due in the next 14 days
due_from and due_to bound the due date.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?assignee_person_id=per_01M6V9CS6RX26JK5KVYGRN22D2&due_to=2026-11-21' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?assignee_person_id=per_01M6V9CS6RX26JK5KVYGRN22D2&due_to=2026-11-21", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?assignee_person_id=per_01M6V9CS6RX26JK5KVYGRN22D2&due_to=2026-11-21 HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT56X7FNE24EKA9CRA51
{
"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_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_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_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_01M6V9CSX169EH1HHS6VCEMSXP",
"title": "Test the smoke alarms",
"state": "done",
"priority": null,
"priority_words": null,
"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": [],
"parent": null,
"project": null,
"subtask_open_count": 0,
"subtask_done_count": 0,
"duplicate_of": null,
"completed_at": "2026-11-07T15:17:52.698Z",
"created_at": "2026-11-07T15:17:52.673Z",
"updated_at": "2026-11-07T15:17:52.698Z",
"label": "Test the smoke alarms · Ada Okafor · due Nov 12 · done"
}
],
"next_cursor": null
}Everything in the playroom project
root_task_id limits the search to a project's subtasks.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?root_task_id=tsk_01M6V9CT2Z01QVT17DRMSXTW4W' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?root_task_id=tsk_01M6V9CT2Z01QVT17DRMSXTW4W", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?root_task_id=tsk_01M6V9CT2Z01QVT17DRMSXTW4W HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT593T0XNGHS0HJQ64TF
{
"items": [
{
"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_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_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_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"
},
{
"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_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_01M6V9CT2ZX70MX87DDSFGCJFZ",
"title": "Measure the walls",
"state": "done",
"priority": 1,
"priority_words": "High",
"assignee": {
"id": "per_01M6V9CS744BQQH188FS6CXY9W",
"name": "Ben Okafor"
},
"due_date": "2026-11-11",
"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": "2026-11-07T15:17:52.888Z",
"created_at": "2026-11-07T15:17:52.863Z",
"updated_at": "2026-11-07T15:17:52.888Z",
"label": "Measure the walls · High · Ben Okafor · due Nov 11 · done"
}
],
"next_cursor": null
}Run a saved view
Anything else given is added to the view's filters.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?view_id=tvw_01M6V9CT5BYG5MVM4XWVSYHNH2' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?view_id=tvw_01M6V9CT5BYG5MVM4XWVSYHNH2", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.search?view_id=tvw_01M6V9CT5BYG5MVM4XWVSYHNH2 HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT5EEVG56AVPY8X80FCE
{
"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"
}
],
"next_cursor": null
}For Rigel#
Rigel's tool for this query is tasks_task_search. Rigel runs this on its own, then says what it did. The agent guide has the rest.