# ServiceTitan API Documentation

This is the complete API documentation for connecting to the ServiceTitan API using MindCloud's Universal API.

MindCloud offers one normalized API to access 3,400+ apps from a single place. It centralizes authentication and normalizes app APIs so they are easier and more consistent to use.

## Quickstart

1. A **MindCloud account** — sign in or create an account at [MindCloud](https://app.mindcloud.co).
2. A **MindCloud API Key** — create one in [API Keys](https://app.mindcloud.co/user/api-keys). Keep it on your server.
3. At least one **ServiceTitan connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

```text
POST https://connect.mindcloud.co/v2/universal/apps/servicetitan/actions/{actionSlug}/run
```

## ServiceTitan actions

- POST `add-customer-tag` Add Customer Tag
- POST `post-vendor` Add Vendor
- PUT `assign-technician-skills` Assign Technician Skills
- POST `create-adjustment-invoice` Create Adjustment Invoice
- POST `create-booking` Create Booking
- POST `create-customer` Create Customer
- POST `create-customer-contact` Create Customer Contact
- POST `create-customer-membership` Create Customer Membership
- POST `create-gl-account` Create GL Account
- POST `create-job` Create Job
- POST `create-job-note` Create Job Note
- POST `create-location` Create Location
- POST `create-payment` Create Payment
- POST `create-payroll-adjustment` Create Payroll Adjustment
- POST `create-project` Create Project
- POST `create-project-note` Create Project Note
- POST `create-task` Create Task
- POST `create-technician` Create Technician
- POST `create-technician-skill` Create Technician Skill
- DELETE `delete-technician-skill` Delete Technician Skill
- GET `export-adjustments` Export Adjustments
- GET `export-job-notes` Export Job Notes
- GET `export-project-notes` Export Project Notes
- GET `export-purchase-orders` Export Purchase Orders
- GET `export-returns` Export Returns
- GET `export-transfers` Export Transfers
- GET `get-access-token` Get Access Token
- GET `get-ap-credits` Get AP Credits
- GET `get-appointment-assignments` Get Appointment Assignments
- GET `get-appointment-by-id` Get Appointment by Id
- GET `get-appointments` Get Appointments
- GET `get-booking-providers` Get Booking Providers
- GET `get-bookings` Get Bookings
- GET `get-business-units` Get Business Units
- GET `job-booking-get-call-reasons` Get Call Reasons
- GET `get-campaigns` Get Campaigns
- GET `get-credit-memo` Get Credit Memo
- GET `get-customer-by-id` Get Customer By Id
- GET `get-customers` Get Customers
- GET `get-discount-and-fees` Get Discount and Fees
- GET `get-employees` Get Employees
- GET `get-equipment-by-id` Get Equipment by Id
- GET `get-equipments` Get Equipments
- GET `get-forms` Get Forms
- GET `get-forms-submissions` Get Forms Submissions
- GET `get-gl-account-types` Get GL Account Types
- GET `get-gl-accounts` Get GL Accounts
- GET `get-invoices` Get Invoices
- GET `get-invoices-by-job-id` Get Invoices By Job Id
- GET `get-item-receipts` Get Item Receipts
- GET `job-planning-get-job` Get Job
- GET `get-job-notes` Get Job Notes
- GET `get-job-types` Get Job Types
- GET `job-planning-get-jobs` Get Jobs
- GET `get-journal-entries` Get Journal Entries
- GET `get-journal-entries-details` Get Journal Entries Details
- GET `get-journal-entries-summary` Get Journal Entries Summary
- GET `get-lead-notes` Get Lead Notes
- GET `get-location-by-id` Get Location By Id
- GET `get-locations` Get Locations
- GET `get-material-by-id` Get Material by Id
- GET `get-materials` Get Materials
- GET `get-payment-terms` Get Payment Terms
- GET `get-payment-types` Get Payment Types
- GET `get-payments` Get Payments
- GET `get-payroll-adjustment-by-id` Get Payroll Adjustment By Id
- GET `get-payroll-adjustments` Get Payroll Adjustments
- GET `get-project` Get Project
- GET `get-project-notes` Get Project Notes
- GET `get-project-statuses` Get Project Statuses
- GET `get-project-sub-statuses` Get Project Sub Statuses
- GET `get-project-types` Get Project Types
- GET `get-projects` Get Projects
- GET `get-purchase-orders` Get Purchase Orders
- GET `get-report` Get Report
- POST `get-report-category-reports` Get Report Category Reports
- GET `get-report-data` Get Report Data
- GET `get-returns` Get Returns
- GET `get-services` Get Services
- GET `get-service-by-id` Get Services by Id
- GET `create-task-management-data` Get Task Management Data
- GET `get-tasks` Get Tasks
- GET `get-tax-zones` Get Tax Zones
- GET `get-technician-payroll-settings` Get Technician Payroll Settings
- GET `get-technician-skill` Get Technician Skill
- GET `get-technicians` Get Technicians
- GET `get-vendor-ap-credits` Get Vendor AP Credits
- GET `get-vendor-bills` Get Vendor Bills
- GET `list-activities` List Activities
- GET `list-activity-categories` List Activity Categories
- GET `list-activity-codes` List Activity Codes
- GET `list-activity-types` List Activity Types
- GET `list-ap-bills` List AP Bills
- GET `list-customer-contact` List Customer Contact
- GET `list-customers-contacts` List Customers Contacts
- GET `list-customers-with-external-data` List Customers With External Data
- GET `list-dynamic-set-values` List Dynamic Set Values
- GET `list-gross-pay-items` List Gross Pay Items
- GET `list-inventory-adjustments` List Inventory Adjustments
- GET `list-memberships` List Memberships
- GET `list-non-job-payroll-timesheets` List Non-Job Payroll Timesheets
- GET `list-payroll` List Payroll
- GET `list-payroll-by-employee-id` List Payroll by Employee ID
- GET `list-payroll-by-technician-id` List Payroll by Technician ID
- GET `list-payroll-timesheets` List Payroll Timesheets
- GET `list-purchase-order-types` List Purchase Order Types
- GET `list-report-categories` List Report Categories
- GET `list-reports` List Reports
- GET `list-technician-skills` List Technician Skills
- GET `list-timesheet-codes` List Timesheet Codes
- GET `get-vendors` List Vendors
- PUT `mark-ap-bills-as-exported` Mark AP Bills as Exported
- PUT `mark-ap-credits-as-exported` Mark AP Credits as Exported
- PUT `mark-invoice-as-exported` Mark Invoice as Exported
- PUT `update-ap-bill-custom-fields` Update AP Bill Custom Fields
- PUT `update-costumer` Update Costumer
- PUT `update-customer` Update Customer
- PUT `update-customer-membership` Update Customer Membership
- PUT `update-employee` Update Employee
- PUT `update-employee-payroll-settings` Update Employee Payroll Settings
- PUT `update-gl-account` Update GL Account
- PUT `update-invoice` Update Invoice
- PUT `update-invoice-items` Update Invoice Items
- PUT `update-job` Update Job
- PUT `update-journal-entry-sync-status` Update Journal Entry Sync Status
- PUT `update-location-tags` Update Location Tags
- PUT `update-payment` Update Payment
- PUT `new-action2` Update Payment Custom Fields
- PUT `update-payment-status` Update Payment Status
- PUT `update-purchase-order` Update Purchase Order
- PUT `update-technician` Update Technician
- PUT `update-technician-payroll-settings` Update Technician Payroll Settings
- PUT `update-vendor` Update Vendor
- POST `upload-job-attachment` Upload Job Attachment
