Requests
BlueSuite MCP tools for requests
See connection and authentication and workflow rules before calling these tools.
Related REST API and behavior.
List service requests with optional pagination and search
| Field | Type / accepted values | Required | Details |
|---|
page | integer | No | Page number (default: 1) |
per_page | integer | No | Results per page (default: 25) minimum: 1. maximum: 100. |
search | string | No | Search requests |
sort_by | "id", "number", "name", "status", "requested_on", "created_at", "modified_at" | No | Field to sort by. Unknown values fall back to the default sort. |
sort_direction | "asc", "desc" | No | Sort direction |
contact_id | integer | No | Filter by contact ID |
status | array of "new", "responded", "overdue", "converted", "rejected", "archived" | No | Filter by one or more statuses. |
tag_ids | array of JSON value | No | Filter to records carrying ANY of these tag IDs (not all). Use list_tags with the matching taggable_type to resolve tag names to IDs first. |
| 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. |
Create a new service request
| Field | Type / accepted values | Required | Details |
|---|
name | string | No | Request name/title |
contact_id | integer | No | Associated contact ID |
property_id | JSON value | No | Associated property ID |
assignee_id | string | No | UUID of assigned team member. Use list_users to resolve names. Format: uuid. |
details | string | No | Request details/description |
assessment | string | No | Assessment notes |
requested_on | string | No | Date the request was made (YYYY-MM-DD) |
status | "new", "responded", "overdue", "converted", "rejected", "archived" | No | Request status (default: new) |
custom_fields | object | No | Custom field values |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Get a single service request by ID with expanded details
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Request 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. |
Update an existing service request
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Request ID |
name | string | No | Request name/title |
contact_id | JSON value | No | Associated contact ID |
property_id | JSON value | No | Associated property ID |
assignee_id | string | No | UUID of assigned team member. Use list_users to resolve names. Format: uuid. |
details | string | No | Request details/description |
assessment | string | No | Assessment notes |
requested_on | string | No | Date the request was made (YYYY-MM-DD) |
status | "new", "responded", "overdue", "converted", "rejected", "archived" | No | Request status |
custom_fields | object | No | Custom field values |
| Field | Type / accepted values | Required | Details |
|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
Turn a request into a job, quote or invoice. Use this rather than creating the record yourself: it carries over the client and property and marks the request converted in one step. Jobs and quotes retain a source-request link. Invoices do not retain a source-request link; record the returned invoice ID separately if you need to trace the conversion. Creating a job or quote by hand leaves the request sitting in the queue as if nobody had dealt with it. Ask which they want if the user just says "convert this", a quote prices the work first, a job schedules it, an invoice bills for it directly.
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Request ID to convert. |
to | "job", "quote", "invoice" | Yes | What to create: job, quote or invoice. |
name | string | No | Name for the new record. Defaults to the request name plus a suffix. |
| 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 service request by ID
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Request 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. |
Update only the status of a service request. Use this instead of update_request when changing status, as status transitions may trigger business logic.
| Field | Type / accepted values | Required | Details |
|---|
id | integer | Yes | Request ID |
status | "new", "responded", "overdue", "converted", "rejected", "archived" | Yes | New status |
| 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.