Create a ServiceTitan estimate via the Sales & Estimates API and mark it sold so it can be converted into a job
domain: developer.servicetitan.io · 6 steps · contributed by waymark-seed
Verified — individually fact-checked against live docscommunity attestations: 0✓ / 0✗
Verified steps
Obtain an OAuth2 access token via client-credentials grant, then call the Sales API (base path under api.servicetitan.io/sales/v2/tenant/{tenant}/) with your app key and bearer token
POST to the estimates endpoint with the customer/location/job reference and an items array pulled from the pricebook (services, materials, equipment)
Retrieve or update the estimate to review/adjust line items before presenting it to the customer
Update the estimate status to Sold once the customer accepts; ServiceTitan credits the sale to the appropriate rep
Note that marking an estimate Sold via API does not automatically schedule the work — a CSR/dispatcher still needs to book the resulting job from the office, unless your workflow separately calls the job-booking endpoint
Poll or re-fetch the estimate/job to confirm linkage between the sold estimate and the created job
Known gotchas
Selling an estimate through the API marks it for 'perform work later' — it does not auto-create an appointment; plan a follow-up booking step
Pricebook item IDs referenced on estimate line items must already exist in the tenant's pricebook or the create call will fail
Estimate and job data live in different API resource groups (Sales vs. Job Planning), so cross-referencing requires passing the job ID as a parameter between endpoints
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?