Response envelope
Canonical collection endpoints return a standard envelope:organizationId— the organization bound to your API key. You cannot supply or override it.filters— the filter values the server applied, including nulls for filters you did not pass.data— the page of results.pagination— paging state for the next request.
Cursor pagination
limit defaults to 100 and is capped at 500 (the links collection is capped at 100). Invalid limit values fall back to 100.
When pagination.hasMore is true, pass pagination.nextCursor back as the cursor query parameter to fetch the next page:
400.
Data conventions
- Timestamps are UTC ISO 8601 values. Timestamp filters such as
createdAfterrequire an explicit offset, for example2026-07-01T00:00:00Z. - Money fields ending in
Centsare integer cents. - Codes — voucher and purchase fulfillment codes are excluded by default because they grant value. Pass
includeCodes=trueto include them. - Purchase IDs are stable encrypted public identifiers. They never contain the underlying payment-processor identifier.
Errors
Errors use a stable JSON body:
Detail endpoints return
404 for both missing and cross-tenant IDs, so resource existence is never disclosed across organizations.
