Changelog
Contract 2026-11-03-review.2
Second review contract. This documentation now describes it.
- Quote
expiry_atneeds an offset. Timestamps without a UTC offset orZare now rejected with422 validation_failed, as for other timestamp inputs. - Quote synchronization status. A quote's operation now states that it reports only the initial synchronization attempt. See Create a quote.
- Permissions. Conditional permissions are now listed for job
items, a quote'slocation_id, and thejobsummary on timesheet entries. The required permissions are unchanged. - Responses. Every create's
201response lists theIdempotency-Keyheader.error.codevalues are listed. Job itemstatusanditem_typelist their known values. job_value. The description now says it includes inactive items kept on the job and that its number of decimal places varies.- Event feed. The error codes it can return are narrowed to those it actually returns, and now include
403 api_access_not_enabled. - MCP tools.
customer,locationand assignee summaries are optional in output schemas, because they depend on the connection's permissions. Tool descriptions were reworded.
Contract 2026-11-03-review.1
First documented contract, under review. Covers:
- REST reads and creates for jobs, job items, customers, customer locations, products, quotes (drafts), invoices (drafts) and member invitations; reads for members and timesheets.
- Operation recovery for creates.
- The change feed and webhooks for customers, customer locations, jobs and members.
- MCP tools matching the REST capabilities.