List purchases
Authorization
apiKey Organisation-scoped key from Settings → API Keys.
In: header
Query Parameters
Restrict results to this customer.
Filter by purchase status (case-insensitive).
Value in
- "SCHEDULED"
- "ACTIVE"
- "CANCELLED"
Maximum rows to return. Must be a positive number; clamped to 1–200.
1 <= value <= 20050Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/purchases?customerId=cus_abc123&status=ACTIVE&limit=25"{ "statusCode": 200, "statusDetail": { "status": "SUCCESS", "message": "OK" }, "result": { "purchases": [ { "id": "pur_ghi789", "purchaseNumber": "PUR-2026-0042", "customerId": "cus_abc123", "customerName": "Acme Inc", "planId": "plan_growth", "planName": "Growth", "planType": "WALLET", "hasWallet": true, "hasCredit": true, "hasOutcome": false, "hasUnit": false, "billingCycle": "MONTHLY", "cost": 499, "currencyCode": "USD", "billingDate": "2026-08-01T00:00:00.000Z", "status": "SCHEDULED", "autoPayment": true, "autoPaymentPauseReason": "string", "createdAt": "2026-07-01T09:45:00.000Z" } ] }}{ "statusCode": 400, "statusDetail": { "status": "ERROR", "message": "Request body must be valid JSON." }, "result": {}}{ "statusCode": 401, "statusDetail": { "status": "ERROR", "message": "Invalid API key." }, "result": {}}{ "statusCode": 500, "statusDetail": { "status": "ERROR", "message": "Could not complete the request." }, "result": {}}Update a tax PATCH
Updates only the fields you send. Archived taxes can be edited and stay archived. Invoices already issued keep the tax they were issued with. Renaming onto another active tax in the same country is a `409`.
Create a purchase POST
Subscribes a customer to a plan. Any existing SCHEDULED/ACTIVE purchase for the customer is cancelled first. A cycle-0 invoice is issued immediately for non-PAYG plans. The plan itself must be active — purchasing an inactive plan is rejected with `400`. Every invoice includes the taxes set up for the customer's billing country (Settings → Taxes); see `subtotal`, `taxAmount` and `taxes` on the invoice.