diff --git a/fern/apis/api/generators.yml b/fern/apis/api/generators.yml index bdd9f4416..6793192ed 100644 --- a/fern/apis/api/generators.yml +++ b/fern/apis/api/generators.yml @@ -11,7 +11,7 @@ groups: python-sdk: generators: - name: fernapi/fern-python-sdk - version: 4.37.1 + version: 4.55.5 api: settings: prefer-undiscriminated-unions-with-literals: true diff --git a/fern/calls/call-concurrency.mdx b/fern/calls/call-concurrency.mdx index 69c4bbb19..97615c674 100644 --- a/fern/calls/call-concurrency.mdx +++ b/fern/calls/call-concurrency.mdx @@ -10,31 +10,91 @@ description: Learn how concurrency slots work, how to stay within the default li Call concurrency represents how many Vapi calls can be active at the same time. Each call occupies one slot, similar to using a finite set of phone lines. **In this guide, you'll learn to:** -- Understand the default concurrency allocation and when it is usually sufficient +- Understand how concurrency is allocated at the account level - Keep outbound and inbound workloads within plan limits -- Increase reserved capacity directly from the Vapi Dashboard +- Scale capacity through Dashboard add-ons, startup programs, or enterprise plans - Inspect concurrency data through API responses and analytics queries +- Apply best practices for high-volume operations -## What is concurrency? +## How concurrency works -Every Vapi account includes **10 concurrent call slots** by default. When all slots are busy, new outbound dials or inbound connections wait until a slot becomes free. +Every Vapi account includes **10 concurrent call slots** by default. When all slots are busy, new outbound dials or inbound connections are blocked until a slot becomes free. - - - Rarely hit concurrency caps unless traffic surges (launches, seasonal spikes). +### Account-level allocation + +Concurrency is an **account-level limit**, not a per-phone-number or per-assistant limit. All calls across your organization draw from the same pool: + + + + Phone calls and SIP connections that reach your assistants. - - More likely to reach limits when running large calling batches. + + Calls your application initiates through the API or campaigns. + + + Browser-based sessions using the Vapi Web SDK. -These limits ensure the underlying compute stays reliable for every customer. Higher concurrency requires reserving additional capacity, which Vapi provides through custom or add-on plans. +A single pool of 10 slots is shared across all three call types. If 6 inbound calls and 3 outbound calls are active, only 1 slot remains for any new call regardless of type. + +### Organization pool sharing + +When multiple organizations share the same billing subscription, they share the same concurrency pool. A call on Organization A counts against the same limit as a call on Organization B. + + +If your inbound and outbound workloads compete for slots, consider separating them into different organizations under the same subscription. This does not increase total capacity, but lets you monitor and manage each workload independently. + + +## Scaling your concurrency + +Vapi offers several paths to increase concurrency beyond the default 10 slots. + +| Tier | Concurrent slots | How to access | +|---|---|---| +| Default | 10 | Included with every account | +| Self-serve add-ons | Up to hundreds | Dashboard billing page, **$10 per line per month** | +| Startup program | 100 | Apply through the Vapi startup program | +| Enterprise | Custom | Contact Vapi sales for dedicated capacity | +| Platform scale | 1,000+ | Available for enterprise customers with reserved infrastructure | + +### Purchase add-on lines + +You can raise your concurrency limit without contacting support: + + + + Go to the [Vapi Dashboard](https://dashboard.vapi.ai/settings/billing) and navigate to **Settings > Billing**. + + + Locate the **Reserved Concurrency (Call Lines)** section on the billing page. + + + Add the number of extra lines you need. Each additional line costs **$10 per month**. + + + Changes apply immediately. New slots are available for your next call. + + + +### Startup program + +The Vapi startup program provides **100 concurrent call lines** to qualifying early-stage companies. Visit the [Vapi startup program](https://vapi.ai/startup) page to check eligibility and apply. + +### Enterprise plans + +Enterprise customers can negotiate custom concurrency allocations that include: +- Dedicated infrastructure for consistent performance at scale +- Concurrency levels above 1,000 simultaneous calls +- Priority support for capacity planning + +Contact [Vapi sales](https://vapi.ai/enterprise) to discuss enterprise concurrency needs. ## Managing concurrency ### Outbound campaigns -Batch long lead lists into smaller chunks (for example, 50–100 numbers) and run those batches sequentially. This keeps your peak concurrent calls near the default limit while still working through large sets quickly. +Batch long lead lists into smaller chunks (for example, 50-100 numbers) and run those batches sequentially. This keeps your peak concurrent calls near the default limit while still working through large sets quickly. ### High-volume operations @@ -47,16 +107,13 @@ If you regularly exceed **50,000 minutes per month**, talk with Vapi about: Use billing reports to pair minute usage with concurrency spikes so you can upgrade before calls are blocked. -## Increase your concurrency limit - -You can raise or reserve more call lines without contacting support: +### Separate inbound and outbound workloads -1. Open the [Vapi Dashboard](https://dashboard.vapi.ai/settings/billing). -2. Navigate to **Settings → Billing**. -3. Find **Reserved Concurrency (Call Lines)**. -4. Increase the limit or purchase add-on concurrency lines. +For production deployments where inbound availability is critical, create separate organizations for inbound and outbound traffic under the same subscription. This approach: -Changes apply immediately, so you can scale ahead of known traffic surges. +- Prevents outbound campaign surges from blocking incoming customer calls +- Gives each workload its own concurrency monitoring +- Simplifies capacity planning for each use case ## View concurrency in call responses @@ -146,8 +203,50 @@ curl 'https://api.vapi.ai/analytics' \ Adjust the `timeRange.step` to inspect usage by hour, day, or week. Peaks that align with campaign launches, seasonality, or support events highlight when you should reserve additional call lines. +## Video walkthrough + +Watch a walkthrough of concurrency management and scaling in the Vapi Dashboard: + +