One task in full
tasks.task.get
GET/api/v1/households/{household_id}/queries/tasks.task.get
- Query
- Rigel runs it
A task with its description, parents, subtasks, what it depends on and what waits on it, tags, links to other apps, comments with their mentions and reactions, and watchers. Fails with task_not_found.
Parameters#
| Field | Description |
|---|---|
household_idpathstringrequired | The household's ID. |
task_idquerystringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
Response#
200 The answer.
| Field | Description |
|---|---|
idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
titlestringrequired | No description. |
stateone of: todo, doing, blocked, donerequired | todo (to do), doing (someone's on it), blocked (can't go on until something happens) or done. |
priorityinteger or nullrequired | The priority as a number, or null for none. |
priority_wordsone of: Urgent, High, Medium, Low, Someday, null or nullrequired | The priority in words, such as "High", or null for none. |
assigneeobject or nullrequired | Who's doing it, or null for no one yet. |
assignee.idstringrequired | A person ID, such as per_01JC0000000000000000000000. |
assignee.namestringrequired | No description. |
due_datestring (date) or nullrequired | A calendar date, YYYY-MM-DD. |
is_overduebooleanrequired | Not done, and the due date is before today in the household's time zone. |
scheduled_startstring (date-time) or nullrequired | No description. |
scheduled_endstring (date-time) or nullrequired | No description. |
waiting_untilstring (date-time) or nullrequired | For blocked work waiting on someone outside: when to look again. |
is_waiting_overbooleanrequired | Blocked and waiting, and the waiting time has passed: it's back in the queue. |
is_blockedbooleanrequired | Blocked by its state, or by a dependency that isn't done. |
blocked_byarray of objectsrequired | The unfinished tasks this one depends on. |
blocked_by[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
blocked_by[].titlestringrequired | No description. |
dependent_countintegerrequired | How many unfinished tasks are waiting on this one. |
tagsarray of objectsrequired | |
tags[].idstringrequired | A tag ID, such as tag_01JC0000000000000000000000. |
tags[].namestringrequired | No description. |
parentobject or nullrequired | The task this is a subtask of. |
parent.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
parent.titlestringrequired | No description. |
projectobject or nullrequired | The top-level task this belongs to, when it isn't one itself. |
project.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
project.titlestringrequired | No description. |
subtask_open_countintegerrequired | Unfinished subtasks, at any depth. |
subtask_done_countintegerrequired | Finished subtasks, at any depth. |
duplicate_ofobject or nullrequired | A task, by ID and title. |
duplicate_of.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
duplicate_of.titlestringrequired | No description. |
completed_atstring (date-time) or nullrequired | No description. |
created_atstring (date-time)required | No description. |
updated_atstring (date-time)required | No description. |
labelstringrequired | The task in one line, for reading aloud: "Order shelves · High · Ada · due Nov 20 · blocked by Measure". |
descriptionstring or nullrequired | No description. |
sort_keystring or nullrequired | No description. |
parentsarray of objectsrequired | The chain of parents, top-level first. |
parents[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
parents[].titlestringrequired | No description. |
subtasksarray of objectsrequired | Direct subtasks, in order. |
subtasks[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
subtasks[].titlestringrequired | No description. |
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. |
subtasks[].priorityinteger or nullrequired | The priority as a number, or null for none. |
subtasks[].priority_wordsone of: Urgent, High, Medium, Low, Someday, null or nullrequired | The priority in words, such as "High", or null for none. |
subtasks[].assigneeobject or nullrequired | Who's doing it, or null for no one yet. |
subtasks[].assignee.idstringrequired | A person ID, such as per_01JC0000000000000000000000. |
subtasks[].assignee.namestringrequired | No description. |
subtasks[].due_datestring (date) or nullrequired | A calendar date, YYYY-MM-DD. |
subtasks[].is_overduebooleanrequired | Not done, and the due date is before today in the household's time zone. |
subtasks[].scheduled_startstring (date-time) or nullrequired | No description. |
subtasks[].scheduled_endstring (date-time) or nullrequired | No description. |
subtasks[].waiting_untilstring (date-time) or nullrequired | For blocked work waiting on someone outside: when to look again. |
subtasks[].is_waiting_overbooleanrequired | Blocked and waiting, and the waiting time has passed: it's back in the queue. |
subtasks[].is_blockedbooleanrequired | Blocked by its state, or by a dependency that isn't done. |
subtasks[].blocked_byarray of objectsrequired | The unfinished tasks this one depends on. |
subtasks[].blocked_by[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
subtasks[].blocked_by[].titlestringrequired | No description. |
subtasks[].dependent_countintegerrequired | How many unfinished tasks are waiting on this one. |
subtasks[].tagsarray of objectsrequired | |
subtasks[].tags[].idstringrequired | A tag ID, such as tag_01JC0000000000000000000000. |
subtasks[].tags[].namestringrequired | No description. |
subtasks[].parentobject or nullrequired | The task this is a subtask of. |
subtasks[].parent.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
subtasks[].parent.titlestringrequired | No description. |
subtasks[].projectobject or nullrequired | The top-level task this belongs to, when it isn't one itself. |
subtasks[].project.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
subtasks[].project.titlestringrequired | No description. |
subtasks[].subtask_open_countintegerrequired | Unfinished subtasks, at any depth. |
subtasks[].subtask_done_countintegerrequired | Finished subtasks, at any depth. |
subtasks[].duplicate_ofobject or nullrequired | A task, by ID and title. |
subtasks[].duplicate_of.idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
subtasks[].duplicate_of.titlestringrequired | No description. |
subtasks[].completed_atstring (date-time) or nullrequired | No description. |
subtasks[].created_atstring (date-time)required | No description. |
subtasks[].updated_atstring (date-time)required | No description. |
subtasks[].labelstringrequired | The task in one line, for reading aloud: "Order shelves · High · Ada · due Nov 20 · blocked by Measure". |
depends_onarray of objectsrequired | What must be done first. |
depends_on[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
depends_on[].titlestringrequired | No description. |
depends_on[].stateone of: todo, doing, blocked, donerequired | todo (to do), doing (someone's on it), blocked (can't go on until something happens) or done. |
blocksarray of objectsrequired | What waits on this one. |
blocks[].idstringrequired | A task ID, such as tsk_01JC0000000000000000000000. |
blocks[].titlestringrequired | No description. |
blocks[].stateone of: todo, doing, blocked, donerequired | todo (to do), doing (someone's on it), blocked (can't go on until something happens) or done. |
linksarray of objectsrequired | Records in other apps this task is about. |
links[].record_idstringrequired | The ID of any record, such as per_01JC0000000000000000000000. |
links[].addressstring or nullrequired | The web route that opens the record, or null when it has none yet. |
commentsarray of objectsrequired | Oldest first. |
comments[].idstringrequired | A task comment ID, such as tcm_01JC0000000000000000000000. |
comments[].authorobject or nullrequired | Who wrote it, or null for Rigel. |
comments[].author.idstringrequired | A person ID, such as per_01JC0000000000000000000000. |
comments[].author.namestringrequired | No description. |
comments[].bodystringrequired | No description. |
comments[].created_atstring (date-time)required | No description. |
comments[].edited_atstring (date-time) or nullrequired | No description. |
comments[].mentionsarray of objectsrequired | |
comments[].mentions[].idstringrequired | A person ID, such as per_01JC0000000000000000000000. |
comments[].mentions[].namestringrequired | No description. |
comments[].reactionsarray of objectsrequired | |
comments[].reactions[].emojistringrequired | No description. |
comments[].reactions[].peoplearray of objectsrequired | |
comments[].reactions[].people[].idstringrequired | A person ID, such as per_01JC0000000000000000000000. |
comments[].reactions[].people[].namestringrequired | No description. |
watchersarray of objectsrequired | |
watchers[].idstringrequired | A person ID, such as per_01JC0000000000000000000000. |
watchers[].namestringrequired | No description. |
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.
Open a task
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.get?task_id=tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.get?task_id=tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.get?task_id=tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6 HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT5GH9WV8ZP3VB9W4Y7N
{
"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",
"description": null,
"sort_key": "x",
"parents": [
{
"id": "tsk_01M6V9CT2Z01QVT17DRMSXTW4W",
"title": "Redo the playroom"
}
],
"subtasks": [],
"depends_on": [
{
"id": "tsk_01M6V9CT2ZX70MX87DDSFGCJFZ",
"title": "Measure the walls",
"state": "done"
},
{
"id": "tsk_01M6V9CT2ZFNJNSQ7DKS5SFHHS",
"title": "Get a carpenter's quote for built-in shelves",
"state": "blocked"
}
],
"blocks": [
{
"id": "tsk_01M6V9CT2Z2YZR1SSR7XB5H7RF",
"title": "Assemble the shelves",
"state": "todo"
}
],
"links": [],
"comments": [
{
"id": "tcm_01M6V9CT468AC64J5MZR3TVGS6",
"author": {
"id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
"name": "Ada Okafor"
},
"body": "@Ben Okafor white or oak for the shelves? @Nia gets a vote on the color.",
"created_at": "2026-11-07T15:17:52.903Z",
"edited_at": null,
"mentions": [
{
"id": "per_01M6V9CS744BQQH188FS6CXY9W",
"name": "Ben Okafor"
},
{
"id": "per_01M6V9CS79TMYHDAM7FTA9ZK3Z",
"name": "Nia"
}
],
"reactions": []
},
{
"id": "tcm_01M6V9CT4814NB9500SCWV3MXS",
"author": {
"id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
"name": "Ada Okafor"
},
"body": "Oak. @Ben Okafor, the carpenter can hold the quote until Friday.",
"created_at": "2026-11-07T15:17:52.909Z",
"edited_at": "2026-11-07T15:17:52.912Z",
"mentions": [
{
"id": "per_01M6V9CS744BQQH188FS6CXY9W",
"name": "Ben Okafor"
}
],
"reactions": []
},
{
"id": "tcm_01M6V9CT4HWCJ8WNGAVZF1XTT9",
"author": null,
"body": "Both shelf sizes fit the wall Ben measured. The deeper one leaves 30 inches of floor.",
"created_at": "2026-11-07T15:17:52.913Z",
"edited_at": null,
"mentions": [],
"reactions": [
{
"emoji": "👍",
"people": [
{
"id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
"name": "Ada Okafor"
}
]
}
]
}
],
"watchers": [
{
"id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
"name": "Ada Okafor"
},
{
"id": "per_01M6V9CS744BQQH188FS6CXY9W",
"name": "Ben Okafor"
},
{
"id": "per_01M6V9CS79TMYHDAM7FTA9ZK3Z",
"name": "Nia"
}
]
}Open a project
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.task.get?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.get?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.get?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_01M6V9CT5RFZMHPSMBD8ZB50J4
{
"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",
"description": "New paint and shelves before the holidays, so the toys have a home.",
"sort_key": null,
"parents": [],
"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_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_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"
}
],
"depends_on": [],
"blocks": [],
"links": [],
"comments": [],
"watchers": [
{
"id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
"name": "Ada Okafor"
}
]
}For Rigel#
Rigel's tool for this query is tasks_task_get. Rigel runs this on its own, then says what it did. The agent guide has the rest.