Changelog
Notable changes to the Chargetree APIs and to this documentation.
Breaking changes are announced here before they take effect. Additive changes — a new optional field, a new endpoint, a new event — can land at any time, so build handlers that tolerate fields they do not recognise.
September 2026
This documentation site. The API reference moved to docs.chargetree.co, generated from OpenAPI
descriptions that are checked against the application code on every build. Several long-standing
inaccuracies were corrected in the process:
- Request quotas. The previous reference listed hourly quotas of 5,000 reads and 1,000 writes. No such quota has ever been enforced. The real limits are 120 reads and 30 writes per minute, and those are the only limits applied.
- Idempotency scope.
Idempotency-Keyis honoured onPOST /invoicesandPOST /contactsonly. It is silently ignored onPOST /invoices/{id}/cancel, which the previous reference implied was covered. - Idempotency retention. Keys are retained for at least 24 hours rather than exactly 24 hours.
- Stalled requests. A reservation that has been in flight for more than 60 seconds is released, which was not previously documented anywhere.
- Webhook retries. The waits between attempts are 5m, 30m, 2h and 12h. The previous reference listed a 1-minute first wait that does not occur.
- Webhook signatures. Now states plainly that there is no timestamp header and no replay window, so
deduplicating on
event_idis mandatory rather than advisable. - Error codes.
ACCOUNT_DISABLED,PARTNER_DISABLEDandCONFLICTare now documented. They were always returnable. - Escalation priority.
lowis a valid value alongsidehighandmedium. - Payment method.
payments[].methodis an open set, not the closed list previously published. - Partner list responses.
emailis alwaysnullwhen listing accounts.
The Partner API is documented for the first time. All six endpoints, the ct_partner_ key space, the
external_id retry behaviour and the one-time secrets now have a reference and a guide.
Earlier changes
Partner account fields. owner_email was renamed to email, and the deprecated industry field was
removed from account creation and from account responses.
Partner addresses were split into structured fields — address_line1, address_city,
address_state, address_postal_code, address_country — replacing a single free-text address.
Draft invoices. Invoices support an is_draft flag on creation and update, with strict ISO date
validation on invoice_date and due_date.