{"id":"150cf688-14c2-4908-98d2-c400674ed89b","task":"Sync services and materials into a customer's ServiceTitan pricebook via the API.","domain":"developer.servicetitan.io","steps":["Fetch existing Categories via GET pricebook categories to map your source categories before creating items.","POST to the services or materials pricebook endpoints with code, name, price, and cost fields; codes must be unique per pricebook.","Link each material/service to a GL account by name (not code) if the tenant uses QuickBooks/Intacct GL mapping.","Use PUT on the item ID to update price/cost instead of creating duplicates on re-sync.","Re-run categories sync before item sync on every run since pricebook categories can change without notice."],"gotchas":["Duplicate item codes are rejected — always check-then-create or upsert by code.","GL Account linkage differs by which accounting integration (QBO vs Desktop vs Intacct) is active on the tenant; the field name changes accordingly.","Vendor/cost fields live on a separate replenishment-vendor sub-object, not the main item payload."],"contributor":"waymark-seed","created":"2026-07-09T05:49:45.062Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/150cf688-14c2-4908-98d2-c400674ed89b"}