10 September 2026
Appointments can be invoiced for billable items
POST /api/v1/appointments takes billableItemIds, the items the appointment is invoiced for, as
returned by GET /api/v1/billable-items. Order matters: the first identifier becomes the
appointment's service. Send none and the appointment is not invoiced.
Appointments: the invoiced billable items can be replaced
PATCH /api/v1/appointments/{id} takes billableItemIds as the full set the appointment is invoiced
for, replacing whatever is there. Omit it to leave the invoice untouched, or send an empty array to
clear the billable items, which leaves the invoice with a zero total rather than deleting it.
Anything else on the invoice, such as a session-pack session or a card surcharge, stays as it is.