Skip to content
VoxaDocs
Navigation
Open console →

Calls

Limits and billing

Your workspace can run a fixed number of calls at once and pays for them from a prepaid balance, and this page explains both: concurrency, the queue, credits and how each one affects your calls.

Concurrency

The concurrency limit is how many calls your workspace may have live at the same time. A call is live while it is ringing or in-progress, and phone and browser calls both count.

When the limit is reachedWhat happens
Outbound callIt waits in the queue and is dialled when a call ends.
Inbound callIt is rejected (the caller hears the line drop).
Browser callIt is refused with all N call slots are busy: try again when a call ends.

Your limit comes from your plan, unless the Voxa team has set a different limit for your workspace. The plans Voxa starts with:

PlanConcurrent callsPrice per minuteAgentsMembers
Starter (default)5₹4.00105
Growth20₹3.505020
Scale50₹3.00no limitno limit

The Voxa team can change plans and prices; GET /api/v1/billing/plan returns yours.

Check your limit

curl https://voxa.abhinavyadav.in/api/v1/workspace/limits -H "X-API-Key: $VOXA_API_KEY"
{"concurrency_limit": 5, "active_calls": 2, "queued_calls": 14, "pending_request": null}
FieldMeaning
concurrency_limitCalls you may have live at once.
active_callsCalls ringing or in-progress now.
queued_callsOutbound calls waiting in the queue.
pending_requestYour open request for a higher limit, or null.

Ask for a higher limit

In the console, open Limits and ask for a new limit with a reason. The Voxa team reviews it. You need the owner or admin role; API keys can’t send this request. You can ask for up to 100 concurrent calls, and have one request open at a time.

The queue

  • Every outbound call is queued first, oldest first per workspace. See The queue.
  • There is no limit on how many calls you can queue.
  • A call waits while all slots are busy, while the agent’s calling hours are closed, or while the workspace is not active.
  • A call still queued after 24 hours is canceled with expired in queue.
  • Queued calls are not charged. Cancel one with POST /api/v1/calls/{id}/hangup.

Credits

Voxa is prepaid. Your balance is in paise (100 paise = ₹1). New workspaces get welcome credits (₹500 by default).

How a call is charged

Calls are billed per second of duration_seconds, at your price per minute, rounded up to the next paisa:

cost_paise = ceil(duration_seconds × price_per_minute_paise / 60)

A 14.2-second call at ₹4.00 per minute costs ceil(14.2 × 400 / 60) = 95 paise. The charge is taken when the call ends and saved on the call as cost_paise.

  • Charged: outbound, inbound and browser calls that connected, for the time the agent was live.
  • Not charged: time in the queue, ringing, and calls that never connected (no-answer, busy, canceled, or failed before connecting).

What happens when credits run low

MomentBalance at or below ₹0
Placing an outbound call402 out of credits: add credits in Billing
A queued call reaches the frontIt fails with out of credits.
Inbound callRejected.
Browser callRefused.

During a call, Voxa caps its length at what your balance can pay for when it starts. If that is shorter than max_duration_seconds, the call ends when the money runs out, with hangup_reason: "credits ran out".

Each call’s cap is worked out from the balance when it starts. Several calls running at once can together take the balance below zero; new calls are then refused until you top up.

Check your balance

API keys can read the balance and the ledger:

curl https://voxa.abhinavyadav.in/api/v1/billing -H "X-API-Key: $VOXA_API_KEY"
{"credits_paise": 48210, "price_per_minute_paise": 400, "minutes_left": 120.5, "low_balance": false, "plan_name": "Starter"}

low_balance is true when fewer than 10 minutes are left at your price.

curl "https://voxa.abhinavyadav.in/api/v1/billing/ledger?limit=20" -H "X-API-Key: $VOXA_API_KEY"
{
  "items": [
    {"id": "9c2e...", "at": "2026-10-01T14:44:16.300000+05:30", "kind": "call", "amount_paise": -95, "balance_after_paise": 48210, "note": "Appointment reminder · 14 s", "call_id": "00b1d622a8f04f4f8f3a3c2d9e5b7a11", "payment_id": "", "by_name": "phone"}
  ],
  "total": 212
}

Ledger kind is grant (welcome credits and other free credits), topup (a payment), call (a call’s charge, with its call_id) or adjustment (a change by the Voxa team).

Top up

Top-ups are made in the console under Billing, by the workspace owner. Choose a credit pack (larger packs include bonus credits) or a custom amount. Each payment has a GST invoice, listed by GET /api/v1/billing/invoices and downloadable as a PDF from GET /api/v1/billing/invoices/{id}/pdf.

Other limits

LimitDefault
API requests per key120 per minute. See Rate limits.
Agents per workspaceFrom your plan.
Agent versions kept10 per agent.
Webhook endpoints20 per workspace.
Call lengthmax_duration_seconds, 30 to 3600 seconds per agent.
Esc