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:
- Login to the Developer Portal
- Select My Apps at the top of the page
- Select + New App
- Fill all the required fields and scopes
- Under Client Credentials Management”, select I, the app developer, will configure the credentials on behalf of each tenant
- Click Create App
For Existing apps:
- Login to the Developer Portal
- Select My Apps at the top of the page
- Click Edit on your application
- Under Client Credentials Management”, select I, the app developer, will configure the credentials on behalf of each tenant
- 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:
- Login to the Developer Portal
- Select My Apps at the top of the page
- Click View Connections for your app
- Click Generate under Client Secret to create a new Client Secret
- Reference the tenant’s Client ID on this page as well
Input | Notes | Example |
---|---|---|
Application Key string / Required applicationKey | The ID of the payment. | ak1.4adsy4lzgsd0b3cqh48zl5z3d7 |
Authorize URL string Hidden Field authorizeUrl | The OAuth 2.0 Authorization URL for the API | |
Client ID string / Required clientId | Client Identifier of your app for the API | |
Client Secret password / Required clientSecret | Client Secret of your app for the API | |
Environment string / Required environment | The environment to connect to | |
Scopes string Hidden Field scopes | Space separated OAuth 2.0 permission scopes for the API | |
Tenant string / Required tenant | The client tenant. | 10978752986 |
Token URL string / Required tokenUrl | The OAuth 2.0 Token URL for the API |
Data Sources
Select Appointment
Select an Appointment from a dropdown menu (up to 10,000 Appointments) | key: selectAppointment | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Appointment
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Booking
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Customer
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Installed Equipment
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Invoice
{
"result": [
{
"key": "1",
"label": "#1234"
}
]
}
Select Job
Select a job from a dropdown menu (up to 10,000 jobs) | key: selectJob | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Job
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Location
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Project
{
"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
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Technician
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Job Appointment ID string / Required jobAppointmentId | ID of the job appointment | 1234567890 | |
Technician IDs string / Required Value List technicianIds | Assign these technicians to the appointment. | 1088 |
Example Payload for Assign Technician to Appointment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Job ID string / Required jobId | The job ID. | 10978752986 | |
Job Memo text / Required memo | Memo of job cancel reason | string | |
Reason ID string / Required reasonId | ID of job cancel reason | 1088 |
Example Payload for Cancel Job
{
"data": {}
}
Create Appointment
Adds a new appointment to an existing job | key: createAppointment
Input | Default | Notes | Example |
---|---|---|---|
Arrival Window End string arrivalWindowEnd | Arrival window end date/time (in UTC) | 2021-01-01T00:00:00Z | |
Arrival Window Start string arrivalWindowStart | Arrival window start date/time (in UTC) | 2021-01-01T00:00:00Z | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
End string / Required end | End date/time (in UTC) | 2021-01-01T00:00:00Z | |
Job ID string / Required jobId | The job ID. | 10978752986 | |
Special Instructions text specialInstructions | Special instructions associated to the appointment | Any special instructions | |
Start string / Required start | Start date/time (in UTC) | 2021-01-01T00:00:00Z | |
Technician ID string technicianId | The ID of the technician. | 10978752986 |
Example Payload for Create Appointment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Address code address | Address of the booking | ||
Booking Provider string / Required bookingProvider | The ID of the booking provider. | 10978752986 | |
Business Unit ID string businessUnitId | ID of the booking's business unit | 10978752986 | |
Campaign ID string campaignId | ID of the booking's campaign | 10978752986 | |
Connection connection / Required connection | |||
Contacts code contacts | Contacts for the booking | ||
Customer Type string customerType | Type of the customer | ||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
External ID string / Required externalId | External ID of booking | 10978752986 | |
Is First Time Client string / Required isFirstTimeClient | True if first time client | ||
Send Confirmation Email string isSendConfirmationEmail | True if first time client | ||
Job Type ID string jobTypeId | ID of the booking's job type | 10978752986 | |
Name string / Required name | Booking name | Test Source | |
Priority string priority | Booking priority | ||
Source string / Required source | The source of the booking provider | Test Source | |
Start string start | Start date/time (in UTC) | 2021-01-01T00:00:00Z | |
Summary string / Required summary | Summary of the booking | A summary related to the invoice. | |
Uploaded Images string Value List uploadedImages | Uploaded images |
Example Payload for Create Booking by Provider
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Address code / Required address | Bill-To address of the customer record | ||
Connection connection / Required connection | |||
Contacts code contacts | Contacts for the booking | ||
Custom Fields code customFields | Custom fields for the request | ||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Do Not Mail string doNotMail | Customer has been flagged as “do not mail” | ||
Do Not Service string doNotService | Customer has been flagged as “do not service” | ||
External Data code externalData | External data to attach to the request. | ||
Location code / Required locations | Locations for the customer | ||
Name string / Required name | Name of the customer | Test Source | |
Tag Type IDs string Value List tagTypeIds | A list of tags ID's | 123 | |
Customer Type string type | Type of the customer |
Example Payload for Create Customer
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Customer ID string / Required customerId | The customer ID. | 10978752986 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Memo string memo | Short description about this contact, for example, “work #” or “Owner’s daughter - Kelly” | Payment for services rendered. | |
Customer Contact Type string / Required type | Type of the customer contact | ||
Customer Contact Type Value string / Required value | The email, phone number, or fax number for the contact | 1234567890 |
Example Payload for Create Customer Contact
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Attachments code attachments | List of attachments | ||
Connection connection / Required connection | |||
Cost string cost | Cost of the installed equipment | 100.00 | |
Custom Fields code customFields | The custom fields of the installed equipment | ||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Installed On string installedOn | The date the equipment was installed | 2021-01-01T00:00:00Z | |
Location ID string / Required locationId | The location id of the installed equipment | 10978752986 | |
Manufacturer string manufacturer | Manufacturer of the installed equipment | Test Manufacturer | |
Manufacturer Warranty End string manufacturerWarrantyEnd | Manufacturer warranty end date | 2021-01-01T00:00:00Z | |
Manufacturer Warranty Start string manufacturerWarrantyStart | Manufacturer warranty start date | 2021-01-01T00:00:00Z | |
Memo string memo | The memo of the installed equipment | Payment for services rendered. | |
Model string model | Model of the installed equipment | Test Model | |
Name string name | The name of the installed equipment | Test Source | |
Serial Number string serialNumber | Serial number of the installed equipment | 1234567890 | |
Service Provider Warranty End string serviceProviderWarrantyEnd | Service Provider Warranty End date | 2021-01-01T00:00:00Z | |
Service Provider Warranty Start string serviceProviderWarrantyStart | Service Provider Warranty Start date | 2021-01-01T00:00:00Z | |
Tag Type IDs string Value List tagTypeIds | A list of tags ID's | 123 |
Example Payload for Create Installed Equipment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Attachment File data / Required file | Reference a file from another action. Must be a file type. | ||
File Name string / Required fileName | Name of the file | Test File |
Example Payload for Create Installed Equipment Attachment
{
"data": {
"path": "InstalledEquipment/Documents/e2374d0c-16b8-4bb7-b3b5-1bd0ac1df1f4.csv"
}
}
Create Invoices
Create adjustment invoice | key: createInvoices
Input | Default | Notes | Example |
---|---|---|---|
Adjustment To ID string / Required adjustmentToId | The ID of the invoice the adjustment is for. | 10978752986 | |
Assigned To ID string assignedToId | The ID of the user the invoice is assigned to. | 10978752986 | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Export ID string exportId | Gets or sets the identifier when exported. | 6B29FC40-CA47-1067-B31D-00DD010662DA21323 | |
Invoiced On string invoicedOn | The date the invoice was invoiced on. | 2021-01-01T00:00:00Z | |
Items code items | The items of the invoice. | ||
Number string number | The invoice number. | 10978752986 | |
Review Status string reviewStatus | The review status of the invoice. | ||
Royalty Date string royaltyDate | The royalty date of the invoice. | 2021-01-01T00:00:00Z | |
Royalty Memo string royaltyMemo | The royalty sent date of the invoice. | Payment for services rendered. | |
Royalty Sent On string royaltySentOn | The royalty sent date of the invoice. | 2021-01-01T00:00:00Z | |
Royalty Status string royaltyStatus | The royalty status of the invoice. | ||
Subtotal string subtotal | The subtotal of the invoice. | 100.00 | |
Summary string summary | The summary of the invoice. | A summary related to the invoice. | |
Tax string tax | The tax of the invoice. | 100.00 | |
Type ID string typeId | The ID of the type of the payment. | 0 |
Example Payload for Create Invoices
{
"data": {}
}
Create Job
Create a job | key: createJob
Input | Default | Notes | Example |
---|---|---|---|
Appointments code / Required appointments | List of appointment information | ||
Business Unit ID string / Required businessUnitId | ID of the job's business unit | 10978752986 | |
Campaign ID string / Required campaignId | ID of the job's campaign | 10978752986 | |
Connection connection / Required connection | |||
Customer ID string / Required customerId | The customer ID. | 10978752986 | |
Customer PO string customerPo | Customer PO | ||
Custom Fields code customFields | Custom fields for the job | ||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
External Data code externalData | External data to attach to the request. | ||
Invoice Signature Is Required string invoiceSignatureIsRequired | Optional model that informs if invoice should requires a signature or not if not informed will follow the rules for location and job type | ||
Job Generated Lead Source code jobGeneratedLeadSource | Object that contains: JobId: ID of the job from which this job was generated EmployeeId: ID of the office user or technician | ||
Job Type ID string / Required jobTypeId | ID of the job's type | 10978752986 | |
Location ID string / Required locationId | The ID of the location. | 10978752986 | |
Priority string / Required priority | Priority of the job | ||
Project ID string projectId | ID of the job's project | 10978752986 | |
Summary string summary | Job summary | A summary related to the invoice. | |
Tag Type IDs string Value List tagTypeIds | Tag type IDs for the job | 123 |
Example Payload for Create Job
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Address code / Required address | The address of the location | ||
Connection connection / Required connection | |||
Contacts code contacts | The contacts associated with the location | ||
Customer ID string / Required customerId | The customer ID. | 10978752986 | |
Custom Fields code customFields | Custom fields for the request | ||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
External Data code externalData | External data to attach to the request. | ||
Name string / Required name | The name of the location | Test Source | |
Tag Type IDs string Value List tagTypeIds | A list of tags ID's | 123 |
Example Payload for Create Location
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Auth Code string authCode | The authorization code for the payment. | 6B29FC40-CA47-1067-B31D-00DD010662DA21323 | |
Check Number string checkNumber | The check number for the payment. | 6B29FC40-CA47-1067-B31D-00DD010662DA21323 | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Export ID string exportId | Gets or sets the identifier when exported. | 6B29FC40-CA47-1067-B31D-00DD010662DA21323 | |
Memo string memo | The memo of the payment. | Payment for services rendered. | |
Paid On string paidOn | The date the payment was paid on. | 2021-01-01T00:00:00Z | |
Splits code / Required splits | The splits of the payment. | ||
Status string status | The status of the payment. | ||
Type ID string / Required typeId | The ID of the type of the payment. | 0 |
Example Payload for Create Payment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Actual Completion Date string actualCompletionDate | Actual completion date of the project | 2021-01-01T00:00:00Z | |
Connection connection / Required connection | |||
Customer ID string customerId | ID of the project's customer | 10978752986 | |
Custom Fields code customFields | Custom fields for the project | ||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
External Data code externalData | Optional model that contains a list of external data items that should be attached to this project. | ||
Location ID string / Required locationId | The ID of the location. | 10978752986 | |
Name string name | Name of the project | Test Source | |
Project Manager IDs string Value List projectManagerIds | IDs of the project's managers | 1088 | |
Start string startDate | Start date of the project | 2021-01-01T00:00:00Z | |
Status ID string statusId | Project status id | 1088 | |
Sub Status ID string subStatusId | Project sub status id | 1088 | |
Summary string summary | Summary of the project | A summary related to the invoice. | |
Target Completion Date string targetCompletionDate | Target completion date of the project | 2021-01-01T00:00:00Z |
Example Payload for Create Project
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Azure Active Directory User Id string aadUserId | Azure Active Directory User Id | 6B29FC40-CA47-1067-B31D-00DD010662DA | |
Account Creation Method string / Required accountCreationMethod | Account creation method | ||
Biography string bio | Biography of the technician | Biography | |
Burden Rate string burdenRate | Burden rate (hourly) | 5.6 | |
Business Unit ID string businessUnitId | The ID of the business unit to which the technician will be assigned | 10978752986 | |
Connection connection / Required connection | |||
Custom Fields code customFields | Custom fields for the technician | ||
Daily Goal string dailyGoal | Daily revenue goal | 5.6 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Email string email | Technician's email address | test@technician.us | |
Address code home | The home address of the technician | ||
Job Filter string jobFilter | Upcoming appointment visibility | ||
Job History Date Filter string jobHistoryDateFilter | Appointment history visibility | ||
License Type string / Required licenseType | License type | ||
Login Username string login | Technician's username | technician_us | |
Memo string memo | Memo for the technician | Payment for services rendered. | |
Name string / Required name | The name of the technician | Test Source | |
Password string password | Technician's password | @an1pwd123 | |
Phone Number string phoneNumber | Technician's phone number | 1234567890 | |
Positions string / Required Value List positions | List of company positions | ||
Role ID string / Required roleId | User role Id | 7 | |
Team string team | Team name | Test Team |
Example Payload for Create Technician
{
"data": {
"id": 0
}
}
Delete Appointment
Delete appointment by ID | key: deleteAppointment
Input | Default | Notes | Example |
---|---|---|---|
Appointment ID string / Required appointmentId | The ID of the appointment. | 10978752986 | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. |
Example Payload for Delete Appointment
{
"data": {}
}
Delete Customer Contact
Removes a contact from a customer | key: deletCustomersContact
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Customer Contact ID string / Required customerContactId | The customer contact ID. | 10978752986 | |
Customer ID string / Required customerId | The customer ID. | 10978752986 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. |
Example Payload for Delete Customer Contact
{
"data": {}
}
Delete Invoice Item
Delete an invoice item | key: deleteInvoiceItem
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Invoice ID string / Required invoiceId | The ID of the invoice. | 10978752986 | |
Item ID string / Required itemId | The ID of the item. | 10978752986 |
Example Payload for Delete Invoice Item
{
"data": {}
}
Get Appointment
Retrieve an appointment by ID | key: getAppointment
Input | Default | Notes | Example |
---|---|---|---|
Appointment ID string / Required appointmentId | The ID of the appointment. | 10978752986 | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. |
Example Payload for Get Appointment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Booking ID string / Required bookingId | The ID of the booking. | 10978752986 | |
Booking Provider string / Required bookingProvider | The ID of the booking provider. | 10978752986 | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. |
Example Payload for Get Booking by Provider
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Booking ID string / Required bookingId | The ID of the booking. | 10978752986 | |
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. |
Example Payload for Get Booking by Tenant
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Customer ID string / Required customerId | The customer ID. | 10978752986 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. |
Example Payload for Get Customer
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Installed Equipment ID string / Required installedEquipmentId | ID of the installed equipment | 1234567890 |
Example Payload for Get Installed Equipment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
External Data Application Guid string externalDataApplicationGuid | Format - guid. If this guid is provided, external data corresponding to this application guid will be returned. | 6B29FC40-CA47-1067-B31D-00DD010662DA | |
Job ID string / Required jobId | The job ID. | 10978752986 |
Example Payload for Get Job
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Location ID string / Required locationId | The ID of the location to retrieve | 10978752986 |
Example Payload for Get Location
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Project ID string / Required projectId | The ID of the project to retrieve | 10978752986 |
Example Payload for Get Project
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Technician ID string / Required technicianId | The ID of the Technician to retrieve | 10978752986 |
Example Payload for Get Technician
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Custom Query Params string Key Value List customQueryParams | Custom fields filter | key1=value1 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Fetch All boolean fetchAll | false | If true, fetch all records, if false, will use the pageSize and page parameters | |
Include Total boolean includeTotal | false | Include total count of records. If fetchAll is true, this will be ignored. | |
Page string page | The page number to filter by | 1 | |
Page Size string pageSize | How many records to return (50 by default) | 50 | |
Sort string sort | Applies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order. | +FieldName |
Example Payload for List Appointment Assignment
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Custom Query Params string Key Value List customQueryParams | Custom fields filter | key1=value1 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Fetch All boolean fetchAll | false | If true, fetch all records, if false, will use the pageSize and page parameters | |
Include Total boolean includeTotal | false | Include total count of records. If fetchAll is true, this will be ignored. | |
Page string page | The page number to filter by | 1 | |
Page Size string pageSize | How many records to return (50 by default) | 50 | |
Sort string sort | Applies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order. | +FieldName |
Example Payload for List Appointments
{
"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
Input | Default | Notes | Example |
---|---|---|---|
Booking Provider string / Required bookingProvider | The ID of the booking provider. | 10978752986 | |
Connection connection / Required connection | |||
Custom Query Params string Key Value List customQueryParams | Custom fields filter | key1=value1 | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Fetch All boolean fetchAll | false | If true, fetch all records, if false, will use the pageSize and page parameters | |
Include Total boolean includeTotal | false | Include total count of records. If fetchAll is true, this will be ignored. | |
Page string page | The page number to filter by | 1 | |
Page Size string pageSize | How many records to return (50 by default) | 50 | |
Sort string sort | Applies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order. | +FieldName |
Example Payload for List Bookings by Provider
{
"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"
],
"isSendConfi