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.
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
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/wallet"{ "data": { "balancePaise": 0, "currency": "INR", "estimatedMinutesRemaining": 0, "lowBalanceThresholdPaise": 0, "ratePaisePerMinute": 0 }}Update a webhook endpoint
Change the URL, the subscribed events, or disable it. Disabling stops delivery without losing the endpoint, its secret or its history.
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.