BlueSuite Developers
MCPTool reference

Expenses

BlueSuite MCP tools for expenses

See connection and authentication and workflow rules before calling these tools.

Related REST API and behavior.

list_job_expenses

List expenses for a job. Expenses track costs associated with jobs (materials, subcontractors, permits, etc.).

Parameters

FieldType / accepted valuesRequiredDetails
job_idintegerYesJob ID
pageintegerNoPage number (default: 1)
per_pageintegerNoResults per page (default: 25) minimum: 1. maximum: 100.
searchstringNoSearch by name or description
sort_by"id", "name", "total", "date", "created_at", "modified_at"NoField to sort by. Unknown values fall back to the default sort.
sort_direction"asc", "desc"NoSort direction

Result

FieldType / accepted valuesRequiredDetails
dataarray of objectYesThe matching records for this page.
paginationobjectNoHow many more pages of results exist. Absent when the API returned an unpaged result.
pagination.pageintegerWhen parent suppliedCurrent page number, 1-based.
pagination.per_pageintegerWhen parent suppliedNumber of results per page.
pagination.total_pagesintegerWhen parent suppliedTotal number of pages available.

create_job_expense

Create a new expense for a job. Expenses track costs such as materials, subcontractor fees, permits, etc. Provide a receipt via receipt (a user-attached file from the chat) or attachment (a storage path from a prior upload_file call).

Parameters

FieldType / accepted valuesRequiredDetails
job_idintegerYesJob ID
namestringYesExpense name/title
descriptionstringNoExpense description. Omit when not needed.
datestringNoExpense date (YYYY-MM-DD)
totalnumberYesExpense amount
receiptobjectNoA receipt file attached by the user in the chat. Preferred over attachment when the host populates it. The file is uploaded automatically and linked to the expense.
receipt.download_urlstringWhen parent suppliedHTTPS URL the server can fetch the file bytes from. Format: uri.
receipt.file_idstringWhen parent suppliedOpaque file identifier from the host.
receipt.file_namestringNoOriginal filename, if the host provides it.
receipt.mime_typestringNoMIME type hint from the host. Validated against the server allowlist after fetch.
attachmentstringNoStorage path of an already-uploaded file (from a prior upload_file call). Use only when not providing receipt.

Result

FieldType / accepted valuesRequiredDetails
dataobject or nullYesThe affected record, or the result of the operation. Null when nothing matched.

get_job_expense

Get a single expense by ID for a job

Parameters

FieldType / accepted valuesRequiredDetails
job_idintegerYesJob ID
expense_idJSON valueYesExpense ID

Result

FieldType / accepted valuesRequiredDetails
dataobject or nullYesThe affected record, or the result of the operation. Null when nothing matched.

update_job_expense

Update an existing expense for a job. Provide a new receipt via receipt (a user-attached file from the chat) or attachment (a storage path from a prior upload_file call). Pass attachment: "" to clear the existing receipt.

Parameters

FieldType / accepted valuesRequiredDetails
job_idintegerYesJob ID
expense_idJSON valueYesExpense ID
namestringNoExpense name/title
descriptionstringNoExpense description
datestringNoExpense date (YYYY-MM-DD)
totalnumberNoExpense amount
receiptobjectNoA new receipt file attached by the user in the chat. Replaces any existing receipt. Preferred over attachment when the host populates it.
receipt.download_urlstringWhen parent suppliedHTTPS URL the server can fetch the file bytes from. Format: uri.
receipt.file_idstringWhen parent suppliedOpaque file identifier from the host.
receipt.file_namestringNoOriginal filename, if the host provides it.
receipt.mime_typestringNoMIME type hint from the host. Validated against the server allowlist after fetch.
attachmentstringNoStorage path of an already-uploaded file, or empty string to clear the existing receipt. Use only when not providing receipt.

Result

FieldType / accepted valuesRequiredDetails
dataobject or nullYesThe affected record, or the result of the operation. Null when nothing matched.

delete_job_expense

Delete an expense from a job

Parameters

FieldType / accepted valuesRequiredDetails
job_idintegerYesJob ID
expense_idJSON valueYesExpense ID

Result

FieldType / accepted valuesRequiredDetails
dataobject or nullYesThe 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.

On this page