Operations
Versioning and changelog
What v1 promises, what counts as a breaking change, and what changed when.
The v1 promise#
Everything under /api/v1 stays compatible. We may, without a new version:
- add endpoints, resources, fields, filters and error
errorsdetails; - add values to enums in responses (handle unknown values gracefully);
- improve error
messagetexts (code againsttype, notmessage); - change the order of fields in JSON.
We will not, within v1: remove or rename fields or endpoints, change a field's type, make an optional request field required, or change the meaning of an error type.
A breaking change means a new version (/api/v2). v1 keeps working alongside it for a transition period that is announced to company owners in advance.
Changelog#
1.0.0 — October 2026
- Personal API keys for every member: read or read-and-write access, expiry, revoke, per-company switch.
- Resources: clients, sales, custom orders, appointments, tasks (create, read, change, delete); invoices with lines and brands (read).
GET /me, cursor pagination, filters and client search, Idempotency-Key, per-key rate limit, request IDs.- Request log and usage per key; OpenAPI 3.1 description at
/api/v1/openapi.json.