ServiceMonster MCP by usefulapi
Read ServiceMonster customers, jobs, orders and schedules, and add customer notes.
사용해야 할까요
품질 및 안전성
발견 사항 (12)
- LOWservicemonster_list_serviceitems에서
- LOWservicemonster_list_account_orders에서
- LOWservicemonster_list_account_sites에서
- LOWservicemonster_list_account_notes에서
- LOWservicemonster_list_account_tasks에서
- LOWservicemonster_list_order_lineitems에서
- LOWservicemonster_list_order_notes에서
- LOWservicemonster_list_order_tasks에서
- LOWservicemonster_list_job_timelogs에서
- LOWservicemonster_list_site_noteactivities에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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"
}커뮤니티
증거