BlueSuite Developers
REST API v1

Company equipment

Company equipment in the BlueSuite REST API

Track the business's own vehicles, trailers, tools, and machines. Equipment installed at customer properties belongs in Installed equipment.

If a name is omitted, BlueSuite derives it from the year/make/model, serial number, or category. A replacement date maintains an open replacement task; completed task history is preserved.

Tasks support an assignee, due date, reminders, and recurrence. Reminders default to off. Recurring tasks require a due date; finite duration requires a count, and custom weekly/monthly patterns need selected days. Use update_scope when editing repeating tasks and the status endpoint to complete or reopen work.

Notes form the equipment service log. Use activity_date for when the work happened, rather than when you entered it. Date-time values must include a timezone.

GET /api/v1/equipment

GET /api/v1/equipment

Required scopes: equipment:read.

Query parameters

FieldType / accepted valuesRequiredDetails
pageintegerNoPage number, starting at 1. Default: 1.
per_pageintegerNoRecords per page, from 1 to 100. Default: 25. minimum: 1. maximum: 100.
searchstringNoSearch text. maxLength: 100.
sort_bystringNoSort column. See the supported columns below when listed.
sort_direction"asc", "desc"NoSort direction. Default: "desc".
statusstringNoFilter by status.

Response

200 with { "success": true, "data": [...], "pagination": { "page": 1, "per_page": 25, "total_pages": 1 } }.

See response conventions and errors.

POST /api/v1/equipment

POST /api/v1/equipment

Required scopes: equipment:write.

JSON body

FieldType / accepted valuesRequiredDetails
namestringNo
category"vehicle", "trailer", "tool", "machine", "other"NoDefault: "other".
status"active", "in_repair", "retired", "sold"NoDefault: "active".
descriptionstring or nullNo
makestring or nullNo
modelstring or nullNo
yearinteger or nullNo
serial_numberstring or nullNo
purchase_datestring or nullNo
purchase_pricenumber or nullNo
warranty_expirationstring or nullNo
warranty_numberstring or nullNo
replacement_datestring or nullNo
assignee_idstring or nullNo
custom_fieldsJSON value or nullNo

Unknown body fields are rejected. Conditional requirements are explained above.

Response

201 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

GET /api/v1/equipment/:id

GET /api/v1/equipment/:id

Required scopes: equipment:read.

Path parameters: id. Use positive integer record IDs from this workspace.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

PUT /api/v1/equipment/:id

PUT /api/v1/equipment/:id

Required scopes: equipment:write.

Path parameters: id. Use positive integer record IDs from this workspace.

JSON body

FieldType / accepted valuesRequiredDetails
namestringNo
category"vehicle", "trailer", "tool", "machine", "other"NoDefault: "other".
status"active", "in_repair", "retired", "sold"NoDefault: "active".
descriptionstring or nullNo
makestring or nullNo
modelstring or nullNo
yearinteger or nullNo
serial_numberstring or nullNo
purchase_datestring or nullNo
purchase_pricenumber or nullNo
warranty_expirationstring or nullNo
warranty_numberstring or nullNo
replacement_datestring or nullNo
assignee_idstring or nullNo
custom_fieldsJSON value or nullNo

Unknown body fields are rejected. Conditional requirements are explained above.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

DELETE /api/v1/equipment/:id

DELETE /api/v1/equipment/:id

Required scopes: equipment:write.

Path parameters: id. Use positive integer record IDs from this workspace.

No request body.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

GET /api/v1/equipment/:id/notes

GET /api/v1/equipment/:id/notes

Required scopes: equipment:read.

Path parameters: id. Use positive integer record IDs from this workspace.

Query parameters

FieldType / accepted valuesRequiredDetails
pageintegerNoPage number, starting at 1. Default: 1.
per_pageintegerNoRecords per page, from 1 to 100. Default: 25. minimum: 1. maximum: 100.
searchstringNoSearch text. maxLength: 100.
sort_bystringNoSort column. See the supported columns below when listed.
sort_direction"asc", "desc"NoSort direction. Default: "desc".
typestringNoFilter by type.

Response

200 with { "success": true, "data": [...], "pagination": { "page": 1, "per_page": 25, "total_pages": 1 } }.

See response conventions and errors.

POST /api/v1/equipment/:id/notes

POST /api/v1/equipment/:id/notes

Required scopes: equipment:write.

Path parameters: id. Use positive integer record IDs from this workspace.

JSON body

FieldType / accepted valuesRequiredDetails
titlestringYesminLength: 1.
contentstring or nullNo
type"note", "maintenance", "repair", "inspection"NoDefault: "note".
activity_datestring or string or nullNo

Unknown body fields are rejected. Conditional requirements are explained above.

Response

201 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

GET /api/v1/equipment/:id/tasks

GET /api/v1/equipment/:id/tasks

Required scopes: equipment:read.

Path parameters: id. Use positive integer record IDs from this workspace.

Query parameters

FieldType / accepted valuesRequiredDetails
pageintegerNoPage number, starting at 1. Default: 1.
per_pageintegerNoRecords per page, from 1 to 100. Default: 25. minimum: 1. maximum: 100.
searchstringNoSearch text. maxLength: 100.
sort_bystringNoSort column. See the supported columns below when listed.
sort_direction"asc", "desc"NoSort direction. Default: "desc".
statusstringNoFilter by status.

Response

200 with { "success": true, "data": [...], "pagination": { "page": 1, "per_page": 25, "total_pages": 1 } }.

See response conventions and errors.

POST /api/v1/equipment/:id/tasks

POST /api/v1/equipment/:id/tasks

Required scopes: equipment:write.

Path parameters: id. Use positive integer record IDs from this workspace.

JSON body

FieldType / accepted valuesRequiredDetails
titlestringYesminLength: 1.
descriptionstring or nullNo
due_datestring or string or nullNo
assignee_idstring or nullNo
reminders_enabledbooleanNoDefault: false.
recurrence_type"single", "recurring"NoDefault: "single".
repeat_frequencyinteger or nullNo
repeat_frequency_unit"daily", "weekly", "monthly", "yearly", "custom", "forever", "occurrences"NoDefault: "weekly".
repeat_frequency_unit_custom"daily", "weekly", "monthly", "yearly", "custom", "forever", "occurrences"NoDefault: "weekly".
repeat_frequency_scheduleobject or nullNo
repeat_frequency_schedule.daysarray of integerWhen parent supplied
repeat_frequency_schedule.type"weekDays", "monthWeekDays", "monthDays"When parent supplied
repeat_durationinteger or nullNo
repeat_duration_unit"daily", "weekly", "monthly", "yearly", "custom", "forever", "occurrences"NoDefault: "forever".

Unknown body fields are rejected. Conditional requirements are explained above.

Response

201 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

PUT /api/v1/equipment/:id/notes/:noteId

PUT /api/v1/equipment/:id/notes/:noteId

Required scopes: equipment:write.

Path parameters: id, noteId. Use positive integer record IDs from this workspace.

JSON body

FieldType / accepted valuesRequiredDetails
titlestringNominLength: 1.
contentstring or nullNo
type"note", "maintenance", "repair", "inspection"NoDefault: "note".
activity_datestring or string or nullNo

Unknown body fields are rejected. Conditional requirements are explained above.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

DELETE /api/v1/equipment/:id/notes/:noteId

DELETE /api/v1/equipment/:id/notes/:noteId

Required scopes: equipment:write.

Path parameters: id, noteId. Use positive integer record IDs from this workspace.

No request body.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

PUT /api/v1/equipment/:id/tasks/:taskId

PUT /api/v1/equipment/:id/tasks/:taskId

Required scopes: equipment:write.

Path parameters: id, taskId. Use positive integer record IDs from this workspace.

JSON body

FieldType / accepted valuesRequiredDetails
titlestringNominLength: 1.
descriptionstring or nullNo
due_datestring or string or nullNo
assignee_idstring or nullNo
reminders_enabledbooleanNoDefault: false.
recurrence_type"single", "recurring"NoDefault: "single".
repeat_frequencyinteger or nullNo
repeat_frequency_unit"daily", "weekly", "monthly", "yearly", "custom", "forever", "occurrences"NoDefault: "weekly".
repeat_frequency_unit_custom"daily", "weekly", "monthly", "yearly", "custom", "forever", "occurrences"NoDefault: "weekly".
repeat_frequency_scheduleobject or nullNo
repeat_frequency_schedule.daysarray of integerWhen parent supplied
repeat_frequency_schedule.type"weekDays", "monthWeekDays", "monthDays"When parent supplied
repeat_durationinteger or nullNo
repeat_duration_unit"daily", "weekly", "monthly", "yearly", "custom", "forever", "occurrences"NoDefault: "forever".
update_scope"single", "all", "recreate"No

Unknown body fields are rejected. Conditional requirements are explained above.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

DELETE /api/v1/equipment/:id/tasks/:taskId

DELETE /api/v1/equipment/:id/tasks/:taskId

Required scopes: equipment:write.

Path parameters: id, taskId. Use positive integer record IDs from this workspace.

No request body.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

PUT /api/v1/equipment/:id/tasks/:taskId/status

PUT /api/v1/equipment/:id/tasks/:taskId/status

Required scopes: equipment:write.

Path parameters: id, taskId. Use positive integer record IDs from this workspace.

JSON body

FieldType / accepted valuesRequiredDetails
status"open", "completed", "overdue"Yes

Unknown body fields are rejected. Conditional requirements are explained above.

Response

200 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

On this page