Look up shop customers, vehicles, work orders and parts, and create orders or book appointments.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add an email address to an existing customer, optionally as their primary address. Shopmonkey: POST /v3/customer/:id/email.
The email address.
The customer id.
Make this the customer's primary email.
The shop location id (see shopmonkey_get_current_user for the key's own location).
Whether the customer receives messages at this address.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Add an email address to an existing customer, optionally as their primary address. Shopmonkey: POST /v3/customer/:id/email.
| Argument | Type | Description |
|---|---|---|
| email* | string | The email address. |
| primary | boolean | Make this the customer's primary email. |
| customerId* | string | The customer id. |
| locationId | string | The shop location id (see shopmonkey_get_current_user for the key's own location). |
| subscribed | boolean | Whether the customer receives messages at this address. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId",
"email"
],
"properties": {
"email": {
"type": "string",
"minLength": 3,
"description": "The email address."
},
"primary": {
"type": "boolean",
"description": "Make this the customer's primary email."
},
"customerId": {
"type": "string",
"minLength": 1,
"description": "The customer id."
},
"locationId": {
"type": "string",
"description": "The shop location id (see shopmonkey_get_current_user for the key's own location)."
},
"subscribed": {
"type": "boolean",
"description": "Whether the customer receives messages at this address."
}
}
}Book an appointment on the shop calendar, optionally for a customer, vehicle and order and assigned to technicians. Confirmation/reminder messages are only sent if you ask. Shopmonkey: POST /v3/appointment.
| Argument | Type | Description |
|---|---|---|
| name* | string | What the appointment is for, e.g. 'Oil change'. |
| note | string | Notes for the appointment. |
| color | string | Calendar color. Default blue. |
| allDay | boolean | All-day appointment. |
| useSMS | boolean | Use SMS for confirmation/reminder. |
| endDate* | string | End, ISO 8601 date-time. |
| orderId | string | A work order to link. |
| useEmail | boolean | Use email for confirmation/reminder. |
| startDate* | string | Start, ISO 8601 date-time. |
Create a customer (a person) or a fleet account. Add an email afterwards with shopmonkey_add_customer_email. Shopmonkey: POST /v3/customer.
| Argument | Type | Description |
|---|---|---|
| city | string | City. |
| note | string | Internal note on the customer. |
| state | string | State / province. |
| country | string | ISO 3166-1 alpha-2 country code, e.g. US or CA. |
| website | string | Website. |
| address1 | string | Street address, line 1. |
| address2 | string | Street address, line 2. |
| lastName | string | Last name. |
| firstName | string | First name. |
| taxExempt | boolean | US tax exemption. |
Open a new work order (it starts as an estimate) for a customer and vehicle. Add services in the Shopmonkey UI. Shopmonkey: POST /v3/order.
| Argument | Type | Description |
|---|---|---|
| name | string | Order name / title. |
| dueDate | string | When the vehicle is promised, ISO 8601 date-time. |
| complaint | string | The customer's complaint (reason for visit). |
| vehicleId | string | The vehicle being worked on. |
| customerId | string | The customer the order is for. |
| locationId | string | The shop location id (see shopmonkey_get_current_user for the key's own location). |
| recommendation | string | The shop's recommendation. |
| serviceWriterId | string | User id of the service writer. |
| workflowStatusId | string | Workflow status (board column) id — see shopmonkey_list_workflow_statuses. |
Create a vehicle, optionally attached to a customer. Shopmonkey: POST /v3/vehicle.
| Argument | Type | Description |
|---|---|---|
| vin | string | Vehicle identification number. |
| make | string | Make, e.g. Toyota. |
| note | string | Internal note on the vehicle. |
| size* | string | LightDuty (cars, light trucks), HeavyDuty, or Other. |
| unit | string | Fleet unit number. |
| year | integer | Model year. |
| color | string | Vehicle color. |
| model | string | Model, e.g. Camry. |
| engine | string | Engine description. |
| mileage | number | Current odometer reading. |
Find the customers that own any of the given email addresses. Shopmonkey: POST /v3/customer/email/search.
| Argument | Type | Description |
|---|---|---|
| emails* | array | Email addresses to look up. |
| excludeCustomerId | string | A customer id to leave out of the results. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"maxItems": 50,
"minItems": 1,
"description": "Email addresses to look up."
},
"excludeCustomerId": {
"type": "string",
"description": "A customer id to leave out of the results."
}
}
}Find the customers that own any of the given phone numbers — the usual way to identify a caller. Shopmonkey: POST /v3/customer/phone_number/search.
| Argument | Type | Description |
|---|---|---|
| phoneNumbers* | array | Phone numbers to look up. |
| excludeCustomerId | string | A customer id to leave out of the results. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phoneNumbers"
],
"properties": {
"phoneNumbers": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"minItems": 1,
"description": "Phone numbers to look up."
},
"excludeCustomerId": {
"type": "string",
"description": "A customer id to leave out of the results."
}
}
}Fetch the user this API key acts as — id, name, company, default location and permissions. A cheap way to confirm the key works and to find your locationId. Shopmonkey: GET /v3/user/me.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fetch a single customer by id — contact details, emails, phone numbers, counts of vehicles/orders/appointments. Shopmonkey: GET /v3/customer/:id.
| Argument | Type | Description |
|---|---|---|
| customerId* | string | The customer id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId"
],
"properties": {
"customerId": {
"type": "string",
"minLength": 1,
"description": "The customer id."
}
}
}Fetch a single work order by id — customer, vehicle, complaint, totals (parts/labor/tax in cents), payment state and profitability. Shopmonkey: GET /v3/order/:id.
| Argument | Type | Description |
|---|---|---|
| orderId* | string | The order id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"orderId"
],
"properties": {
"orderId": {
"type": "string",
"minLength": 1,
"description": "The order id."
}
}
}Fetch a single vehicle by id, including its mileage and tire-pressure logs. Shopmonkey: GET /v3/vehicle/:id.
| Argument | Type | Description |
|---|---|---|
| vehicleId* | string | The vehicle id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"vehicleId"
],
"properties": {
"vehicleId": {
"type": "string",
"minLength": 1,
"description": "The vehicle id."
}
}
}List the shop's canned services (reusable job templates like 'Oil change') with their labor, parts and fees and total in cents. Shopmonkey: GET /v3/canned_service.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
}
}
}List a customer's work orders (estimates, repair orders, invoices) — their service history. Shopmonkey: GET /v3/customer/:id/order.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
| customerId* | string | The customer id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId"
],
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
},
"customerId": {
"type": "string",
"minLength": 1,
"description": "The customer id."
}
}
}List the vehicles owned by a customer (year/make/model, VIN, plate, mileage). Shopmonkey: GET /v3/customer/:id/vehicle.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
| customerId* | string | The customer id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId"
],
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
},
"customerId": {
"type": "string",
"minLength": 1,
"description": "The customer id."
}
}
}List the services (jobs) on a work order with their line items — labor, parts, tires, fees, subcontracts — authorization status and totals. Shopmonkey: GET /v3/order/:orderId/service.
| Argument | Type | Description |
|---|---|---|
| orderId* | string | The order id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"orderId"
],
"properties": {
"orderId": {
"type": "string",
"minLength": 1,
"description": "The order id."
}
}
}List work orders for the shop, paged. Each order carries its number, status flags (authorized, invoiced, paid), totals in cents, workflow status and assigned technicians. For one customer's orders use shopmonkey_list_customer_orders. Shopmonkey: GET /v3/order.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
}
}
}List the shop's users (service writers, technicians, admins) — the ids to use for technicians and service writers. Shopmonkey: GET /v3/user.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
}
}
}List the workflow statuses (the columns of the shop's work-order board) with their position. Use the id to move an order with shopmonkey_update_order. Shopmonkey: GET /v3/workflow_status.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
}
}
}Search the appointment calendar by date range, customer, order or technician. Returns appointments with their customer. Shopmonkey: POST /v3/appointment/search.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| sort | string | Sort by start date. Default asc. |
| endTo | string | Appointments ending at or before this ISO 8601 date-time. |
| limit | integer | Maximum number of records to return. |
| endFrom | string | Appointments ending at or after this ISO 8601 date-time. |
| orderId | string | Only appointments linked to this order. |
| startTo | string | Appointments starting at or before this ISO 8601 date-time. |
| startFrom | string | Appointments starting at or after this ISO 8601 date-time. |
| customerId | string | Only this customer's appointments. |
Search customers with a server-side filter, sort and paging. Returns customers with their emails and phone numbers. Shopmonkey: POST /v3/customer/search.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
| where | object | Filter object applied server-side, keyed by field name, e.g. {"lastName": "Smith"} or {"createdDate": {"gte": "2026-01-01"}}. |
| orderBy | object | Sort instructions keyed by field name, e.g. {"createdDate": "desc"}. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
},
"where": {
"type": "object",
"description": "Filter object applied server-side, keyed by field name, e.g. {\"lastName\": \"Smith\"} or {\"createdDate\": {\"gte\": \"2026-01-01\"}}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"orderBy": {
"type": "object",
"description": "Sort instructions keyed by field name, e.g. {\"createdDate\": \"desc\"}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"enum": [
"asc",
"desc"
],
"type": "string"
}
}
}
}Search the parts inventory — name, part number, SKU, quantity on hand/available/reserved, retail and wholesale cost in cents, bin location, brand and vendor. Filter e.g. {"sku": "ABC-123"}. Shopmonkey: POST /v3/inventory_part/search.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Number of records to skip, for paging (use with limit). |
| limit | integer | Maximum number of records to return. |
| where | object | Filter object applied server-side, keyed by field name, e.g. {"lastName": "Smith"} or {"createdDate": {"gte": "2026-01-01"}}. |
| orderBy | object | Sort instructions keyed by field name, e.g. {"createdDate": "desc"}. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
},
"where": {
"type": "object",
"description": "Filter object applied server-side, keyed by field name, e.g. {\"lastName\": \"Smith\"} or {\"createdDate\": {\"gte\": \"2026-01-01\"}}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"orderBy": {
"type": "object",
"description": "Sort instructions keyed by field name, e.g. {\"createdDate\": \"desc\"}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"enum": [
"asc",
"desc"
],
"type": "string"
}
}
}
}Update a customer's name, address, note or preferences. Only the fields you pass are sent. Shopmonkey: PUT /v3/customer/:id.
| Argument | Type | Description |
|---|---|---|
| city | string | City. |
| note | string | Internal note on the customer. |
| state | string | State / province. |
| country | string | ISO 3166-1 alpha-2 country code, e.g. US or CA. |
| website | string | Website. |
| address1 | string | Street address, line 1. |
| address2 | string | Street address, line 2. |
| lastName | string | Last name. |
| firstName | string | First name. |
| taxExempt | boolean | US tax exemption. |
Update a work order — move it to another workflow status, change its status (Estimate, RepairOrder, Invoice), edit complaint/recommendation, due date, service writer, or archive it. Only the fields you pass are sent. Shopmonkey: PUT /v3/order/:id.
| Argument | Type | Description |
|---|---|---|
| name | string | Order name / title. |
| status | string | Estimate, RepairOrder or Invoice. |
| dueDate | string | When the vehicle is promised, ISO 8601 date-time. |
| orderId* | string | The order id. |
| archived | boolean | Archive (true) or unarchive (false) the order. |
| complaint | string | The customer's complaint (reason for visit). |
| vehicleId | string | The vehicle being worked on. |
| customerId | string | The customer the order is for. |
| recommendation | string | The shop's recommendation. |
| vehicleId | string | The vehicle's id. |
| customerId | string | The customer's id. |
| sendReminder | boolean | Send the customer a reminder before the appointment. |
| technicianIds | array | User ids of the assigned technicians. |
| sendConfirmation | boolean | Send the customer a confirmation now. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"startDate",
"endDate"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "What the appointment is for, e.g. 'Oil change'."
},
"note": {
"type": "string",
"description": "Notes for the appointment."
},
"color": {
"enum": [
"aqua",
"black",
"blue",
"brown",
"gray",
"green",
"orange",
"purple",
"red",
"yellow"
],
"type": "string",
"default": "blue",
"description": "Calendar color. Default blue."
},
"allDay": {
"type": "boolean",
"description": "All-day appointment."
},
"useSMS": {
"type": "boolean",
"description": "Use SMS for confirmation/reminder."
},
"endDate": {
"type": "string",
"description": "End, ISO 8601 date-time."
},
"orderId": {
"type": "string",
"description": "A work order to link."
},
"useEmail": {
"type": "boolean",
"description": "Use email for confirmation/reminder."
},
"startDate": {
"type": "string",
"description": "Start, ISO 8601 date-time."
},
"vehicleId": {
"type": "string",
"description": "The vehicle's id."
},
"customerId": {
"type": "string",
"description": "The customer's id."
},
"sendReminder": {
"type": "boolean",
"description": "Send the customer a reminder before the appointment."
},
"technicianIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "User ids of the assigned technicians."
},
"sendConfirmation": {
"type": "boolean",
"description": "Send the customer a confirmation now."
}
}
}| externalId |
| string |
| Your own id for this customer in another system. |
| locationId | string | The shop location id (see shopmonkey_get_current_user for the key's own location). |
| postalCode | string | Postal / ZIP code. |
| companyName | string | Company name (for fleet / business customers). |
| customerType* | string | Customer (individual) or Fleet (business account). |
| discountPercent | number | Default discount percent. |
| preferredLanguage | string | en, en_US, fr_CA or es_MX. |
| preferredContactMethod | string | SMS, Email or All. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerType"
],
"properties": {
"city": {
"type": "string",
"description": "City."
},
"note": {
"type": "string",
"description": "Internal note on the customer."
},
"state": {
"type": "string",
"description": "State / province."
},
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "ISO 3166-1 alpha-2 country code, e.g. US or CA."
},
"website": {
"type": "string",
"description": "Website."
},
"address1": {
"type": "string",
"description": "Street address, line 1."
},
"address2": {
"type": "string",
"description": "Street address, line 2."
},
"lastName": {
"type": "string",
"description": "Last name."
},
"firstName": {
"type": "string",
"description": "First name."
},
"taxExempt": {
"type": "boolean",
"description": "US tax exemption."
},
"externalId": {
"type": "string",
"description": "Your own id for this customer in another system."
},
"locationId": {
"type": "string",
"description": "The shop location id (see shopmonkey_get_current_user for the key's own location)."
},
"postalCode": {
"type": "string",
"description": "Postal / ZIP code."
},
"companyName": {
"type": "string",
"description": "Company name (for fleet / business customers)."
},
"customerType": {
"enum": [
"Customer",
"Fleet"
],
"type": "string",
"description": "Customer (individual) or Fleet (business account)."
},
"discountPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Default discount percent."
},
"preferredLanguage": {
"enum": [
"en",
"en_US",
"fr_CA",
"es_MX"
],
"type": "string",
"description": "en, en_US, fr_CA or es_MX."
},
"preferredContactMethod": {
"enum": [
"SMS",
"Email",
"All"
],
"type": "string",
"description": "SMS, Email or All."
}
}
}| purchaseOrderNumber | string | Customer PO number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Order name / title."
},
"dueDate": {
"type": "string",
"description": "When the vehicle is promised, ISO 8601 date-time."
},
"complaint": {
"type": "string",
"description": "The customer's complaint (reason for visit)."
},
"vehicleId": {
"type": "string",
"description": "The vehicle being worked on."
},
"customerId": {
"type": "string",
"description": "The customer the order is for."
},
"locationId": {
"type": "string",
"description": "The shop location id (see shopmonkey_get_current_user for the key's own location)."
},
"recommendation": {
"type": "string",
"description": "The shop's recommendation."
},
"serviceWriterId": {
"type": "string",
"description": "User id of the service writer."
},
"workflowStatusId": {
"type": "string",
"description": "Workflow status (board column) id — see shopmonkey_list_workflow_statuses."
},
"purchaseOrderNumber": {
"type": "string",
"description": "Customer PO number."
}
}
}| submodel |
| string |
| Submodel / trim, e.g. LE. |
| customerId | string | The owning customer's id. |
| locationId | string | The shop location id (see shopmonkey_get_current_user for the key's own location). |
| licensePlate | string | License plate. |
| licensePlateState | string | License plate state / province. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"size"
],
"properties": {
"vin": {
"type": "string",
"description": "Vehicle identification number."
},
"make": {
"type": "string",
"description": "Make, e.g. Toyota."
},
"note": {
"type": "string",
"description": "Internal note on the vehicle."
},
"size": {
"enum": [
"HeavyDuty",
"LightDuty",
"Other"
],
"type": "string",
"description": "LightDuty (cars, light trucks), HeavyDuty, or Other."
},
"unit": {
"type": "string",
"description": "Fleet unit number."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1900,
"description": "Model year."
},
"color": {
"enum": [
"White",
"Silver",
"Gray",
"Black",
"Blue",
"Red",
"Brown",
"Burgundy",
"Tan",
"Gold",
"Green",
"Yellow",
"Orange",
"Pink",
"Purple",
"Other"
],
"type": "string",
"description": "Vehicle color."
},
"model": {
"type": "string",
"description": "Model, e.g. Camry."
},
"engine": {
"type": "string",
"description": "Engine description."
},
"mileage": {
"type": "number",
"minimum": 0,
"description": "Current odometer reading."
},
"submodel": {
"type": "string",
"description": "Submodel / trim, e.g. LE."
},
"customerId": {
"type": "string",
"description": "The owning customer's id."
},
"locationId": {
"type": "string",
"description": "The shop location id (see shopmonkey_get_current_user for the key's own location)."
},
"licensePlate": {
"type": "string",
"description": "License plate."
},
"licensePlateState": {
"type": "string",
"description": "License plate state / province."
}
}
}| technicians | array | Only appointments assigned to these technician (user) ids. |
| includeUnassigned | boolean | With technicians, also include unassigned appointments. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of records to skip, for paging (use with limit)."
},
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort by start date. Default asc."
},
"endTo": {
"type": "string",
"description": "Appointments ending at or before this ISO 8601 date-time."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of records to return."
},
"endFrom": {
"type": "string",
"description": "Appointments ending at or after this ISO 8601 date-time."
},
"orderId": {
"type": "string",
"description": "Only appointments linked to this order."
},
"startTo": {
"type": "string",
"description": "Appointments starting at or before this ISO 8601 date-time."
},
"startFrom": {
"type": "string",
"description": "Appointments starting at or after this ISO 8601 date-time."
},
"customerId": {
"type": "string",
"description": "Only this customer's appointments."
},
"technicians": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only appointments assigned to these technician (user) ids."
},
"includeUnassigned": {
"type": "boolean",
"description": "With technicians, also include unassigned appointments."
}
}
}| customerId* |
| string |
| The customer id. |
| externalId | string | Your own id for this customer in another system. |
| postalCode | string | Postal / ZIP code. |
| companyName | string | Company name (for fleet / business customers). |
| discountPercent | number | Default discount percent. |
| preferredLanguage | string | en, en_US, fr_CA or es_MX. |
| preferredContactMethod | string | SMS, Email or All. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId"
],
"properties": {
"city": {
"type": "string",
"description": "City."
},
"note": {
"type": "string",
"description": "Internal note on the customer."
},
"state": {
"type": "string",
"description": "State / province."
},
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "ISO 3166-1 alpha-2 country code, e.g. US or CA."
},
"website": {
"type": "string",
"description": "Website."
},
"address1": {
"type": "string",
"description": "Street address, line 1."
},
"address2": {
"type": "string",
"description": "Street address, line 2."
},
"lastName": {
"type": "string",
"description": "Last name."
},
"firstName": {
"type": "string",
"description": "First name."
},
"taxExempt": {
"type": "boolean",
"description": "US tax exemption."
},
"customerId": {
"type": "string",
"minLength": 1,
"description": "The customer id."
},
"externalId": {
"type": "string",
"description": "Your own id for this customer in another system."
},
"postalCode": {
"type": "string",
"description": "Postal / ZIP code."
},
"companyName": {
"type": "string",
"description": "Company name (for fleet / business customers)."
},
"discountPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Default discount percent."
},
"preferredLanguage": {
"enum": [
"en",
"en_US",
"fr_CA",
"es_MX"
],
"type": "string",
"description": "en, en_US, fr_CA or es_MX."
},
"preferredContactMethod": {
"enum": [
"SMS",
"Email",
"All"
],
"type": "string",
"description": "SMS, Email or All."
}
}
}| serviceWriterId | string | User id of the service writer. |
| workflowStatusId | string | Workflow status (board column) id — see shopmonkey_list_workflow_statuses. |
| purchaseOrderNumber | string | Customer PO number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"orderId"
],
"properties": {
"name": {
"type": "string",
"description": "Order name / title."
},
"status": {
"enum": [
"Estimate",
"RepairOrder",
"Invoice"
],
"type": "string",
"description": "Estimate, RepairOrder or Invoice."
},
"dueDate": {
"type": "string",
"description": "When the vehicle is promised, ISO 8601 date-time."
},
"orderId": {
"type": "string",
"minLength": 1,
"description": "The order id."
},
"archived": {
"type": "boolean",
"description": "Archive (true) or unarchive (false) the order."
},
"complaint": {
"type": "string",
"description": "The customer's complaint (reason for visit)."
},
"vehicleId": {
"type": "string",
"description": "The vehicle being worked on."
},
"customerId": {
"type": "string",
"description": "The customer the order is for."
},
"recommendation": {
"type": "string",
"description": "The shop's recommendation."
},
"serviceWriterId": {
"type": "string",
"description": "User id of the service writer."
},
"workflowStatusId": {
"type": "string",
"description": "Workflow status (board column) id — see shopmonkey_list_workflow_statuses."
},
"purchaseOrderNumber": {
"type": "string",
"description": "Customer PO number."
}
}
}