Skip to content
Rigel docs
Open Rigel

The household's topics

chat.conversation.list

GET/api/v1/households/{household_id}/queries/chat.conversation.list

  • Query
  • Rigel runs it

Every topic, the main chat first and then by latest message, with how many messages I haven't read in each and how each notifies me. The main chat is always listed, even before anything is sent there.

Parameters#

The household's topics: parameters
FieldDescription
household_idpathstringrequired

The household's ID.

include_archivedquerybooleanoptional

Also list archived topics; left out, they're hidden.

Response#

200 The answer.

The household's topics: response fields
FieldDescription
itemsarray of objectsrequired
items[].idstringrequired

A conversation ID, such as cnv_01JC0000000000000000000000.

items[].titlestringrequired

The topic's title.

items[].is_mainbooleanrequired

Whether this is the household's main chat.

items[].stateone of: open, archivedrequired

open, or archived (hidden from the list, still readable).

items[].last_message_atstring (date-time) or nullrequired

When the latest message, threads included, was sent; null when empty.

items[].unread_countintegerrequired

How many messages I haven't read, threads included.

items[].follow_levelone of: all, mentions, nonerequired

How it notifies me, with the default filled in.

items[].addressstringrequired

The web route that opens it.

Errors#

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

The household's topics: 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 conversations

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

{
  "items": [
    {
      "id": "cnv_00000000000000000000000000",
      "title": "Family",
      "is_main": true,
      "state": "open",
      "last_message_at": "2026-11-07T15:17:52.422Z",
      "unread_count": 0,
      "follow_level": "all",
      "address": "/chat/cnv_00000000000000000000000000"
    }
  ]
}

For Rigel#

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