Skip to main content

ServiceTitan Component

ServiceTitan is a comprehensive field service management solution that helps businesses manage their operations, workforce, and customer service.

Component key: servicetitan

Description

ServiceTitan is a comprehensive field service management solution that helps businesses manage their operations, workforce, and customer service.

Use the ServiceTitan component to manage Technicians, Jobs, Appointments, and more.

API Documentation: ServiceTitan API Reference

Connections

OAuth 2.0

To authenticate ServiceTitan integrations with OAuth 2.0 requires a developer account and the configuration of an application from the ServiceTitan Developer Portal.

To Create an app:

  1. Login to the Developer Portal
  2. Select My Apps at the top of the page
  3. Select + New App
  4. Fill all the required fields and scopes
  5. Under Client Credentials Management”, select I, the app developer, will configure the credentials on behalf of each tenant
  6. Click Create App

For Existing apps:

  1. Login to the Developer Portal
  2. Select My Apps at the top of the page
  3. Click Edit on your application
  4. Under Client Credentials Management”, select I, the app developer, will configure the credentials on behalf of each tenant
  5. Click Save

To obtain a Client Secret and Client ID:

If you haven’t done so already, please add the client’s Tenant ID to your application. Once the Tenant Admin has allowed access and connected to your application through their “API Application Access” settings, you can begin the process of obtaining the tenant’s client ID and client secret in your developer portal:

  1. Login to the Developer Portal
  2. Select My Apps at the top of the page
  3. Click View Connections for your app
  4. Click Generate under Client Secret to create a new Client Secret
  5. Reference the tenant’s Client ID on this page as well

Data Sources

Select Appointment

Select an Appointment from a dropdown menu (up to 10,000 Appointments) | key: selectAppointment | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "#1 (ID: 1)"
}
]
}

Select Booking

Select a booking from a dropdown menu (up to 10,000 bookings) | key: selectBooking | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "Booking 1 (ID: 1)"
},
{
"key": "2",
"label": "Booking 2 (ID: 2)"
}
]
}

Select Customer

Select a customer from a dropdown menu (up to 10,000 customers) | key: selectCustomers | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "John Doe (ID: 1)"
},
{
"key": "2",
"label": "Jane Doe (ID: 2)"
}
]
}

Select Installed Equipment

Select an Installed Equipment from a dropdown menu (up to 10,000 Installed Equipments) | key: selectInstalledEquipment | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "Installed Equipment 1 (ID: 1)"
},
{
"key": "2",
"label": "Installed Equipment 2 (ID: 2)"
}
]
}

Select Invoice

Select an Invoice from a dropdown menu (up to 10,000 Invoices) | key: selectInvoice | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "#1234"
}
]
}

Select Job

Select a job from a dropdown menu (up to 10,000 jobs) | key: selectJob | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "#1"
},
{
"key": "2",
"label": "#2"
},
{
"key": "3",
"label": "#3"
}
]
}

Select Location

Select a Location from a dropdown menu (up to 10,000 Locations) | key: selectLocation | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "Location 1 (ID: 1)"
},
{
"key": "2",
"label": "Location 2 (ID: 2)"
},
{
"key": "3",
"label": "Location 3 (ID: 3)"
}
]
}

Select Project

Select a Project from a dropdown menu (up to 10,000 Projects) | key: selectProject | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "Project 1 (ID: 1)"
},
{
"key": "2",
"label": "Project 2 (ID: 2)"
}
]
}

Select Technician

Select a Technician from a dropdown menu (up to 10,000 Technicians) | key: selectTechnician | type: picklist

Data Source Payload

{
"result": [
{
"key": "1",
"label": "John Doe (ID: 1)"
},
{
"key": "2",
"label": "Jane Doe (ID: 2)"
}
]
}

Actions

Assign Technician to Appointment

Assigns the list of technicians to the appointment | key: assignTechnicians

Output Example Payload

{
"data": {
"id": 0,
"jobId": 0,
"appointmentNumber": "string",
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"status": {},
"specialInstructions": "string",
"createdOn": "string",
"modifiedOn": "string"
}
}

Cancel Job

Cancels a Job | key: cancelJob

Output Example Payload

{
"data": {}
}

Create Appointment

Adds a new appointment to an existing job | key: createAppointment

Output Example Payload

{
"data": {
"id": 0,
"jobId": 0,
"appointmentNumber": "string",
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"status": {},
"specialInstructions": "string",
"createdOn": "string",
"modifiedOn": "string",
"customerId": 0,
"unused": true
}
}

Create Booking by Provider

Create a booking | key: createBookingByProvider

Output Example Payload

{
"data": {
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
}
}

Create Customer

Create a New Customer | key: createCustomer

Output Example Payload

{
"data": {
"id": 0,
"active": true,
"name": "string",
"type": {},
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"balance": 0,
"tagTypeIds": [
0
],
"doNotMail": true,
"doNotService": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"locations": [
{
"taxZoneId": 0,
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"contacts": [
{
"id": 0,
"type": {},
"value": "string",
"memo": "string"
}
]
}
],
"contacts": [
{
"id": 0,
"type": {},
"value": "string",
"memo": "string"
}
]
}
}

Create Customer Contact

Create a contact for a customer | key: createCustomerContact

Output Example Payload

{
"data": {
"id": 0,
"type": {},
"value": "string",
"memo": "string",
"modifiedOn": "string",
"phoneSettings": {
"phoneNumber": "string",
"doNotText": true
}
}
}

Create Installed Equipment

Create a new Installed equipment | key: createInstalledEquipment

Output Example Payload

{
"data": {
"id": 0,
"equipmentId": 0,
"locationId": 0,
"customerId": 0,
"invoiceItemId": 0,
"name": "string",
"installedOn": "string",
"createdOn": "string",
"modifiedOn": "string",
"serialNumber": "string",
"memo": "string",
"manufacturer": "string",
"model": "string",
"cost": 0,
"manufacturerWarrantyStart": "string",
"manufacturerWarrantyEnd": "string",
"serviceProviderWarrantyStart": "string",
"serviceProviderWarrantyEnd": "string",
"tags": [
{
"id": 0,
"ownerId": 0,
"typeId": 0,
"typeName": "string",
"memo": "string",
"color": "string",
"textColor": "string",
"code": "string"
}
],
"customFields": [
{
"id": 0,
"typeId": 0,
"name": "string",
"value": "string"
}
],
"attachments": [
{
"alias": "string",
"fileName": "string",
"type": {},
"url": "string"
}
]
}
}

Create Installed Equipment Attachment

Create a new installed equipment attachment | key: createInstalledEquipmentAttachment

Output Example Payload

{
"data": {
"path": "InstalledEquipment/Documents/e2374d0c-16b8-4bb7-b3b5-1bd0ac1df1f4.csv"
}
}

Create Invoices

Create adjustment invoice | key: createInvoices

Output Example Payload

{
"data": {}
}

Create Job

Create a job | key: createJob

Output Example Payload

{
"data": {
"id": 0,
"jobNumber": "string",
"projectId": 0,
"customerId": 0,
"locationId": 0,
"jobStatus": "string",
"completedOn": "string",
"businessUnitId": 0,
"jobTypeId": 0,
"priority": "string",
"campaignId": 0,
"summary": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"appointmentCount": 0,
"firstAppointmentId": 0,
"lastAppointmentId": 0,
"recallForId": 0,
"warrantyId": 0,
"jobGeneratedLeadSource": {
"jobId": 0,
"employeeId": 0
},
"noCharge": true,
"notificationsEnabled": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"tagTypeIds": [
0
],
"leadCallId": 0,
"bookingId": 0,
"soldById": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"customerPo": "string"
}
}

Create Location

Creates a new location | key: createLocation

Output Example Payload

{
"data": {
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"taxZoneId": 0,
"contacts": [
{
"id": 0,
"type": {},
"value": "string",
"memo": "string"
}
]
}
}

Create Payment

Create a payment in Service Titan | key: createPayment

Output Example Payload

{
"data": {
"id": 0,
"typeId": 0,
"active": true,
"memo": "string",
"paidOn": "string",
"authCode": "string",
"checkNumber": "string",
"exportId": "string",
"transactionStatus": {},
"status": {},
"splits": [
{
"invoiceId": 0,
"amount": 0
}
]
}
}

Create Project

Create a new project | key: createProject

Output Example Payload

{
"data": {
"id": 0,
"number": "string",
"name": "string",
"summary": "string",
"status": "string",
"statusId": 0,
"subStatus": "string",
"subStatusId": 0,
"customerId": 0,
"locationId": 0,
"projectManagerIds": [
0
],
"businessUnitIds": [
0
],
"startDate": "string",
"targetCompletionDate": "string",
"actualCompletionDate": "string",
"modifiedOn": "string",
"createdOn": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"jobIds": [
0
]
}
}

Create Technician

Create new technician | key: createTechnician

Output Example Payload

{
"data": {
"id": 0
}
}

Delete Appointment

Delete appointment by ID | key: deleteAppointment

Output Example Payload

{
"data": {}
}

Delete Customer Contact

Removes a contact from a customer | key: deletCustomersContact

Output Example Payload

{
"data": {}
}

Delete Invoice Item

Delete an invoice item | key: deleteInvoiceItem

Output Example Payload

{
"data": {}
}

Get Appointment

Retrieve an appointment by ID | key: getAppointment

Output Example Payload

{
"data": {
"id": 0,
"jobId": 0,
"appointmentNumber": "string",
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"status": {},
"specialInstructions": "string",
"createdOn": "string",
"modifiedOn": "string",
"customerId": 0,
"unused": true
}
}

Get Booking by Provider

Retrieve a booking by ID | key: getBookingByProvider

Output Example Payload

{
"data": {
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
}
}

Get Booking by Tenant

Retrieve a booking by ID | key: getBookingByTenant

Output Example Payload

{
"data": {
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
}
}

Get Customer

Retrieve a Customer by ID | key: getCustomer

Output Example Payload

{
"data": {
"id": 0,
"active": true,
"name": "string",
"type": {},
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"balance": 0,
"tagTypeIds": [
0
],
"doNotMail": true,
"doNotService": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
]
}
}

Get Installed Equipment

Retrieve a Installed Equipment by ID | key: getInstalledEquipment

Output Example Payload

{
"data": {
"id": 0,
"equipmentId": 0,
"locationId": 0,
"customerId": 0,
"invoiceItemId": 0,
"name": "string",
"installedOn": "string",
"createdOn": "string",
"modifiedOn": "string",
"serialNumber": "string",
"memo": "string",
"manufacturer": "string",
"model": "string",
"cost": 0,
"manufacturerWarrantyStart": "string",
"manufacturerWarrantyEnd": "string",
"serviceProviderWarrantyStart": "string",
"serviceProviderWarrantyEnd": "string",
"tags": [
{
"id": 0,
"ownerId": 0,
"typeId": 0,
"typeName": "string",
"memo": "string",
"color": "string",
"textColor": "string",
"code": "string"
}
],
"customFields": [
{
"id": 0,
"typeId": 0,
"name": "string",
"value": "string"
}
],
"attachments": [
{
"alias": "string",
"fileName": "string",
"type": {},
"url": "string"
}
]
}
}

Get Job

Retrieve a job by ID | key: getJob

Output Example Payload

{
"data": {
"id": 0,
"jobNumber": "string",
"projectId": 0,
"customerId": 0,
"locationId": 0,
"jobStatus": "string",
"completedOn": "string",
"businessUnitId": 0,
"jobTypeId": 0,
"priority": "string",
"campaignId": 0,
"summary": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"appointmentCount": 0,
"firstAppointmentId": 0,
"lastAppointmentId": 0,
"recallForId": 0,
"warrantyId": 0,
"jobGeneratedLeadSource": {
"jobId": 0,
"employeeId": 0
},
"noCharge": true,
"notificationsEnabled": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"tagTypeIds": [
0
],
"leadCallId": 0,
"bookingId": 0,
"soldById": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"customerPo": "string"
}
}

Get Location

Retrieve a location by ID | key: getLocation

Output Example Payload

{
"data": {
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"taxZoneId": 0
}
}

Get Project

Retrieve a project by ID | key: getProject

Output Example Payload

{
"data": {
"id": 0,
"number": "string",
"name": "string",
"summary": "string",
"status": "string",
"statusId": 0,
"subStatus": "string",
"subStatusId": 0,
"customerId": 0,
"locationId": 0,
"projectManagerIds": [
0
],
"businessUnitIds": [
0
],
"startDate": "string",
"targetCompletionDate": "string",
"actualCompletionDate": "string",
"modifiedOn": "string",
"createdOn": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"jobIds": [
0
]
}
}

Get Technician

Retrieve a Technician by ID | key: getTechnician

Output Example Payload

{
"data": {
"id": 0,
"userId": 0,
"name": "string",
"roleIds": [
0
],
"businessUnitId": 0,
"mainZoneId": 0,
"zoneIds": [
0
],
"createdOn": "string",
"modifiedOn": "string",
"email": "string",
"phoneNumber": "string",
"loginName": "string",
"home": {
"street": "string",
"unit": "string",
"country": "string",
"city": "string",
"state": "string",
"zip": "string",
"streetAddress": "string",
"latitude": 0,
"longitude": 0
},
"dailyGoal": 0,
"isManagedTech": true,
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"active": true,
"aadUserId": "string",
"burdenRate": 0,
"team": "string",
"jobFilter": {}
}
}

List Appointment Assignment

Retrieve a list of appointment assignments | key: listAppointmentsAssignment

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"technicianId": 0,
"technicianName": "string",
"assignedById": 0,
"assignedOn": "string",
"status": {},
"isPaused": true,
"jobId": 0,
"appointmentId": 0
}
]
}
}

List Appointments

Retrieve a list of appointments | key: listAppointments

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"jobId": 0,
"appointmentNumber": "string",
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"status": {},
"specialInstructions": "string",
"createdOn": "string",
"modifiedOn": "string",
"customerId": 0,
"unused": true
},
{
"id": 0,
"jobId": 0,
"appointmentNumber": "string",
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"status": {},
"specialInstructions": "string",
"createdOn": "string",
"modifiedOn": "string",
"customerId": 0,
"unused": true
}
]
}
}

List Bookings by Provider

Retrieves a list of bookings | key: listBookingByProvider

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
},
{
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
}
]
}
}

List Bookings by Tenant

Retrieves a list of bookings | key: listBookingByTenant

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
},
{
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
}
]
}
}

List Business Units

Gets a list of business units | key: listBusinessUnits

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"active": true,
"name": "string",
"officialName": "string",
"email": "string",
"currency": "string",
"phoneNumber": "string",
"invoiceHeader": "string",
"invoiceMessage": "string",
"defaultTaxRate": 0,
"authorizationParagraph": "string",
"acknowledgementParagraph": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"materialSku": "string",
"quickbooksClass": "string",
"accountCode": "string",
"franchiseId": "string",
"conceptCode": "string",
"corporateContractNumber": "string",
"tenant": {
"id": 0,
"name": "string",
"accountCode": "string",
"franchiseId": "string",
"conceptCode": "string",
"modifiedOn": "string"
},
"createdOn": "string",
"modifiedOn": "string",
"externalData": [
{
"key": "string",
"value": "string"
}
]
}
]
}
}

List Customer Contacts

Gets a list of contacts for the specified customer | key: listCustomersContact

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"type": {},
"value": "string",
"memo": "string",
"modifiedOn": "string",
"phoneSettings": {
"phoneNumber": "string",
"doNotText": true
}
},
{
"id": 0,
"type": {},
"value": "string",
"memo": "string",
"modifiedOn": "string",
"phoneSettings": {
"phoneNumber": "string",
"doNotText": true
}
}
]
}
}

List Customers

Retrieve a list of Customers | key: listCustomers

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"active": true,
"name": "string",
"type": {},
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"balance": 0,
"tagTypeIds": [
0
],
"doNotMail": true,
"doNotService": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
]
},
{
"id": 0,
"active": true,
"name": "string",
"type": {},
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"balance": 0,
"tagTypeIds": [
0
],
"doNotMail": true,
"doNotService": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
]
}
]
}
}

List Installed Equipment

Retrieve a list of installed equipment | key: listInstalledEquipment

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"equipmentId": 0,
"locationId": 0,
"customerId": 0,
"invoiceItemId": 0,
"name": "string",
"installedOn": "string",
"createdOn": "string",
"modifiedOn": "string",
"serialNumber": "string",
"memo": "string",
"manufacturer": "string",
"model": "string",
"cost": 0,
"manufacturerWarrantyStart": "string",
"manufacturerWarrantyEnd": "string",
"serviceProviderWarrantyStart": "string",
"serviceProviderWarrantyEnd": "string",
"tags": [
{
"id": 0,
"ownerId": 0,
"typeId": 0,
"typeName": "string",
"memo": "string",
"color": "string",
"textColor": "string",
"code": "string"
}
]
}
]
}
}

List Installed Equipment Attachments

Retrieve installed Equipment attachments | key: listInstalledEquipmentAttachments

Output Example Payload

{
"data": {
"type": "Buffer",
"data": [
69,
120,
97,
109,
112,
108,
101,
70,
105,
108,
101
]
}
}

List Invoices

Retrieves a list of invoices | key: listInvoices

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"syncStatus": "string",
"summary": "string",
"referenceNumber": "string",
"invoiceDate": "string",
"dueDate": "string",
"subTotal": "string",
"salesTax": "string",
"salesTaxCode": {
"id": 0,
"name": "string",
"taxRate": 0
},
"total": "string",
"balance": "string",
"invoiceType": {
"id": 0,
"name": "string"
},
"customer": {
"id": 0,
"name": "string"
},
"customerAddress": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"location": {
"id": 0,
"name": "string"
},
"locationAddress": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"businessUnit": {
"id": 0,
"name": "string"
},
"termName": "string",
"createdBy": "string",
"batch": {
"id": 0,
"number": "string",
"name": "string"
},
"depositedOn": "string",
"createdOn": "string",
"modifiedOn": "string",
"adjustmentToId": 0,
"job": {
"id": 0,
"number": "string",
"type": "string"
},
"projectId": 0,
"royalty": {
"status": "string",
"date": "string",
"sentOn": "string",
"memo": "string"
},
"employeeInfo": {
"id": 0,
"name": "string",
"modifiedOn": "string"
},
"commissionEligibilityDate": "string",
"sentStatus": "NotSent",
"reviewStatus": "NeedsReview",
"assignedTo": {
"id": 0,
"name": "string"
},
"items": [
{
"id": 0,
"description": "string",
"quantity": "string",
"cost": "string",
"totalCost": "string",
"inventoryLocation": "string",
"price": "string",
"type": "Service",
"skuName": "string",
"skuId": 0,
"total": "string",
"inventory": true,
"taxable": true,
"generalLedgerAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"costOfSaleAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"assetAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"membershipTypeId": 0,
"itemGroup": {
"rootId": 0,
"name": "string"
},
"displayName": "string",
"soldHours": 0,
"modifiedOn": "string",
"serviceDate": "string",
"order": 0,
"businessUnit": {
"id": 0,
"name": "string"
}
}
],
"customFields": [
{
"name": "string",
"value": "string"
}
]
},
{
"id": 0,
"syncStatus": "string",
"summary": "string",
"referenceNumber": "string",
"invoiceDate": "string",
"dueDate": "string",
"subTotal": "string",
"salesTax": "string",
"salesTaxCode": {
"id": 0,
"name": "string",
"taxRate": 0
},
"total": "string",
"balance": "string",
"invoiceType": {
"id": 0,
"name": "string"
},
"customer": {
"id": 0,
"name": "string"
},
"customerAddress": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"location": {
"id": 0,
"name": "string"
},
"locationAddress": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"businessUnit": {
"id": 0,
"name": "string"
},
"termName": "string",
"createdBy": "string",
"batch": {
"id": 0,
"number": "string",
"name": "string"
},
"depositedOn": "string",
"createdOn": "string",
"modifiedOn": "string",
"adjustmentToId": 0,
"job": {
"id": 0,
"number": "string",
"type": "string"
},
"projectId": 0,
"royalty": {
"status": "string",
"date": "string",
"sentOn": "string",
"memo": "string"
},
"employeeInfo": {
"id": 0,
"name": "string",
"modifiedOn": "string"
},
"commissionEligibilityDate": "string",
"sentStatus": "NotSent",
"reviewStatus": "NeedsReview",
"assignedTo": {
"id": 0,
"name": "string"
},
"items": [
{
"id": 0,
"description": "string",
"quantity": "string",
"cost": "string",
"totalCost": "string",
"inventoryLocation": "string",
"price": "string",
"type": "Service",
"skuName": "string",
"skuId": 0,
"total": "string",
"inventory": true,
"taxable": true,
"generalLedgerAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"costOfSaleAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"assetAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"membershipTypeId": 0,
"itemGroup": {
"rootId": 0,
"name": "string"
},
"displayName": "string",
"soldHours": 0,
"modifiedOn": "string",
"serviceDate": "string",
"order": 0,
"businessUnit": {
"id": 0,
"name": "string"
}
}
],
"customFields": [
{
"name": "string",
"value": "string"
}
]
}
]
}
}

List Job Cancel Reasons

Retrieve a list of job cancel reasons | key: listJobCancelReasons

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"name": "string",
"active": true,
"createdOn": "string",
"modifiedOn": "string"
}
]
}
}

List Jobs

Retrieve a list of jobs | key: listJobs

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"jobNumber": "string",
"projectId": 0,
"customerId": 0,
"locationId": 0,
"jobStatus": "string",
"completedOn": "string",
"businessUnitId": 0,
"jobTypeId": 0,
"priority": "string",
"campaignId": 0,
"summary": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"appointmentCount": 0,
"firstAppointmentId": 0,
"lastAppointmentId": 0,
"recallForId": 0,
"warrantyId": 0,
"jobGeneratedLeadSource": {
"jobId": 0,
"employeeId": 0
},
"noCharge": true,
"notificationsEnabled": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"tagTypeIds": [
0
],
"leadCallId": 0,
"bookingId": 0,
"soldById": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"customerPo": "string"
},
{
"id": 0,
"jobNumber": "string",
"projectId": 0,
"customerId": 0,
"locationId": 0,
"jobStatus": "string",
"completedOn": "string",
"businessUnitId": 0,
"jobTypeId": 0,
"priority": "string",
"campaignId": 0,
"summary": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"appointmentCount": 0,
"firstAppointmentId": 0,
"lastAppointmentId": 0,
"recallForId": 0,
"warrantyId": 0,
"jobGeneratedLeadSource": {
"jobId": 0,
"employeeId": 0
},
"noCharge": true,
"notificationsEnabled": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"tagTypeIds": [
0
],
"leadCallId": 0,
"bookingId": 0,
"soldById": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"customerPo": "string"
}
]
}
}

List Locations

Retrieve a list of Locations | key: listLocations

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"taxZoneId": 0
},
{
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"taxZoneId": 0
}
]
}
}

List Payments

Retrieve a list of payments | key: listPayments

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"syncStatus": "string",
"referenceNumber": "string",
"date": "string",
"type": "string",
"typeId": "string",
"total": "string",
"unappliedAmount": "string",
"memo": "string",
"customer": {
"id": 0,
"name": "string"
},
"businessUnit": {
"id": 0,
"name": "string"
},
"batch": {
"id": 0,
"number": "string",
"name": "string"
},
"createdBy": "string",
"generalLedgerAccount": {
"id": 0,
"name": "string",
"number": "string",
"type": "string",
"detailType": "string"
},
"appliedTo": [
{
"appliedId": 0,
"appliedTo": 0,
"appliedAmount": "string",
"appliedOn": "string",
"appliedBy": "string",
"appliedToReferenceNumber": "string"
}
],
"customFields": [
{
"name": "string",
"value": "string"
}
],
"authCode": "string",
"checkNumber": "string",
"modifiedOn": "string",
"createdOn": "string"
}
]
}
}

List Projects

Retrieve a list of Projects | key: listProjects

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"number": "string",
"name": "string",
"summary": "string",
"status": "string",
"statusId": 0,
"subStatus": "string",
"subStatusId": 0,
"customerId": 0,
"locationId": 0,
"projectManagerIds": [
0
],
"businessUnitIds": [
0
],
"startDate": "string",
"targetCompletionDate": "string",
"actualCompletionDate": "string",
"modifiedOn": "string",
"createdOn": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"jobIds": [
0
]
},
{
"id": 0,
"number": "string",
"name": "string",
"summary": "string",
"status": "string",
"statusId": 0,
"subStatus": "string",
"subStatusId": 0,
"customerId": 0,
"locationId": 0,
"projectManagerIds": [
0
],
"businessUnitIds": [
0
],
"startDate": "string",
"targetCompletionDate": "string",
"actualCompletionDate": "string",
"modifiedOn": "string",
"createdOn": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"jobIds": [
0
]
}
]
}
}

List Technicians

Retrieve a list of technicians | key: listTechnicians

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"userId": 0,
"name": "string",
"roleIds": [
0
],
"businessUnitId": 0,
"mainZoneId": 0,
"zoneIds": [
0
],
"createdOn": "string",
"modifiedOn": "string",
"email": "string",
"phoneNumber": "string",
"loginName": "string",
"home": {
"street": "string",
"unit": "string",
"country": "string",
"city": "string",
"state": "string",
"zip": "string",
"streetAddress": "string",
"latitude": 0,
"longitude": 0
},
"dailyGoal": 0,
"isManagedTech": true,
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"active": true,
"aadUserId": "string",
"burdenRate": 0,
"team": "string",
"jobFilter": {}
},
{
"id": 0,
"userId": 0,
"name": "string",
"roleIds": [
0
],
"businessUnitId": 0,
"mainZoneId": 0,
"zoneIds": [
0
],
"createdOn": "string",
"modifiedOn": "string",
"email": "string",
"phoneNumber": "string",
"loginName": "string",
"home": {
"street": "string",
"unit": "string",
"country": "string",
"city": "string",
"state": "string",
"zip": "string",
"streetAddress": "string",
"latitude": 0,
"longitude": 0
},
"dailyGoal": 0,
"isManagedTech": true,
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"active": true,
"aadUserId": "string",
"burdenRate": 0,
"team": "string",
"jobFilter": {}
}
]
}
}

List User Roles

Gets a list of user roles | key: listUserRoles

Output Example Payload

{
"data": {
"page": 0,
"pageSize": 0,
"hasMore": true,
"totalCount": 0,
"data": [
{
"id": 0,
"active": true,
"name": "string",
"createdOn": "string",
"employeeType": "Employee"
}
]
}
}

Unassign Technician to Appointment

Unassigns the list of technicians from the appointment | key: unassignTechnicians

Output Example Payload

{
"data": {
"id": 0,
"jobId": 0,
"appointmentNumber": "string",
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"status": {},
"specialInstructions": "string",
"createdOn": "string",
"modifiedOn": "string"
}
}

Update Booking

Update a booking | key: updateBooking

Output Example Payload

{
"data": {
"id": 0,
"source": "string",
"createdOn": "string",
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"customerType": {},
"start": "string",
"summary": "string",
"campaignId": 0,
"businessUnitId": 0,
"isFirstTimeClient": true,
"uploadedImages": [
"string"
],
"isSendConfirmationEmail": true,
"status": {},
"dismissingReasonId": 0,
"jobId": 0,
"externalId": "string",
"priority": {},
"jobTypeId": 0,
"bookingProviderId": 0,
"modifiedOn": "string"
}
}

Update Customer

Update a customer | key: updateCustomer

Output Example Payload

{
"data": {
"id": 0,
"active": true,
"name": "string",
"type": {},
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"balance": 0,
"tagTypeIds": [
0
],
"doNotMail": true,
"doNotService": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"locations": [
{
"taxZoneId": 0,
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"contacts": [
{
"id": 0,
"type": {},
"value": "string",
"memo": "string"
}
]
}
],
"contacts": [
{
"id": 0,
"type": {},
"value": "string",
"memo": "string"
}
]
}
}

Update Customer Contact

Updates a contact on the customers | key: updateCustomerContact

Output Example Payload

{
"data": {
"id": 0,
"type": {},
"value": "string",
"memo": "string",
"modifiedOn": "string",
"phoneSettings": {
"phoneNumber": "string",
"doNotText": true
}
}
}

Update Installed Equipment

Update installed equipment by ID | key: updateInstalledEquipment

Output Example Payload

{
"data": {
"id": 0,
"equipmentId": 0,
"locationId": 0,
"customerId": 0,
"invoiceItemId": 0,
"name": "string",
"installedOn": "string",
"createdOn": "string",
"modifiedOn": "string",
"serialNumber": "string",
"memo": "string",
"manufacturer": "string",
"model": "string",
"cost": 0,
"manufacturerWarrantyStart": "string",
"manufacturerWarrantyEnd": "string",
"serviceProviderWarrantyStart": "string",
"serviceProviderWarrantyEnd": "string",
"tags": [
{
"id": 0,
"ownerId": 0,
"typeId": 0,
"typeName": "string",
"memo": "string",
"color": "string",
"textColor": "string",
"code": "string"
}
],
"customFields": [
{
"id": 0,
"typeId": 0,
"name": "string",
"value": "string"
}
],
"attachments": [
{
"alias": "string",
"fileName": "string",
"type": {},
"url": "string"
}
]
}
}

Update Invoice

Update Invoice | key: updateInvoice

Output Example Payload

{
"data": {}
}

Update Invoice Custom Fields

Update custom fields for specified Invoices | key: updateInvoiceCustomFields

Output Example Payload

{
"data": {}
}

Update Invoice Items

Update invoice items | key: updateInvoiceItems

Output Example Payload

{
"data": {}
}

Update Job

Update a job | key: updateJob

Output Example Payload

{
"data": {
"id": 0,
"jobNumber": "string",
"projectId": 0,
"customerId": 0,
"locationId": 0,
"jobStatus": "string",
"completedOn": "string",
"businessUnitId": 0,
"jobTypeId": 0,
"priority": "string",
"campaignId": 0,
"summary": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"appointmentCount": 0,
"firstAppointmentId": 0,
"lastAppointmentId": 0,
"recallForId": 0,
"warrantyId": 0,
"jobGeneratedLeadSource": {
"jobId": 0,
"employeeId": 0
},
"noCharge": true,
"notificationsEnabled": true,
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"tagTypeIds": [
0
],
"leadCallId": 0,
"bookingId": 0,
"soldById": 0,
"externalData": [
{
"key": "string",
"value": "string"
}
],
"customerPo": "string"
}
}

Update Location

Update a location | key: updateLocation

Output Example Payload

{
"data": {
"id": 0,
"customerId": 0,
"active": true,
"name": "string",
"address": {
"street": "string",
"unit": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"latitude": 0,
"longitude": 0
},
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"createdOn": "string",
"createdById": 0,
"modifiedOn": "string",
"mergedToId": 0,
"zoneId": 0,
"tagTypeIds": [
0
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"taxZoneId": 0
}
}

Update Payment

Update a specified payment | key: updatePayment

Output Example Payload

{
"data": {
"id": 0,
"typeId": 0,
"active": true,
"memo": "string",
"paidOn": "string",
"authCode": "string",
"checkNumber": "string",
"exportId": "string",
"transactionStatus": {},
"status": {},
"splits": [
{
"invoiceId": 0,
"amount": 0
}
]
}
}

Update Payment Custom Fields

Update custom fields for specified payments | key: updatePaymentCustomFields

Output Example Payload

{
"data": {}
}

Update Project

Update a project | key: updateProject

Output Example Payload

{
"data": {
"id": 0,
"number": "string",
"name": "string",
"summary": "string",
"status": "string",
"statusId": 0,
"subStatus": "string",
"subStatusId": 0,
"customerId": 0,
"locationId": 0,
"projectManagerIds": [
0
],
"businessUnitIds": [
0
],
"startDate": "string",
"targetCompletionDate": "string",
"actualCompletionDate": "string",
"modifiedOn": "string",
"createdOn": "string",
"customFields": [
{
"typeId": 0,
"name": "string",
"value": "string"
}
],
"externalData": [
{
"key": "string",
"value": "string"
}
],
"jobIds": [
0
]
}
}

Update Technician

Update a technician | key: updateTechnician

Output Example Payload

{
"data": {
"id": 0
}
}