Skip to content
Rigel docs
Open Rigel

Mentions and changes on the tasks someone follows

tasks.activity.for_person

GET/api/v1/households/{household_id}/queries/tasks.activity.for_person

  • Query
  • Rigel runs it

The Mentions & watched feed, newest first: tasks assigned to the person, comments mentioning them, comments and changes on tasks they watch, and reactions to their comments, leaving out what they did themselves. Read from the audit trail, so it answers only on the server.

Parameters#

Mentions and changes on the tasks someone follows: parameters
FieldDescription
household_idpathstringrequired

The household's ID.

person_idquerystringoptional

Whose feed. Defaults to the person asking.

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.

Mentions and changes on the tasks someone follows: response fields
FieldDescription
itemsarray of objectsrequired
items[].kindone of: assigned, mention, comment, reaction, state, changedrequired

assigned: the task was given to them. mention: a comment named them. comment: a comment on a task they watch. reaction: someone reacted to their comment. state: a watched task was started, blocked, reopened or done. changed: a watched task's details changed.

items[].taskobjectrequired

A task, by ID and title.

items[].task.idstringrequired

A task ID, such as tsk_01JC0000000000000000000000.

items[].task.titlestringrequiredNo description.
items[].byobject or nullrequired

Who did it, or null for Rigel.

items[].by.idstringrequired

A person ID, such as per_01JC0000000000000000000000.

items[].by.namestringrequiredNo description.
items[].by_rigelbooleanrequired

Rigel did it.

items[].atstring (date-time)requiredNo description.
items[].summarystringrequired

What happened, in words: "Ada commented: which shelf color?".

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.

Mentions and changes on the tasks someone follows: 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 new for Ben

Assignments, mentions and changes on the tasks Ben follows, newest first. It leaves out what he did himself.

Request, curl
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/tasks.activity.for_person?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.activity.for_person?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.activity.for_person?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_01M6V9CT60FQR78WAH6RFRYY0S

{
  "items": [
    {
      "kind": "comment",
      "task": {
        "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
        "title": "Order the shelves"
      },
      "by": null,
      "by_rigel": true,
      "at": "2026-11-07T15:17:52.913Z",
      "summary": "Rigel commented: Both shelf sizes fit the wall Ben measured. The deeper one leaves 30 inches of…"
    },
    {
      "kind": "mention",
      "task": {
        "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
        "title": "Order the shelves"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.912Z",
      "summary": "Ada Okafor mentioned you: Oak. @Ben Okafor, the carpenter can hold the quote until Friday."
    },
    {
      "kind": "comment",
      "task": {
        "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
        "title": "Order the shelves"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.909Z",
      "summary": "Ada Okafor commented: Oak. Ben, the carpenter can hold the quote until Friday."
    },
    {
      "kind": "mention",
      "task": {
        "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
        "title": "Order the shelves"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.903Z",
      "summary": "Ada Okafor mentioned you: @Ben Okafor white or oak for the shelves? @Nia gets a vote on the color."
    },
    {
      "kind": "state",
      "task": {
        "id": "tsk_01M6V9CT2ZX70MX87DDSFGCJFZ",
        "title": "Measure the walls"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.888Z",
      "summary": "Ada Okafor marked it done"
    },
    {
      "kind": "state",
      "task": {
        "id": "tsk_01M6V9CT2ZX70MX87DDSFGCJFZ",
        "title": "Measure the walls"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.884Z",
      "summary": "Ada Okafor started it"
    },
    {
      "kind": "assigned",
      "task": {
        "id": "tsk_01M6V9CT2Z2YZR1SSR7XB5H7RF",
        "title": "Assemble the shelves"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.863Z",
      "summary": "Ada Okafor assigned it to you"
    },
    {
      "kind": "assigned",
      "task": {
        "id": "tsk_01M6V9CT2ZK0Q2GZQQNSQY33QB",
        "title": "Paint the walls"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.863Z",
      "summary": "Ada Okafor assigned it to you"
    },
    {
      "kind": "assigned",
      "task": {
        "id": "tsk_01M6V9CT2ZX70MX87DDSFGCJFZ",
        "title": "Measure the walls"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.863Z",
      "summary": "Ada Okafor assigned it to you"
    },
    {
      "kind": "assigned",
      "task": {
        "id": "tsk_01M6V9CT2HD6NKJXPTTWJTBTYS",
        "title": "Renew the car registration"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.849Z",
      "summary": "Ada Okafor assigned it to you"
    },
    {
      "kind": "state",
      "task": {
        "id": "tsk_01M6V9CSWM4HX16DAY238SRYCZ",
        "title": "Replace the furnace filter"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.702Z",
      "summary": "Ada Okafor marked it done"
    },
    {
      "kind": "assigned",
      "task": {
        "id": "tsk_01M6V9CSWXE3SPZ7C7D16XPXAC",
        "title": "Clean the gutters"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.669Z",
      "summary": "Ada Okafor assigned it to you"
    },
    {
      "kind": "assigned",
      "task": {
        "id": "tsk_01M6V9CSWM4HX16DAY238SRYCZ",
        "title": "Replace the furnace filter"
      },
      "by": {
        "id": "per_01M6V9CS6RX26JK5KVYGRN22D2",
        "name": "Ada Okafor"
      },
      "by_rigel": false,
      "at": "2026-11-07T15:17:52.661Z",
      "summary": "Ada Okafor assigned it to you"
    }
  ],
  "next_cursor": null
}

What's new for me

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

{
  "items": [
    {
      "kind": "comment",
      "task": {
        "id": "tsk_01M6V9CT2ZPDDMRBRQ0SBNP1G6",
        "title": "Order the shelves"
      },
      "by": null,
      "by_rigel": true,
      "at": "2026-11-07T15:17:52.913Z",
      "summary": "Rigel commented: Both shelf sizes fit the wall Ben measured. The deeper one leaves 30 inches of…"
    }
  ],
  "next_cursor": null
}

For Rigel#

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