Skip to main content

ServiceTitan Connector

ServiceTitan 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​

This component was built using the ServiceTitan API Reference currently utilizing the V2 API.

Connections​

OAuth 2.0 Client Credentials​

Authenticate using OAuth 2.0 client credentials.

Authenticating with ServiceTitan using OAuth 2.0 Client Credentials requires a developer account and an application configured in the ServiceTitan Developer Portal.

Prerequisites​

Setup Steps​

Creating a new app:

  1. Log in to the Developer Portal
  2. Select My Apps at the top of the page
  3. Select + New App
  4. Fill in all 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. Log in to the Developer Portal
  2. Select My Apps at the top of the page
  3. Click Edit on the application
  4. Under Client Credentials Management, select I, the app developer, will configure the credentials on behalf of each tenant
  5. Click Save

Obtaining a Client Secret and Client ID:

Add the client’s Tenant ID to the application. Once the Tenant Admin has allowed access and connected to the application through their API Application Access settings, obtain the tenant’s Client ID and Client Secret from the developer portal:

  1. Log in to the Developer Portal
  2. Select My Apps at the top of the page
  3. Click View Connections for the 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

Configure the Connection​

Create a connection of type OAuth 2.0 Client Credentials and configure the following fields:

  • Token URL: Select the appropriate environment token URL (Production or Integration)
  • Client ID: Enter the Client ID obtained from the developer portal
  • Client Secret: Enter the Client Secret generated in the developer portal
  • Tenant: Enter the Tenant ID used to scope API requests to a specific account
  • Application Key: Enter the application key found in the developer portal
  • Environment: Select Production for live data or Integration for testing

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Token URLThe OAuth 2.0 token URL for the API. Select the appropriate environment.
Client IDThe client identifier for the application, found in the ServiceTitan developer portal.
Client SecretThe client secret for the application, found in the ServiceTitan developer portal.
TenantThe numeric tenant ID for the ServiceTitan account, found in the ServiceTitan developer portal alongside the application's details.
Application KeyThe application key for the integration, found in the ServiceTitan developer portal under the application's details. Sent with every request as the ST-App-Key header.
EnvironmentThe ServiceTitan environment to connect to. Production uses api.servicetitan.io; Integration uses the api-integration host for sandbox testing.

Triggers​

New and Updated Records​

Retrieves existing and ongoing records for a selected ServiceTitan resource type. Load history once, check for changes on a schedule, or both.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Resource TypeThe type of resource to poll for new and updated records.
Show New RecordsWhen true, includes newly created records in the trigger results.true
Show Updated RecordsWhen true, includes updated records in the trigger results.true
Look-back DateThe date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record created or modified on or after this date once, ignoring the visibility toggles.

Actions​

Assign Technicians to Appointment​

Assigns the list of technicians to the appointment.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Job Appointment IDID of the job appointment
Technician IDsAssign these technicians to the appointment.

Cancel Job​

Cancels a job.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Job IDThe job ID.
Reason IDID of job cancel reason
Job MemoMemo of job cancel reason

Create Appointment​

Adds a new appointment to an existing job.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Job IDThe job ID.
StartStart date/time (in UTC)
EndEnd date/time (in UTC)
Arrival Window StartArrival window start date/time (in UTC)
Arrival Window EndArrival window end date/time (in UTC)
Technician IDThe ID of the technician.
Special InstructionsSpecial instructions associated to the appointment

Create Booking by Provider​

Create a booking for a booking provider.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Booking Provider IDThe ID of the booking provider that submitted the booking.
SummaryA short summary describing the booking.
Is First Time ClientWhen true, marks the booking's customer as a first-time client.
External IDThe booking's identifier in the originating external system.
SourceThe lead source that generated this booking.
NameBooking name
AddressThe street address, including unit, city, state, ZIP code, and country.
ContactsThe contact methods to attach, each with a type such as Phone or Email, a value, and an optional memo.
Customer TypeWhether the customer is Residential or Commercial.
StartStart date/time (in UTC)
Campaign IDThe ID of the marketing campaign that generated the record.
Business Unit IDThe ID of the business unit.
Job Type IDThe ID of the job type to assign.
PriorityBooking priority
Uploaded ImagesThe images to attach to the booking, one entry per image.
Send Confirmation EmailWhen true, sends a booking confirmation email to the customer.

Create Customer​

Create a new customer.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
NameThe full name of the customer or business.
LocationLocations for the customer
AddressBill-To address of the customer record
Customer TypeWhether the customer is Residential or Commercial.
Do Not MailCustomer has been flagged as “do not mail”
Do Not ServiceCustomer has been flagged as “do not service”
ContactsThe contact methods to attach, each with a type such as Phone or Email, a value, and an optional memo.
Custom FieldsCustom field values to set, as an array of type ID and value pairs.
Tag Type IDsThe IDs of the tag types to apply.
External DataExternal data to attach to the request.

Create Customer Contact​

Create a contact for a customer.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.
Customer Contact TypeType of the customer contact
Customer Contact Type ValueThe email, phone number, or fax number for the contact
MemoShort description about this contact, for example, “work #” or “Owner’s daughter - Kelly”

Create Installed Equipment​

Create a new installed equipment record.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Location IDThe ID of the location of the installed equipment
NameThe name of the installed equipment
Installed OnThe date the equipment was installed
Serial NumberSerial number of the installed equipment
MemoThe memo of the installed equipment
ManufacturerManufacturer of the installed equipment
ModelModel of the installed equipment
CostCost of the installed equipment
Warranty DatesManufacturer and service provider warranty start and end dates.
Manufacturer Warranty StartManufacturer warranty start date
Manufacturer Warranty EndManufacturer warranty end date
Service Provider Warranty StartService Provider Warranty Start date
Service Provider Warranty EndService Provider Warranty End date
Custom FieldsThe custom fields of the installed equipment
AttachmentsList of attachments
Tag Type IDsThe IDs of the tag types to apply.

Create Installed Equipment Attachment​

Create a new installed equipment attachment.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Attachment FileReference a file from another action. Must be a file type.
File NameName of the file

Create Invoices​

Create an adjustment invoice.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Adjustment To IDThe ID of the invoice the adjustment is for.
NumberThe invoice number.
Type IDThe ID of the invoice or payment type to assign, as configured in the ServiceTitan tenant.
Invoiced OnThe date the invoice was invoiced on.
SubtotalThe subtotal of the invoice.
TaxThe tax of the invoice.
SummaryThe summary of the invoice.
Royalty DetailsRoyalty status, date, sent on, and memo.
StatusThe royalty status of the invoice.
DateThe royalty date of the invoice.
Sent OnThe royalty sent date of the invoice.
MemoA free-form note stored with the invoice's royalty record.
Export IDThe identifier assigned to the record when it is exported to an external system.
Review StatusThe review status of the invoice.
Assigned To IDThe ID of the user the invoice is assigned to.
ItemsThe items of the invoice.

Create Job​

Create a job.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.
Location IDThe ID of the location.
Business Unit IDID of the job's business unit
Job Type IDID of the job's type
PriorityPriority of the job
Campaign IDID of the job's campaign
AppointmentsList of appointment information
[
{
"start": "string",
"end": "string",
"arrivalWindowStart": "string",
"arrivalWindowEnd": "string",
"technicianIds": [
0
]
}
]
Job Generated Lead SourceThe lead source that generated this job. Provide jobId (the job this one was generated from) and employeeId (the office user or technician credited).
Project IDID of the job's project
SummaryJob summary
Custom FieldsCustom fields for the job
Tag Type IDsTag type IDs for the job
External DataExternal data to attach to the request.
Invoice Signature Is RequiredWhen true, the invoice for this job requires a signature. When left empty, the location and job type rules apply.
Customer POThe customer's purchase order number to record on the job.

Create Location​

Creates a new location.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
NameThe name of the location
AddressThe address of the location
Customer IDThe customer ID.
ContactsThe contacts associated with the location
Custom FieldsCustom field values to set, as an array of type ID and value pairs.
Tag Type IDsThe IDs of the tag types to apply.
External DataExternal data to attach to the request.

Create Payment (Deprecated)​

Deprecated: ServiceTitan removed the POST /payments endpoint from the V2 API. Payment creation is no longer supported via the API.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Type IDThe ID of the invoice or payment type to assign, as configured in the ServiceTitan tenant.
SplitsThe splits of the payment.
[
{
"invoiceId": 0,
"amount": 0
}
]
MemoA free-text note recorded against the payment.
Paid OnThe date the payment was paid on.
Auth CodeThe authorization code for the payment.
Check NumberThe check number for the payment.
Export IDThe identifier assigned to the record when it is exported to an external system.
StatusThe status of the payment.

Create Project​

Create a new project.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Location IDThe ID of the location.
Customer IDID of the project's customer
Project Manager IDsIDs of the project's managers
NameName of the project
SummarySummary of the project
Status IDThe ID of the project status to set.
Sub Status IDThe ID of the project sub-status to set.
StartStart date of the project
Target Completion DateTarget completion date of the project
Actual Completion DateActual completion date of the project
Custom FieldsCustom fields for the project
External DataExternal data items to attach to the project, grouped under an application GUID.

Create Technician​

Create a new technician.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
NameThe name of the technician
Account Creation MethodDetermines how the technician's login is created: defer it, send an invite, or assign a username and password now.
Role IDThe ID of the user role to assign to the technician.
PositionsList of company positions
License TypeThe type of ServiceTitan license to assign to the technician.
Phone NumberTechnician's phone number
EmailTechnician's email address
Login UsernameTechnician's username
PasswordThe password to assign when the technician's login is created now rather than deferred or invited.
Business Unit IDThe ID of the business unit to which the technician will be assigned
Azure Active Directory User IDThe GUID of the technician's user account in Azure Active Directory.
MemoMemo for the technician
Additional FieldsAdditional optional fields: includes Team, Daily Goal, Burden Rate, Biography, Job Filter, and Job History Date Filter.
TeamTeam name
Daily GoalDaily revenue goal
Burden RateBurden rate (hourly)
BiographyBiography of the technician
Job FilterUpcoming appointment visibility
Job History Date FilterAppointment history visibility
AddressThe home address of the technician
Custom FieldsCustom fields for the technician

Delete Appointment​

Delete an appointment by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Appointment IDThe ID of the appointment.

Delete Customer Contact​

Removes a contact from a customer.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.
Customer Contact IDThe customer contact ID.

Delete Invoice Item​

Delete an invoice item.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Invoice IDThe ID of the invoice.
Item IDThe ID of the item.

Get Appointment​

Retrieve an appointment by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Appointment IDThe ID of the appointment.

Get Booking by Provider​

Retrieve a booking by ID for a booking provider.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Booking Provider IDThe ID of the booking provider that submitted the booking.
Booking IDThe ID of the booking to act on.

Get Booking by Tenant​

Retrieve a booking by ID for the tenant.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Booking IDThe ID of the booking to act on.

Get Customer​

Retrieve a customer by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.

Get Installed Equipment​

Retrieve an installed equipment record by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Installed Equipment IDID of the installed equipment

Get Job​

Retrieve a job by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Job IDThe job ID.
External Data Application GUIDFormat - guid. If this guid is provided, external data corresponding to this application guid will be returned.

Get Location​

Retrieve a location by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Location IDThe ID of the location to retrieve

Get Project​

Retrieve a project by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Project IDThe ID of the project to retrieve

Get Technician​

Retrieve a technician by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Technician IDThe ID of the Technician to retrieve

List Appointment Assignments​

Retrieve a list of appointment assignments.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Appointments​

Retrieve a list of appointments.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Bookings by Provider​

Retrieves a list of bookings for a booking provider.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Booking Provider IDThe ID of the booking provider that submitted the booking.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Bookings by Tenant​

Retrieves a list of bookings for the tenant.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Business Units​

Gets a list of business units.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Customer Contacts​

Gets a list of contacts for the specified customer.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
Modified BeforeReturn items modified before certain date/time (in UTC)
Modified On Or AfterReturn items modified on or after certain date/time (in UTC)

List Customers​

Retrieve a list of customers.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Installed Equipment​

Retrieve a list of installed equipment.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Installed Equipment Attachments​

Retrieve installed equipment attachments.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
PathInstalled equipment attachment path

List Invoices​

Retrieves a list of invoices.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Job Cancel Reasons​

Retrieve a list of job cancel reasons.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Jobs​

Retrieve a list of jobs.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Locations​

Retrieve a list of locations.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Payments​

Retrieve a list of payments.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Projects​

Retrieve a list of projects.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List Technicians​

Retrieve a list of technicians.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

List User Roles​

Gets a list of user roles.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Fetch AllWhen true, automatically fetches all pages of results and ignores the page and page size values.false
PaginationPage number and page size.
PageThe page of results to return. Paging is 1-based, so the first page is 1.
Page SizeThe maximum number of records to return per page. A page never contains more than this many records. Defaults to 50 when omitted.
Include TotalWhen true, includes the total count of matching records in the response. Ignored when Fetch All is true.false
SortApplies sorting by the specified field:'?sort=+FieldName' for ascending order,'?sort=-FieldName' for descending order.
Custom Query ParamsAdditional query-string parameters to append to the request, supplied as name and value pairs.

Raw Request​

Send raw HTTP request to ServiceTitan.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
URL TypeThe URL type to connect to. For example, jpm, crm, accounting, etc.
URLInput the path only. The base URL is built from the connection environment and the URL Type above, in the form https://api.servicetitan.io/{URL Type}/v2/tenant/{tenant}. For example, with a URL Type of jpm, entering /jobs reaches https://api.servicetitan.io/jpm/v2/tenant/{tenant}/jobs.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Unassign Technicians from Appointment​

Un-assigns the list of technicians from the appointment.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Job Appointment IDID of the job appointment
Technician IDsUnassign these technicians from the appointment.

Update Booking​

Update a booking.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Booking Provider IDThe ID of the booking provider that submitted the booking.
Booking IDThe ID of the booking to act on.
SummarySummary of the booking
Is First Time ClientWhen true, marks the booking's customer as a first-time client.
External IDThe booking's identifier in the originating external system.
SourceThe lead source that generated this booking.
NameThe full name of the customer or business.
AddressThe street address, including unit, city, state, ZIP code, and country.
Customer TypeWhether the customer is Residential or Commercial.
StartStart date/time (in UTC)
Campaign IDThe ID of the marketing campaign that generated the record.
Business Unit IDThe ID of the business unit.
Job Type IDThe ID of the job type to assign.
PriorityBooking priority
Uploaded ImagesThe images to attach to the booking, one entry per image.

Update Customer​

Update a customer.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.
NameThe full name of the customer or business.
Customer TypeWhether the customer is Residential or Commercial.
AddressThe street address, including unit, city, state, ZIP code, and country.
Custom FieldsCustom field values to set, as an array of type ID and value pairs.
External DataExternal data to attach to the request.
Do Not MailCustomer has been flagged as “do not mail”
Do Not ServiceCustomer has been flagged as “do not service”
ActiveWhether the customer is active
Tag Type IDsThe IDs of the tag types to apply.

Update Customer Contact​

Updates a contact on a customer.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Customer IDThe customer ID.
Customer Contact IDThe customer contact ID.
Customer Contact TypeType of the customer contact
Customer Contact Type ValueThe email, phone number, or fax number for the contact
MemoShort description about this contact, for example, “work #” or “Owner’s daughter - Kelly”

Update Installed Equipment​

Update installed equipment by ID.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Installed Equipment IDID of the installed equipment
NameThe name of the installed equipment
Installed OnThe date the equipment was installed
Serial NumberSerial number of the installed equipment
MemoThe memo of the installed equipment
ManufacturerManufacturer of the installed equipment
ModelModel of the installed equipment
CostCost of the installed equipment
Warranty DatesManufacturer and service provider warranty start and end dates.
Manufacturer Warranty StartManufacturer warranty start date
Manufacturer Warranty EndManufacturer warranty end date
Service Provider Warranty StartService Provider Warranty Start date
Service Provider Warranty EndService Provider Warranty End date
Custom FieldsThe custom fields of the installed equipment
AttachmentsList of attachments
Tag Type IDsThe IDs of the tag types to apply.

Update Invoice​

Update an invoice.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Invoice IDThe ID of the invoice.
NumberThe invoice number.
Type IDThe ID of the invoice or payment type to assign, as configured in the ServiceTitan tenant.
Invoiced OnThe date the invoice was invoiced on.
SubtotalThe subtotal of the invoice.
TaxThe tax of the invoice.
SummaryThe summary of the invoice.
Royalty DetailsRoyalty status, date, sent on, and memo.
StatusThe royalty status of the invoice.
DateThe royalty date of the invoice.
Sent OnThe royalty sent date of the invoice.
MemoA free-form note stored with the invoice's royalty record.
Export IDThe identifier assigned to the record when it is exported to an external system.
Review StatusThe review status of the invoice.
Assigned To IDThe ID of the user the invoice is assigned to.
ItemsThe items of the invoice.
PaymentsThe payments of the invoice.

Update Invoice Custom Fields​

Update custom fields for specified invoices.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
OperationsThe operations to perform on the invoice.
[
{
"objectId": 0,
"customFields": [
{
"name": "string",
"value": "string"
}
]
}
]

Update Invoice Items​

Update invoice items.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Invoice IDThe ID of the invoice.
DescriptionThe description of the SKU.
QuantityThe quantity of the SKU.
SKU IDThe ID of the SKU.
SKU NameThe name of the SKU.
Technician IDThe ID of the technician.
Additional FieldsAdditional optional fields: includes Unit Price, Cost, Is Add On, Signature, Technician Acknowledgement Signature, Installed On, Inventory Warehouse Name, Skip Updating Membership Prices, and Item Group Name.
Unit PriceThe unit price of the SKU.
CostThe cost of the SKU.
Is Add OnIs the SKU an add on.
SignatureThe signature of the SKU.
Technician Acknowledgement SignatureThe technician acknowledgement signature of the SKU.
Installed OnThe date the SKU was installed on.
Inventory Warehouse NameThe inventory warehouse name of the SKU.
Skip Updating Membership PricesSkip updating membership prices.
Item Group NameThe item group name of the SKU.
Item Group Root IDThe item group root ID of the SKU.
Inventory Location IDThe inventory location ID of the SKU.
Duration Billing IDThe duration billing ID of the SKU.
Invoice Item IDThe unique identifier of the invoice item.

Update Job​

Update a job.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Job IDThe job ID.
Customer IDThe customer ID.
Location IDThe ID of the location.
Business Unit IDID of the job's business unit
Job Generated Lead SourceThe lead source that generated this job. Provide jobId (the job this one was generated from) and employeeId (the office user or technician credited).
Job Type IDID of the job's type
PriorityPriority of the job
Campaign IDID of the job's campaign
SummaryJob summary
Should Update Invoice ItemsIf set to true, update the business unit of invoice items on job's invoice
Custom FieldsCustom fields for the job
Tag Type IDsTag type IDs for the job
External DataExternal data to attach to the request.
Customer POThe customer's purchase order number to record on the job.

Update Location​

Update a location.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Location IDThe ID of the location.
Customer IDThe customer ID associated with the location
NameThe name of the location
AddressThe address of the location
ActiveIf false, the location will be marked as inactive
Tax Zone IDID of the location tax zone
Custom FieldsCustom field values to set, as an array of type ID and value pairs.
Tag Type IDsThe IDs of the tag types to apply.
External DataExternal data to attach to the request.

Update Payment​

Update a specified payment.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Payment IDThe ID of the payment.
Type IDThe ID of the invoice or payment type to assign, as configured in the ServiceTitan tenant.
SplitsThe splits of the payment.
[
{
"invoiceId": 0,
"amount": 0
}
]
MemoA free-text note recorded against the payment.
Paid OnThe date the payment was paid on.
Auth CodeThe authorization code for the payment.
Check NumberThe check number for the payment.
Export IDThe identifier assigned to the record when it is exported to an external system.
StatusThe status of the payment.

Update Payment Custom Fields​

Update custom fields for specified payments.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
OperationsThe operations to perform on the payment.
[
{
"objectId": 0,
"customFields": [
{
"name": "string",
"value": "string"
}
]
}
]

Update Project​

Update a project.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Project IDID of the project to update
Project Manager IDsIDs of the project's managers
Job IDsIDs of the project's jobs
NameName of the project
SummarySummary of the project
Status IDThe ID of the project status to set.
Sub Status IDThe ID of the project sub-status to set.
StartStart date of the project
Target Completion DateTarget completion date of the project
Actual Completion DateActual completion date of the project
Custom FieldsCustom fields for the project
External DataExternal data items to attach to the project, grouped under an application GUID.

Update Technician​

Update a technician.

InputCommentsDefault
ConnectionThe ServiceTitan connection to use.
Technician IDThe ID of the technician to update
NameThe name of the technician
Phone NumberTechnician's phone number
EmailTechnician's email address
Login UsernameTechnician's username
Business Unit IDThe ID of the business unit to which the technician will be assigned
Role IDThe ID of the user role to assign to the technician.
PositionsList of company positions
Azure Active Directory User IDThe GUID of the technician's user account in Azure Active Directory.
License TypeThe type of ServiceTitan license to assign to the technician.
MemoMemo for the technician
Additional FieldsAdditional optional fields: includes Team, Daily Goal, Burden Rate, Biography, Job Filter, and Job History Date Filter.
TeamTeam name
Daily GoalDaily revenue goal
Burden RateBurden rate (hourly)
BiographyBiography of the technician
Job FilterUpcoming appointment visibility
Job History Date FilterAppointment history visibility
AddressThe home address of the technician
Custom FieldsCustom fields for the technician