Wallet transactions, newest first
The ledger behind the balance, and the source of truth for it: every top-up, call, number purchase, monthly rental and compliance verdict. Append-only — a correction is a new compensating row, never an edit.
Requires the read scope. A key with less gets 403 insufficient_scope.
Authorization: Bearer tone_live_… or tone_test_…. The prefix IS the environment: a test key reaches only the sandbox, and no request field bridges the two.
In: header
Query Parameters
How many results to return. 1-100, defaulting to 25.
1 <= value <= 10025Opaque page cursor from the previous response.
^\d+$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/wallet/transactions"{ "data": [ { "amountPaise": 0, "balanceAfterPaise": 0, "createdAt": "2026-08-25T09:14:22Z", "description": "Call to +919876543210 (45s)", "entryType": "topup", "id": "1043827" } ]}Prepaid balance and estimated talk time remaining
Everything is prepaid and in paise. The estimate divides the balance by your per-minute rate, so it is a guide, not a quota. Subscribe to wallet.balance.low rather than polling this.
Spend by category over the selected period
Calls, numbers and adjustments, each as a single figure. A purchase and its reversal fall in the same bucket, so the numbers show what something actually cost rather than a gross figure beside a credit that cancels it.