Installed Equipment
BlueSuite MCP tools for installed equipment
See connection and authentication and workflow rules before calling these tools.
Related REST API and behavior.
List equipment installed at customers' properties, furnaces, water heaters, irrigation controllers and so on. This is NOT the company's own trucks and tools; use list_equipment for those. Filter by property or contact to see what is installed for one client.
| Field | Type / accepted values | Required | Details |
|---|
property_id | integer | No | Only units at this property. |
contact_id | JSON value | No | Only units belonging to this client, across all their properties. |
status | array of "active", "needs_service", "replaced", "removed" | No | Filter by status: active, needs_service, replaced, removed. |
search | string | No | Search by name, make, model or serial number. |
page | integer | No | |
per_page | integer | No | minimum: 1. maximum: 100. |
| Field | Type / accepted values | Required | Details |
|---|
data | array of object | Yes | The matching records for this page. |
pagination | object | No | How many more pages of results exist. Absent when the API returned an unpaged result. |
pagination.page | integer | When parent supplied | Current page number, 1-based. |
pagination.per_page | integer | When parent supplied | Number of results per page. |
pagination.total_pages | integer | When parent supplied | Total number of pages available. |
Get one installed unit with its property, client and details.
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Installed equipment ID |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Record a unit installed at a customer's property. property_id is required, a unit is always installed somewhere. Leave name off and it is derived from make and model, then the equipment type. Setting warranty or replacement dates schedules reminders automatically.
| Field | Type / accepted values | Required | Details |
|---|
property_id | integer | Yes | Property the unit is installed at. Required. Use list_properties or list_contact_properties to find it. |
contact_id | integer | No | Client who owns it, if different from the property owner. |
name | string | No | Omit to derive from make and model. |
equipment_type | string | No | e.g. "Furnace", "Water heater". |
make | string | No | |
model | string | No | |
serial_number | string | No | |
description | string | No | |
status | "active", "needs_service", "replaced", "removed" | No | Default: active. |
install_date | string | No | YYYY-MM-DD. |
warranty_expiration | JSON value | No | YYYY-MM-DD. |
warranty_number | string | No | |
replacement_date | JSON value | No | YYYY-MM-DD. |
auto_reminders_enabled | boolean | No | Whether warranty and replacement reminders are scheduled automatically from the dates above. Defaults to TRUE, so a unit with a warranty date will generate reminders unless this is turned off. |
installed_by_job_id | JSON value | No | The job that installed it. Also links the unit to that job history. |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Update an installed unit. Send only what changes, the server merges it over the existing record, so a status change alone will not disturb the name or which property it is at. Changing warranty or replacement dates re-syncs the automatic reminders.
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Installed equipment ID |
property_id | integer | No | Move it to a different property. |
contact_id | JSON value | No | |
name | string | No | |
equipment_type | string | No | |
make | string | No | |
model | string | No | |
serial_number | string | No | |
description | string | No | |
status | "active", "needs_service", "replaced", "removed" | No | active, needs_service, replaced or removed. Use replaced or removed rather than deleting, so the history survives. |
install_date | string | No | YYYY-MM-DD. |
warranty_expiration | JSON value | No | YYYY-MM-DD. |
warranty_number | string | No | |
replacement_date | JSON value | No | YYYY-MM-DD. |
auto_reminders_enabled | boolean | No | |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Delete an installed unit and its service history. To record that it was taken out or swapped, set status to 'removed' or 'replaced' instead, that keeps the history for the property.
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Installed equipment ID |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Read the service history for an installed unit: notes, maintenance, repairs and inspections.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
type | "note", "maintenance", "repair", "inspection" | No | Filter to one kind of entry. |
page | integer | No | |
per_page | integer | No | minimum: 1. maximum: 100. |
| Field | Type / accepted values | Required | Details |
|---|
data | array of object | Yes | The matching records for this page. |
pagination | object | No | How many more pages of results exist. Absent when the API returned an unpaged result. |
pagination.page | integer | When parent supplied | Current page number, 1-based. |
pagination.per_page | integer | When parent supplied | Number of results per page. |
pagination.total_pages | integer | When parent supplied | Total number of pages available. |
Record work done on an installed unit, a service, a repair, an inspection result. This is the unit's history at that property and outlives any one job.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
title | string | Yes | e.g. "Replaced igniter". |
content | string | No | |
type | "note", "maintenance", "repair", "inspection" | No | Default: note. |
activity_date | string or string | No | When the work happened, if not when it was recorded. |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Delete an entry from an installed unit's service history.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
note_id | JSON value | Yes | Note ID |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
List the scheduled reminders on an installed unit. Warranty and replacement reminders are maintained automatically from the unit's dates; custom ones are added by hand.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
page | integer | No | |
per_page | integer | No | minimum: 1. maximum: 100. |
| Field | Type / accepted values | Required | Details |
|---|
data | array of object | Yes | The matching records for this page. |
pagination | object | No | How many more pages of results exist. Absent when the API returned an unpaged result. |
pagination.page | integer | When parent supplied | Current page number, 1-based. |
pagination.per_page | integer | When parent supplied | Number of results per page. |
pagination.total_pages | integer | When parent supplied | Total number of pages available. |
Schedule a one-off reminder about an installed unit. Do NOT create warranty or replacement reminders this way, those are generated and kept in step automatically from the unit's dates, so a hand-made one duplicates them. Use this for anything else, and note it can go to the customer, the team, or both.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
name | string | Yes | Internal label for the reminder. |
subject | string | Yes | Subject line of the message. |
message | string | Yes | Body of the message. |
remind_on | string | Yes | Date it fires (YYYY-MM-DD). |
reason | "warranty", "replacement", "custom" | No | Leave as 'custom'. 'warranty' and 'replacement' are managed automatically. |
send_customer | boolean | No | Send it to the client. Default: false. |
send_internal | JSON value | No | Send it to the team. Default: true. |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Delete a scheduled reminder on an installed unit.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
notification_id | JSON value | Yes | Reminder ID |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
List the jobs that have touched an installed unit, its service history by job.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
| Field | Type / accepted values | Required | Details |
|---|
data | array of object | Yes | The matching records for this page. |
pagination | object | No | How many more pages of results exist. Absent when the API returned an unpaged result. |
pagination.page | integer | When parent supplied | Current page number, 1-based. |
pagination.per_page | integer | When parent supplied | Number of results per page. |
pagination.total_pages | integer | When parent supplied | Total number of pages available. |
Link an installed unit to a job, recording that the job worked on it.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
job_id | JSON value | Yes | Job ID |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Remove the link between a job and an installed unit.
| Field | Type / accepted values | Required | Details |
|---|
installed_equipment_id | integer | Yes | Installed equipment ID |
job_id | JSON value | Yes | Job ID |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
The downloadable tool schemas include the full input and output contracts. Tables describe schema-level required fields; cross-field rules still apply.