September 4th, 2026

Improved

API Changes - 2026-09-03

This is an API-only update that includes breaking changes. Product updates will follow in a separate release.

⚠️ API - GET /v1/tickets/{id} - BillingOverride now returns ServiceLine, BillingRole and WorkType as { Id, Name } objects instead of ContractServiceId, BillingRoleId and WorkTypeId.

⚠️ API - PATCH /v1/tickets/{id} - BillingOverride.ContractServiceId is now ServiceLineId. Requests still sending the old name are rejected with a 400.

⚠️ API - BillableStatus Id 2 is now named No charge (was NotBillable) and Id 3 Non-billable (was NotBillableHidden). Ids are unchanged — match on Id, not Name.

⚠️ API - GET /v1/tickets - ContactId is now null instead of 0 when no primary contact is set.

⚠️ API - PATCH /v1/tickets/{id} - ClosedOn sent without UpdatedOn now sets UpdatedOn to the same value instead of the current time.

⚠️ API - Stricter validation. Inputs that were previously dropped, coerced or half-applied on tickets, comments and alerts now return a 400 with a specific message. Nothing previously storable is now rejected.

⚠️ API - Undocumented internal headers and query parameters are now stripped at the gateway.