ServiceTitan API Documentation
This is the complete API documentation for connecting to the ServiceTitan API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet ServiceTitan: connect business data and workflows through MindCloud's Universal API. Keep reading to get started.
Quickstart
Before you run your first ServiceTitan request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one ServiceTitan connection — create or choose one in Connections. Note its
connectionId.
Every ServiceTitan action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/servicetitan/latest/actions/{actionSlug}You need a MindCloud API Key and a ServiceTitan connection. Then call an action such as Export Adjustments:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/servicetitan/latest/actions/export-adjustments" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected ServiceTitan account that should run the action. MindCloud stores and refreshes the ServiceTitan credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
ServiceTitan actions
All 92 published actions for this ServiceTitan version. Each page documents the endpoint, arguments, and response controls.
- POSTAdd Vendor
- POSTCreate Booking
- POSTCreate Customer
- POSTCreate Customer Contact
- POSTCreate Customer Membership
- POSTCreate GL Account
- POSTCreate Job
- POSTCreate Job Note
- POSTCreate Location
- POSTCreate Payment
- POSTCreate Project
- POSTCreate Project Note
- POSTCreate Task
- GETExport Adjustments
- GETExport Job Notes
- GETExport Project Notes
- GETExport Purchase Orders
- GETExport Returns
- GETExport Transfers
- GETGet Access Token
- GETGet Appointment Assignments
- GETGet Appointment by Id
- GETGet Appointments
- GETGet Booking Providers
- GETGet Bookings
- GETGet Business Units
- GETGet Call Reasons
- GETGet Campaigns
- GETGet Customer By Id
- GETGet Customers
- GETGet Discount and Fees
- GETGet Employees
- GETGet Equipment by Id
- GETGet Equipments
- GETGet Forms
- GETGet Forms Submissions
- GETGet GL Account Types
- GETGet GL Accounts
- GETGet Invoices
- GETGet Invoices By Job Id
- GETGet Item Receipts
- GETGet Job
- GETGet Job Notes
- GETGet Job Types
- GETGet Jobs
- GETGet Lead Notes
- GETGet Location By Id
- GETGet Locations
- GETGet Material by Id
- GETGet Materials
- GETGet Payment Types
- GETGet Payments
- GETGet Project
- GETGet Project Notes
- GETGet Project Statuses
- GETGet Project Sub Statuses
- GETGet Project Types
- GETGet Projects
- GETGet Purchase Orders
- GETGet Report
- GETGet Report Data
- GETGet Returns
- GETGet Services
- GETGet Services by Id
- GETGet Task Management Data
- GETGet Tasks
- GETGet Technicians
- GETList Activities
- GETList Activity Categories
- GETList Activity Codes
- GETList Activity Types
- GETList Customer Contact
- GETList Customers Contacts
- GETList Dynamic Set Values
- GETList Inventory Adjustments
- GETList Memberships
- GETList Non-Job Payroll Timesheets
- GETList Payroll
- GETList Payroll by Employee ID
- GETList Payroll by Technician ID
- GETList Payroll Timesheets
- GETList Purchase Order Types
- GETList Report Categories
- GETList Reports
- GETList Timesheet Codes
- GETList Vendors
- PUTUpdate Costumer
- PUTUpdate Customer Membership
- PUTUpdate GL Account
- PUTUpdate Payment
- PUTUpdate Payment Status
- PUTUpdate Vendor
Related apps
More Support apps on the Universal API, behind the same REST shape. Or browse all apps.