POST /v2/calls returns 402 and no call
is placed.
For rates and how minutes are counted, see Billing & tiers.
Get balance
- cURL
- Python
- Node.js
200 OK
List transactions
- cURL
- Python
- Node.js
200 OK
Reconcile against
call_id: every billable call produces exactly one debit row.
Top up
There is no self-serve top-up yet — it is on the roadmap. Until then your Mirai contact credits the workspace; the credit appears as acredit row within minutes and takes effect
immediately. Your live balance is always GET /v2/wallet, and on the
Developers page of the console.
402 insufficient balance
Before dialling, we check the wallet can cover at least one minute at the
call’s tier. If it cannot:
402 Payment Required
- The gate runs pre-dial. No phone rings, nothing is charged, no call object is created.
- Retry after topping up, with the same
Idempotency-Key— the failed request did not consume it. - Calls already in flight are not killed. A call that started with credit runs to its natural end, then debits. A wallet can therefore end a busy minute slightly lower than the pre-dial check implied.
- Python
- Node.js