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#
| Field | Description |
|---|---|
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. |
Response#
200 The answer.
| Field | Description |
|---|---|
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.
| 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.
List the open problems
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.issue.list' \
-H "Cookie: rigel_session=$RIGEL_SESSION"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();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.issue.list HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>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.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.issue.list?status=resolved' \
-H "Cookie: rigel_session=$RIGEL_SESSION"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();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.issue.list?status=resolved HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>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
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.issue.list?asset_id=ast_01M6V9CSVH77630WV0WA1X2DAK' \
-H "Cookie: rigel_session=$RIGEL_SESSION"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();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>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.