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
}
  • amountMinor is signed: positive adds to the wallet (top-ups, credits), negative takes from it (calls, AI chats, numbers).
  • kind is one of signup_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.
  • reference is 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 →