API reference
A REST API to create and read your clients and invoices programmatically — for imports, integrations, and your own tooling. Predictable resource URLs, JSON request and response bodies, and standard HTTP status codes.
Base URL#
All requests go to your Collect domain under the versioned API prefix:
Every endpoint is authenticated with an API key and scoped to the workspace that key belongs to — there is no workspace id in the URL.
403 forbidden, ask an owner to turn it on, then create a key under Settings → API keys.Quickstart#
Create a key in Settings → API keys, then create your first client:
A successful create returns the new resource with a generated id:
Conventions#
- Requests and responses are JSON. Send
Content-Type: application/jsonon writes. - Field names are camelCase. Ids are opaque strings — don't parse them.
- Money is always an integer number of cents (e.g.
1250= $12.50). There are no floats. - Timestamps are ISO-8601 UTC strings (e.g.
2026-06-09T17:04:21.000Z). - Unknown request fields are ignored, so adding fields later won't break you. See versioning.
Lists & pagination#
List endpoints are cursor-paginated, newest first. Pass limit (1–100, default 25) and startingAfter (the id of the last item from the previous page) to walk older results. Each response is a list envelope:
When hasMore is true, request the next page with startingAfterset to the last item's id.
Next#
- Authentication — API keys and the bearer header.
- Errors — the error envelope and status codes.
- Clients and Invoices — the resource reference.