Wallet
Read your prepaid balance, per-minute rate and wallet ledger.
Calls are paid from the workspace’s prepaid wallet. The API can read it; topping it up happens in the console.
Amounts are integers in minor units of currency (paise for INR): 50000 is ₹500.00.
Get the wallet
GET /v1/wallet · scope billing:read
{ "data": { "balanceMinor": 48800, "currency": "INR", "costPerMinuteMinor": 600 } }
costPerMinuteMinor- what one started minute of talk time costs this workspace.
A call is refused with 402 when the balance can’t cover it (calls already in progress are counted). To be told before that happens, subscribe to the wallet.low webhook.
List transactions
GET /v1/wallet/transactions · scope billing:read
Newest first.
| Param | Type | Notes |
|---|---|---|
limit |
int | 1–200, default 50. |
offset |
int | Rows to skip, default 0. |
{
"data": [
{ "id": "wtx_…", "kind": "call_charge", "amountMinor": -900, "balanceAfterMinor": 48800, "reference": "call_…", "createdAt": "2026-09-30T12:02:00Z" }
],
"total": 212
}
amountMinoris signed: positive adds to the wallet (top-ups, credits), negative takes from it (calls, AI chats, numbers).kindis one ofsignup_grant,topup,call_charge,chat_charge(an AI conversation on WhatsApp or web chat),number_purchase,number_renewal,number_refund,adjustment, or a refund kind. Other kinds exist for call transfer, recording and full-transcript entries; treat the list as open and ignore kinds you don’t recognise. Meta’s WhatsApp message fees never appear here - Meta bills them to your WhatsApp Business Account.referenceis the call id for a call charge, the conversation’s interaction id for a chat charge, and the payment id for a top-up.
Next: Webhooks & events →