Unified credit ledger — operation spend + credit purchases
const url = 'https://example.com/v1/transactions?limit=50&offset=0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/v1/transactions?limit=50&offset=0' \ --header 'Authorization: Bearer <token>'One chronological credit ledger so the balance reconciles from a single
list: operation SPEND (request_logs, negative deltas) UNIONed with credit
PURCHASES (credit_transactions, positive deltas). Owner-scoped exactly
like /v1/usage — B2B by client_id, tenant-billed (consumer/Shopify) by
tenant_id (filtering a consumer by the empty client_id would leak every
consumer’s rows).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Header Parameters
Section titled “Header Parameters ”Responses
Section titled “ Responses ”Successful Response
GET /v1/transactions — the unified, paginated credit ledger.
object
One credit-ledger entry — an operation (spend) or a purchase (grant).
A single signed credits_delta makes the balance reconcile from one list:
negative = credits consumed (net of any refund), positive = credits bought.
object
‘operation’ | ‘subscription’ | ‘pack’.
Operation endpoint (humanized client-side) or the purchase description.
Signed credit change: negative = spend (net of refund), positive = purchase.
Operation status (SUCCESS/REFUNDED/PENDING/FAILED) or ‘PURCHASED’.
Example generated
{ "items": [ { "id": "example", "kind": "example", "label": "example", "credits_delta": 1, "status": "example", "created_at": "example" } ], "total": 1, "limit": 1, "offset": 1}Validation Error
object
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ]}