TryVox

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 channels

Each 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}/cancel

Status 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}/resume

Valid while the current period hasn't ended yet.

Lifecycle states

StatusCounts toward limit?Meaning
pending_paymentNoPrepaid purchase awaiting Razorpay confirm.
activeYesLive subscription, renewing monthly.
cancel_at_period_endYesCancellation scheduled; channels live until current_period_end.
past_dueNoRenewal debit failed. Capacity reverts to base immediately.
compedYesGranted by support — no charge, no expiry.
cancelledNoTerminal 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.

On this page