Book and manage HVAC service jobs via the ServiceTitan public API
domain: developer.servicetitan.io · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Log into your ServiceTitan account, go to the Developer Portal (developer.servicetitan.io), and use 'Login as Production Environment User' to generate a Client ID, Client Secret, and note your Tenant ID.
Also obtain an App Key — recent portal versions require the App Key alongside OAuth Client ID/Secret for API calls to succeed.
Authenticate using the OAuth 2.0 client-credentials grant (the only grant type currently supported) to obtain an access token; tokens expire in 900 seconds and must be refreshed via the same call.
To book a job, create/find a Customer and Location via CRM-namespace endpoints, then create a Job with at least one Appointment via Dispatch-namespace endpoints — the job then appears on the schedule/dispatch board and technician mobile app.
Use the correct namespace per resource: Jobs/Appointments/Projects live under 'dispatch', Customers/Locations under 'crm', Invoices/Payments under 'accounting'.
Known gotchas
Only the client-credentials OAuth grant is supported — there is no per-end-user authorization-code login flow.
Access tokens expire in just 900 seconds (15 minutes) — build automatic token refresh into any long-running integration.
Booking a job requires touching at least two API namespaces (CRM for customer/location, Dispatch for job/appointment) — mixing these up is a common integration mistake.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?