Concurrent-call channels
Buy and manage extra concurrent-call capacity on top of your plan's base limit.
Concurrent-call channels
Every TryVox account has a base concurrent-call limit — the maximum number of calls you can have in flight at once (inbound + outbound combined). When you need more capacity, you can buy channels as a recurring monthly add-on.
effective limit = base limit + active channelsEach channel raises your concurrent-call ceiling by one. There's no separate channel per direction — inbound and outbound share the pool.
How it works
- Recurring monthly charge. Each channel is billed every 30 days at the per-channel price configured for your account currency.
- Single subscription per account. You have at most one open channel subscription at a time. To change quantity, cancel the existing one and buy a new one.
- End-of-period cancellation. Cancelling keeps your channels active until the current period ends, then drops you back to the base limit.
Pricing
Pricing is set per currency by your TryVox administrator. Fetch the active price for your account:
GET /v1/account/{accountID}/channels/pricing{
"id": "8f...",
"currency": "INR",
"price_per_channel": 500.00,
"min_quantity": 1,
"max_quantity": 100,
"is_active": true
}Returns 404 when channel monetization isn't configured for your currency yet.
Purchase
POST /v1/account/{accountID}/channels/purchase
Content-Type: application/json
{ "quantity": 10, "currency": "INR" }The response shape depends on your billing mode:
Prepaid (Razorpay round-trip)
{
"subscription": {
"id": "5a...",
"quantity": 10,
"status": "pending_payment",
"monthly_amount": 5000.00,
"currency": "INR"
},
"requires_payment": true,
"razorpay_order": {
"order_id": "order_xyz",
"amount": 5000.00,
"currency": "INR",
"key_id": "rzp_live_..."
}
}Open the Razorpay checkout with the returned razorpay_order, then confirm:
POST /v1/account/{accountID}/channels/confirm
Content-Type: application/json
{
"subscription_id": "5a...",
"razorpay_order_id": "order_xyz",
"razorpay_payment_id": "pay_xyz",
"razorpay_signature": "<from-checkout-handler>"
}On success the subscription flips to active, your wallet is credited for the order amount, and the first-month channel charge is debited.
Postpaid (invoice line)
{
"subscription": {
"id": "5a...",
"quantity": 10,
"status": "active",
"monthly_amount": 5000.00
},
"requires_payment": false
}The subscription is live immediately. The first-month charge is debited against your credit limit; subsequent charges appear on the postpaid invoice's channel_charges line.
Manage
Get current state
GET /v1/account/{accountID}/channels{
"subscription": { "id": "5a...", "quantity": 10, "status": "active", "current_period_end": "2026-06-19T..." },
"base_limit": 10,
"extra_channels": 10,
"effective_limit": 20
}Cancel at period end
POST /v1/account/{accountID}/channels/{subscription_id}/cancelStatus flips to cancel_at_period_end. Channels stay active until current_period_end.
Resume (undo a scheduled cancellation)
POST /v1/account/{accountID}/channels/{subscription_id}/resumeValid while the current period hasn't ended yet.
Lifecycle states
| Status | Counts toward limit? | Meaning |
|---|---|---|
pending_payment | No | Prepaid purchase awaiting Razorpay confirm. |
active | Yes | Live subscription, renewing monthly. |
cancel_at_period_end | Yes | Cancellation scheduled; channels live until current_period_end. |
past_due | No | Renewal debit failed. Capacity reverts to base immediately. |
comped | Yes | Granted by support — no charge, no expiry. |
cancelled | No | Terminal state. |
Past-due handling
If a monthly renewal can't be debited (prepaid wallet insufficient, postpaid balance exceeded credit limit), the subscription flips to past_due and your effective limit drops back to base immediately. You'll receive an email asking you to top up.
If the subscription stays past_due for 7 days, it's hard-cancelled and you'll need to purchase again. Top up your wallet within that window to auto-restore on the next renewal tick.
Notifications
You'll receive an email at the account's primary address when:
- A purchase completes
- A cancellation is scheduled
- A subscription is cancelled (end-of-period or past-due aging)
- A renewal fails and the subscription flips to past-due
- A super-admin grants comped channels
- Your account hits the effective concurrent-call limit (debounced — at most one email per 6 hours per account). See Concurrent-limit hit.