The house's items
maintenance.asset.list
GET/api/v1/households/{household_id}/queries/maintenance.asset.list
- Query
- Rigel runs it
Assets (appliances, equipment, fixtures, systems), optionally for one property, place or category or matching text in the name, model number, maker, serial or place. Retired items are left out unless asked for. Each has its place, model and status; use maintenance.asset.get for everything about one.
Parameters#
| Field | Description |
|---|---|
household_idpathstringrequired | The household's ID. |
property_idquerystringoptional | Only this property's items. |
location_idquerystringoptional | Only items directly in this place. |
category_keyquerystringoptional | Only this curated category, such as furnace. |
category_idquerystringoptional | Only this category (including a one-off one). |
parent_idquerystringoptional | Only members of this group. |
textquerystringoptional | Only items whose name, maker, model number, serial or place contains this text, ignoring case. |
include_retiredquerybooleanoptional | Include retired items. Default false. |
limitqueryintegeroptional | How many to return, default 100. |
Response#
200 The answer.
| Field | Description |
|---|---|
itemsarray of objectsrequired | |
items[].idstringrequired | A asset ID, such as ast_01JC0000000000000000000000. |
items[].addressstring or nullrequired | The web route that opens it. |
items[].namestringrequired | What the household calls it. |
items[].property_idstringrequired | A property ID, such as prp_01JC0000000000000000000000. |
items[].property_namestringrequired | The property it is at. |
items[].location_idstring or nullrequired | The place it is in. |
items[].location_namestring or nullrequired | The place it is in, with the places that contain it. |
items[].category_idstringrequired | A maintenance category ID, such as cat_01JC0000000000000000000000. |
items[].category_keystring or nullrequired | The curated category key; null for a one-off category. |
items[].category_namestringrequired | The category's name. |
items[].parent_idstring or nullrequired | The group it belongs to. |
items[].parent_namestring or nullrequired | The group's name. |
items[].modelobject or nullrequired | Its model, once identified. |
items[].model.idstringrequired | A equipment model ID, such as eqm_01JC0000000000000000000000. |
items[].model.manufacturerstring or nullrequired | The maker. |
items[].model.model_numberstring or nullrequired | The complete model number, exactly as printed. |
items[].model.variantstring or nullrequired | A variant that changes compatibility or specs. |
items[].model.labelstring or nullrequired | Maker, model number and variant together, such as "Carrier 59SC5A060S17". |
items[].serialstring or nullrequired | Its serial number. |
items[].statusone of: partial, researching, identified, needs_inputrequired | partial (known by name, not identified yet), researching (Rigel is looking up the model), identified (the model is known), needs_input (Rigel couldn't verify the model and needs a closer label photo or a choice). |
items[].quantityintegerrequired | How many identical items this record stands for. |
items[].retired_onstring or nullrequired | When it was retired, YYYY-MM-DD; null while in service. |
items[].photo_file_idstring or nullrequired | A photo of the unit to show with it, if there is one. |
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 items in the house
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.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_01M6V9CT0015HJ91VCJDHD19QX
{
"items": [
{
"id": "ast_01M6V9CSVCMZFAP6ZN5WANZ6M8",
"address": "/maintenance/assets/ast_01M6V9CSVCMZFAP6ZN5WANZ6M8",
"name": "Basement furnace",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSTZEJ4XTJHRBQ1HGD2J",
"location_name": "Utility closet, Basement",
"category_id": "cat_01M6V9CSVCJFP27BZN7X5PGZ0B",
"category_key": "furnace",
"category_name": "Furnace",
"parent_id": null,
"parent_name": null,
"model": {
"id": "eqm_01M6V9CSVCHRA5SDZNT6181WQM",
"manufacturer": "Hearthline",
"model_number": "FX96-080-1625",
"variant": null,
"label": "Hearthline FX96-080-1625"
},
"serial": "4116A04418",
"status": "identified",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
},
{
"id": "ast_01M6V9CSVH77630WV0WA1X2DAK",
"address": "/maintenance/assets/ast_01M6V9CSVH77630WV0WA1X2DAK",
"name": "Dishwasher",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSV0Z1XFB5VWFWXV2SQY",
"location_name": "Kitchen",
"category_id": "cat_01M6V9CSVHXYSD61W0E42142BW",
"category_key": "dishwasher",
"category_name": "Dishwasher",
"parent_id": null,
"parent_name": null,
"model": {
"id": "eqm_01M6V9CSVYCP9NFV9882GFRJFN",
"manufacturer": "Hartwell",
"model_number": "HDW-3250",
"variant": null,
"label": "Hartwell HDW-3250"
},
"serial": null,
"status": "identified",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
},
{
"id": "ast_01M6V9CSVKPYARY331YY06WH85",
"address": "/maintenance/assets/ast_01M6V9CSVKPYARY331YY06WH85",
"name": "Dryer",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSV1BGK3V8FK4RRCEZYS",
"location_name": "Laundry nook",
"category_id": "cat_01M6V9CSVK582SK631HZ9RCPFG",
"category_key": "dryer",
"category_name": "Dryer",
"parent_id": null,
"parent_name": null,
"model": null,
"serial": null,
"status": "partial",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
},
{
"id": "ast_01M6V9CSVR6DNGA62713A0QSFA",
"address": "/maintenance/assets/ast_01M6V9CSVR6DNGA62713A0QSFA",
"name": "New washing machine",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSV1BGK3V8FK4RRCEZYS",
"location_name": "Laundry nook",
"category_id": "cat_01M6V9CSVPCJ2670JSD2W4GJX1",
"category_key": "washer",
"category_name": "Washer",
"parent_id": null,
"parent_name": null,
"model": null,
"serial": null,
"status": "partial",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
},
{
"id": "ast_01M6V9CSVNY4PN710B9NWNSNVT",
"address": "/maintenance/assets/ast_01M6V9CSVNY4PN710B9NWNSNVT",
"name": "Smoke alarms",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": null,
"location_name": null,
"category_id": "cat_01M6V9CSVNDWVKW30BWF58AT9X",
"category_key": "smoke_alarm",
"category_name": "Smoke alarm",
"parent_id": null,
"parent_name": null,
"model": null,
"serial": null,
"status": "partial",
"quantity": 5,
"retired_on": null,
"photo_file_id": null
},
{
"id": "ast_01M6V9CSVGS9W2A8K5MDGN7GGD",
"address": "/maintenance/assets/ast_01M6V9CSVGS9W2A8K5MDGN7GGD",
"name": "Water heater",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSTX3QNP5B6R3SMP5B2B",
"location_name": "Basement",
"category_id": "cat_01M6V9CSVG3TVM33K52CFH6V3E",
"category_key": "water_heater",
"category_name": "Water heater",
"parent_id": null,
"parent_name": null,
"model": {
"id": "eqm_01M6V9CSVGWCW4G0K5ZADZNTTE",
"manufacturer": "Tidewell",
"model_number": "WH50-NG-40",
"variant": null,
"label": "Tidewell WH50-NG-40"
},
"serial": null,
"status": "identified",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
}
],
"truncated": false
}List what's in the kitchen
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?location_id=mlc_01M6V9CSV0Z1XFB5VWFWXV2SQY' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?location_id=mlc_01M6V9CSV0Z1XFB5VWFWXV2SQY", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?location_id=mlc_01M6V9CSV0Z1XFB5VWFWXV2SQY HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT04GGPZWV21B7CZ9BK5
{
"items": [
{
"id": "ast_01M6V9CSVH77630WV0WA1X2DAK",
"address": "/maintenance/assets/ast_01M6V9CSVH77630WV0WA1X2DAK",
"name": "Dishwasher",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSV0Z1XFB5VWFWXV2SQY",
"location_name": "Kitchen",
"category_id": "cat_01M6V9CSVHXYSD61W0E42142BW",
"category_key": "dishwasher",
"category_name": "Dishwasher",
"parent_id": null,
"parent_name": null,
"model": {
"id": "eqm_01M6V9CSVYCP9NFV9882GFRJFN",
"manufacturer": "Hartwell",
"model_number": "HDW-3250",
"variant": null,
"label": "Hartwell HDW-3250"
},
"serial": null,
"status": "identified",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
}
],
"truncated": false
}Find an item by model number
text matches names, models, makers, serials and places, ignoring punctuation.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?text=FX96' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?text=FX96", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?text=FX96 HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT05GCPMHK6WKT10DQDX
{
"items": [
{
"id": "ast_01M6V9CSVCMZFAP6ZN5WANZ6M8",
"address": "/maintenance/assets/ast_01M6V9CSVCMZFAP6ZN5WANZ6M8",
"name": "Basement furnace",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSTZEJ4XTJHRBQ1HGD2J",
"location_name": "Utility closet, Basement",
"category_id": "cat_01M6V9CSVCJFP27BZN7X5PGZ0B",
"category_key": "furnace",
"category_name": "Furnace",
"parent_id": null,
"parent_name": null,
"model": {
"id": "eqm_01M6V9CSVCHRA5SDZNT6181WQM",
"manufacturer": "Hearthline",
"model_number": "FX96-080-1625",
"variant": null,
"label": "Hearthline FX96-080-1625"
},
"serial": "4116A04418",
"status": "identified",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
}
],
"truncated": false
}List items of one kind
category_key is a key from maintenance.category.list.
curl 'https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?category_key=furnace' \
-H "Cookie: rigel_session=$RIGEL_SESSION"const response = await fetch("https://rigel.house/api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?category_key=furnace", {
headers: {
Cookie: `rigel_session=${process.env.RIGEL_SESSION}`,
},
});
const data = await response.json();GET /api/v1/households/hh_01M6V9CS6GGVFCY7NAS8ZTQV95/queries/maintenance.asset.list?category_key=furnace HTTP/1.1
Host: rigel.house
Cookie: rigel_session=<your session>HTTP/1.1 200 OK
Content-Type: application/json
X-Request-Id: req_01M6V9CT0667ATX3K7Q5HK9JTH
{
"items": [
{
"id": "ast_01M6V9CSVCMZFAP6ZN5WANZ6M8",
"address": "/maintenance/assets/ast_01M6V9CSVCMZFAP6ZN5WANZ6M8",
"name": "Basement furnace",
"property_id": "prp_01M6V9CSTXS6P4CG6RNTNT60FA",
"property_name": "The Okafor house",
"location_id": "mlc_01M6V9CSTZEJ4XTJHRBQ1HGD2J",
"location_name": "Utility closet, Basement",
"category_id": "cat_01M6V9CSVCJFP27BZN7X5PGZ0B",
"category_key": "furnace",
"category_name": "Furnace",
"parent_id": null,
"parent_name": null,
"model": {
"id": "eqm_01M6V9CSVCHRA5SDZNT6181WQM",
"manufacturer": "Hearthline",
"model_number": "FX96-080-1625",
"variant": null,
"label": "Hearthline FX96-080-1625"
},
"serial": "4116A04418",
"status": "identified",
"quantity": 1,
"retired_on": null,
"photo_file_id": null
}
],
"truncated": false
}For Rigel#
Rigel's tool for this query is maintenance_asset_list. Rigel runs this on its own, then says what it did. The agent guide has the rest.