ServiceMonster MCP by usefulapi
Read ServiceMonster customers, jobs, orders and schedules, and add customer notes.
我该使用它吗
质量与安全性
发现(12)
- LOW在 servicemonster_list_serviceitems 中
- LOW在 servicemonster_list_account_orders 中
- LOW在 servicemonster_list_account_sites 中
- LOW在 servicemonster_list_account_notes 中
- LOW在 servicemonster_list_account_tasks 中
- LOW在 servicemonster_list_order_lineitems 中
- LOW在 servicemonster_list_order_notes 中
- LOW在 servicemonster_list_order_tasks 中
- LOW在 servicemonster_list_job_timelogs 中
- LOW在 servicemonster_list_site_noteactivities 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"servicemonster": {
"url": "https://servicemonster.usefulapi.io/mcp"
}
}
}远程端点
https://servicemonster.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(29)
🟢servicemonster_list_accounts(limit, pageIndex, fields, wField, wValue, ...)
Customer accounts with names, contact details and account status. GET /v1/accounts; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_jobs(limit, pageIndex, fields, wField, wValue, ...)
Jobs with account/order/route IDs, estimated times and status. GET /v1/jobs; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_orders(limit, pageIndex, fields, wField, wValue, ...)
Orders including estimates/invoices and available totals and balance information. GET /v1/orders; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_sites(limit, pageIndex, fields, wField, wValue, ...)
Customer service locations and their addresses. GET /v1/sites; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_notes(limit, pageIndex, fields, wField, wValue, ...)
Notes attached to accounts, orders and sites. GET /v1/notes; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_tasks(limit, pageIndex, fields, wField, wValue, ...)
Tasks; use returned fields to inspect assignments and follow-ups. GET /v1/tasks; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_routes(limit, pageIndex, fields, wField, wValue, ...)
Service routes; their IDs can filter the scheduling view. GET /v1/routes; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_employees(limit, pageIndex, fields, wField, wValue, ...)
Team members to resolve scheduling employee IDs. GET /v1/employees; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_serviceitems(limit, pageIndex, fields, wField, wValue, ...)
The company's service-item catalogue. GET /v1/serviceitems; returns one page, not all matching records.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_account(id)
Read the selected record. GET /v1/accounts/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_job(id)
Read the selected record. GET /v1/jobs/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_order(id)
Read the selected record. GET /v1/orders/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_site(id)
Read the selected record. GET /v1/sites/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_note(id)
Read the selected record. GET /v1/notes/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_route(id)
Read the selected record. GET /v1/routes/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_account_orders(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/accounts/{id}/orders.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_account_sites(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/accounts/{id}/sites.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_account_notes(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/accounts/{id}/notes.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_account_tasks(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/accounts/{id}/tasks.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_order_jobs(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/orders/{id}/jobs.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_order_lineitems(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/orders/{id}/lineitems.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_order_notes(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/orders/{id}/notes.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_order_tasks(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/orders/{id}/tasks.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_job_timelogs(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/jobs/{id}/timelogs.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_site_noteactivities(id, limit, pageIndex, fields, wField, ...)
Read one page of related records. GET /v1/sites/{id}/noteactivities.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"limit": {
"description": "Records per page (default25, maximum100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageIndex": {
"description": "Zero-based page index (default0); advance it to retrieve more records.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fields": {
"description": "Optional comma-separated field names to return.",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"pattern": "^[A-Za-z_][A-Za-z0-9_,]*$"
},
"wField": {
"description": "One documented field to filter, e.g. accountName or balanceDue. Requires wValue.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"wValue": {
"description": "Filter value; provide together with wField.",
"type": "string",
"maxLength": 1000
},
"wOperator": {
"description": "Comparison; omit for equality. 'like' matches a substring.",
"type": "string",
"enum": [
"gt",
"lt",
"like"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_get_account_profile(id)
Read the account's service/order history statistics and available balance information. GET /v1/accounts/{id}/profile.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_scheduling(startDate, endDate, routeID, getJobColor)
GET /v1/scheduling. Defaults to today through7days ahead at the vendor. Use startDate/endDate for a bounded period; dates follow the company's scheduling context. Flattened event view, optionally one route.
输入模式
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+-]\\d{2}:\\d{2})?)?$"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+-]\\d{2}:\\d{2})?)?$"
},
"routeID": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"getJobColor": {
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢servicemonster_list_scheduleitems(startDate, endDate)
GET /v1/scheduleitems. Defaults to today through7days ahead at the vendor. Use startDate/endDate for a bounded period; dates follow the company's scheduling context. Returns each event and its associated job/activity/reminder/event details.
输入模式
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+-]\\d{2}:\\d{2})?)?$"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+-]\\d{2}:\\d{2})?)?$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴servicemonster_create_note(subject, note, accountID, orderID, siteID)
Create a note immediately (POST /v1/notes); no preview or separate confirmation is enforced. Requires an API User permitted to create notes; Read Only cannot write. Specify accountID, orderID or siteID; orderID and siteID cannot be combined. Ask the user to review the exact record and text before calling. No scheduling or messaging is performed.
输入模式
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"note": {
"type": "string",
"maxLength": 20000
},
"accountID": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"orderID": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
},
"siteID": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "ServiceMonster record GUID, obtained from a preceding read."
}
},
"required": [
"subject"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据