Skip to content
Rigel docs
Open Rigel

Problems with the house

maintenance.issue.list

GET/api/v1/households/{household_id}/queries/maintenance.issue.list

  • Query
  • Rigel runs it

Repair issues, worst first. Without a status, the ones still open or being watched. Filter by property, item or place. Resolved problems come back only when asked for with status resolved.

Parameters#

Problems with the house: parameters
FieldDescription
household_idpathstringrequired

The household's ID.

statusqueryone of: open, monitoring, resolvedoptional

Only problems in this status. Leave out for open and monitoring (everything not resolved).

property_idquerystringoptional

Only this property's problems.

asset_idquerystringoptional

Only problems about this item.

location_idquerystringoptional

Only problems about this place.

limitqueryintegeroptional

How many to return, default 100.

1 to 500

Response#

200 The answer.

Problems with the house: response fields
FieldDescription
itemsarray of objectsrequired
items[].idstringrequired

A issue ID, such as iss_01JC0000000000000000000000.

items[].addressstring or nullrequired

The web route that opens it.

items[].titlestringrequired

What the problem is.

items[].notesstring or nullrequired

More detail, as written.

items[].severityone of: low, medium, high, urgentrequired

How bad it is: low (cosmetic or minor), medium (needs fixing), high (getting worse or costly), urgent (safety, water or no heat).

items[].statusone of: open, monitoring, resolvedrequired

open (needs work), monitoring (watching a symptom), resolved (fixed or no longer a problem).

items[].property_idstringrequired

A property ID, such as prp_01JC0000000000000000000000.

items[].asset_idstring or nullrequired

The item it is about.

items[].asset_namestring or nullrequired

The item it is about.

items[].location_idstring or nullrequired

The place it is about.

items[].location_namestring or nullrequired

The place it is about.

items[].project_idstring or nullrequired

The project working on it.

items[].project_titlestring or nullrequired

The project working on it.

items[].opened_onstringrequired

When it was noticed, YYYY-MM-DD.

items[].resolved_onstring or nullrequired

When it was resolved.

items[].resolutionstring or nullrequired

How it was resolved.

items[].photo_file_idstring or nullrequired

A photo of the problem.

truncatedbooleanrequired

True when more matched than the limit allowed.

Errors#

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

Problems with the house: 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 open problems

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

{
  "items": [
    {
      "id": "iss_01M6V9CSYFR1X4V2X9M3HXT85F",
      "address": "/maintenance/issues/iss_01M6V9CSYFR1X4V2X9M3HXT85F",
      "title": "Basement window leaks in heavy rain",
      "notes": "Water runs down the wall under the north window.",
      "severity": "high",
      "status": "open",
      "property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
      "asset_id": null,
      "asset_name": null,
      "location_id": "mlc_01M6V9CSTX3QNP5B6R3SMP5B2B",
      "location_name": "Basement",
      "project_id": "mpj_01M6V9CSZC4PE99PPRAQ7ASEZQ",
      "project_title": "Stop the basement window leak",
      "opened_on": "2026-10-18",
      "resolved_on": null,
      "resolution": null,
      "photo_file_id": null
    },
    {
      "id": "iss_01M6V9CSYDVEZGY1GMEFWZ87YF",
      "address": "/maintenance/issues/iss_01M6V9CSYDVEZGY1GMEFWZ87YF",
      "title": "Dishwasher not draining fully",
      "notes": "An inch of dirty water is left after every cycle. Cleaning the filter didn't fix it.",
      "severity": "medium",
      "status": "open",
      "property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
      "asset_id": "ast_01M6V9CSVH77630WV0WA1X2DAK",
      "asset_name": "Dishwasher",
      "location_id": null,
      "location_name": null,
      "project_id": null,
      "project_title": null,
      "opened_on": "2026-10-29",
      "resolved_on": null,
      "resolution": null,
      "photo_file_id": null
    },
    {
      "id": "iss_01M6V9CSYG0VSKKZ391H7TTWHX",
      "address": "/maintenance/issues/iss_01M6V9CSYG0VSKKZ391H7TTWHX",
      "title": "Towels take two cycles to dry",
      "notes": "Watching it. The lint trap is clean and the hood flap opens fully.",
      "severity": "low",
      "status": "monitoring",
      "property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
      "asset_id": "ast_01M6V9CSVKPYARY331YY06WH85",
      "asset_name": "Dryer",
      "location_id": null,
      "location_name": null,
      "project_id": null,
      "project_title": null,
      "opened_on": "2026-10-17",
      "resolved_on": null,
      "resolution": null,
      "photo_file_id": null
    }
  ],
  "truncated": false
}

List problems that were fixed

Resolved problems come back only when asked for.

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

{
  "items": [
    {
      "id": "iss_01M6V9CSYKEZQVSA56BB6PYXRV",
      "address": "/maintenance/issues/iss_01M6V9CSYKEZQVSA56BB6PYXRV",
      "title": "Slow drip under the kitchen sink",
      "notes": null,
      "severity": "medium",
      "status": "resolved",
      "property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
      "asset_id": null,
      "asset_name": null,
      "location_id": "mlc_01M6V9CSV0Z1XFB5VWFWXV2SQY",
      "location_name": "Kitchen",
      "project_id": null,
      "project_title": null,
      "opened_on": "2026-09-16",
      "resolved_on": "2026-09-18",
      "resolution": "Tightened the supply line nut and replaced the rubber washer. Dry since.",
      "photo_file_id": null
    }
  ],
  "truncated": false
}

List the problems with one item

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

{
  "items": [
    {
      "id": "iss_01M6V9CSYDVEZGY1GMEFWZ87YF",
      "address": "/maintenance/issues/iss_01M6V9CSYDVEZGY1GMEFWZ87YF",
      "title": "Dishwasher not draining fully",
      "notes": "An inch of dirty water is left after every cycle. Cleaning the filter didn't fix it.",
      "severity": "medium",
      "status": "open",
      "property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
      "asset_id": "ast_01M6V9CSVH77630WV0WA1X2DAK",
      "asset_name": "Dishwasher",
      "location_id": null,
      "location_name": null,
      "project_id": null,
      "project_title": null,
      "opened_on": "2026-10-29",
      "resolved_on": null,
      "resolution": null,
      "photo_file_id": null
    }
  ],
  "truncated": false
}

For Rigel#

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