Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion fern/advanced/sip/sip-plivo.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Indian phone numbers cannot be used with Plivo on Vapi due to TRAI regulations.
}'
```

[**Using the Vapi Dashboard**](/quickstart/phone#try-outbound-calling)
[**Using the Vapi Dashboard**](/quickstart/phone#place-an-outbound-call-optional)

1. Select your Assistant
2. Enter the phone number of the user you want to call
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,7 @@ Combine transient and permanent configurations for maximum flexibility:

Now that you understand transient vs permanent configurations:

- **[Assistant creation guide](/docs/assistants):** Learn to build and customize assistants
- **[Tool integration](/docs/tools):** Connect external services and functions
- **[Squad configuration](/docs/squads):** Set up multi-assistant workflows
- **[API reference](/fern/api-reference):** Explore all configuration options
- **[Assistant creation guide](/assistants/quickstart):** Learn to build and customize assistants
- **[Tool integration](/tools):** Connect external services and functions
- **[Squad configuration](/squads):** Set up multi-assistant workflows
- **[API reference](/api-reference/assistants/create):** Explore all configuration options
2 changes: 1 addition & 1 deletion fern/assistants/structured-outputs-examples.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1295,5 +1295,5 @@ When retrieving call data via API:

- [Structured outputs overview](/assistants/structured-outputs) - Main documentation
- [Quickstart guide](/assistants/structured-outputs-quickstart) - Get started quickly
- [API reference](/api-reference#structured-output) - Complete API documentation
- [API reference](/api-reference/structured-outputs/structured-output-controller-create) - Complete API documentation
- [JSON Schema specification](https://json-schema.org/) - JSON Schema standard
2 changes: 1 addition & 1 deletion fern/assistants/structured-outputs-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -814,7 +814,7 @@ For more information about HIPAA compliance with Vapi, see our [HIPAA Compliance
See complex real-world extraction scenarios
</Card>

<Card title="API reference" icon="book" href="/api-reference#structured-output">
<Card title="API reference" icon="book" href="/api-reference/structured-outputs/structured-output-controller-create">
Complete API documentation for structured outputs
</Card>
</CardGroup>
Expand Down
2 changes: 1 addition & 1 deletion fern/assistants/versioning/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Versioning saves published assistant and tool configurations so you
slug: assistants/versioning
---

Versioning lets you change an [assistant](/assistants) or [tool](/tools) without affecting live calls. Publish the draft when it is ready, review earlier versions, or restore an earlier configuration.
Versioning lets you change an [assistant](/assistants/quickstart) or [tool](/tools) without affecting live calls. Publish the draft when it is ready, review earlier versions, or restore an earlier configuration.

## The versioning lifecycle

Expand Down
2 changes: 1 addition & 1 deletion fern/assistants/versioning/versioning-assistants.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ slug: assistants/versioning/versioning-assistants

## How assistant versioning works

[Assistants](/assistants) follow the [versioning lifecycle](/assistants/versioning). Edit the draft, then publish it to create a version. Published versions do not change. To reuse an earlier configuration, restore it. Vapi immediately creates a new version from that configuration and makes it current.
[Assistants](/assistants/quickstart) follow the [versioning lifecycle](/assistants/versioning). Edit the draft, then publish it to create a version. Published versions do not change. To reuse an earlier configuration, restore it. Vapi immediately creates a new version from that configuration and makes it current.

The assistant list and header show the selected version. A draft appears separately when the assistant has unpublished changes.

Expand Down
2 changes: 1 addition & 1 deletion fern/calls/call-dynamic-transfers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ sequenceDiagram
## Troubleshooting

- **Tool call not received**: Verify your server URL is correctly configured in the Function tool and is publicly accessible. Check your server logs for incoming requests.
- **Transfer not executing**: Make sure that you are sending a valid destination object (type number or sip). See API reference [here](https://docs.vapi.ai/api-reference/tools/create#request.body.TransferCallTool.destinations).
- **Transfer not executing**: Make sure that you are sending a valid destination object (type number or sip). See API reference [here](https://docs.vapi.ai/api-reference/tools/create#request.body.transferCall.destinations).
- **Invalid destination format**: For phone numbers, use `"type": "number"` with E.164 format. For SIP, use `"type": "sip"` with a valid SIP URI.
- **Transfer fails silently**: Check your server logs for errors in the axios/httpx request.

Expand Down
2 changes: 1 addition & 1 deletion fern/calls/call-outbound.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ If you're using an AI coding assistant to place or test a call through the API,

## Outbound Calls

You can place an outbound call from one of your phone numbers using the [`/call`](/api-reference/calls/create-phone-call) endpoint.
You can place an outbound call from one of your phone numbers using the [`/call`](/api-reference/calls/create) endpoint.

1. **Specify an Assistant:** you must specify either a transient assistant in the `assistant` field or reuse a saved assistant in the `assistantId` field.
2. **Get a Phone Number:** provide the `phoneNumberId` of the imported number you wish to call from.
Expand Down
2 changes: 1 addition & 1 deletion fern/calls/customer-join-timeout.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,6 @@ This message appears when a call ends naturally and is **informational only**—

Now that you understand customer join timeouts:

- **Monitor your metrics:** Check your [call analytics](/dashboard) for timeout-related failures
- **Monitor your metrics:** Check your [call analytics](/observability/boards-quickstart) for timeout-related failures
- **Control active calls:** Learn about [live call control](/calls/call-features)
- **Understand call failures:** Review [call ended reasons](/calls/call-ended-reason) for comprehensive troubleshooting
10 changes: 5 additions & 5 deletions fern/calls/voicemail-detection.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,11 @@ For each detection method, you can fine-tune the following parameters:

| Parameter | Description |
| :-------- | :---------- |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.type" target="_blank">type</a>** | Detection method: `audio` (default, best for Google/Vapi) or `transcript` (ASR-based, best for OpenAI). Only `transcript` is supported for Google and OpenAI providers. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.startAtSeconds" target="_blank">backoffPlan.startAtSeconds</a>** | How long to wait (in seconds) before starting voicemail detection. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.frequencySeconds" target="_blank">backoffPlan.frequencySeconds</a>** | How frequently to check for voicemail after the initial delay. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.maxRetries" target="_blank">backoffPlan.maxRetries</a>** | Maximum number of detection attempts before stopping. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.beepMaxAwaitSeconds" target="_blank">beepMaxAwaitSeconds</a>** | Maximum duration from call start to wait for a voicemail beep before speaking the message. If set too low, the bot may start speaking before the actual beep and get cut off. Default: 30 seconds (0-60 range). |
| **[type](/api-reference/assistants/create#request.body.voicemailDetection.Vapi.type)** | Detection method: `audio` (default, best for Google/Vapi) or `transcript` (ASR-based, best for OpenAI). Only `transcript` is supported for Google and OpenAI providers. |
| **[backoffPlan.startAtSeconds](/api-reference/assistants/create#request.body.voicemailDetection.Vapi.backoffPlan.startAtSeconds)** | How long to wait (in seconds) before starting voicemail detection. |
| **[backoffPlan.frequencySeconds](/api-reference/assistants/create#request.body.voicemailDetection.Vapi.backoffPlan.frequencySeconds)** | How frequently to check for voicemail after the initial delay. |
| **[backoffPlan.maxRetries](/api-reference/assistants/create#request.body.voicemailDetection.Vapi.backoffPlan.maxRetries)** | Maximum number of detection attempts before stopping. |
| **[beepMaxAwaitSeconds](/api-reference/assistants/create#request.body.voicemailDetection.Vapi.beepMaxAwaitSeconds)** | Maximum duration from call start to wait for a voicemail beep before speaking the message. If set too low, the bot may start speaking before the actual beep and get cut off. Default: 30 seconds (0-60 range). |

These settings allow you to balance:
- **Speed** (how quickly voicemail is detected)
Expand Down
2 changes: 1 addition & 1 deletion fern/chat/web-widget.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ Enhance your widget integration:
* **[Chat API](/chat/quickstart)** - Build custom chat interfaces using the API directly
* **[Voice calls](/calls/outbound-calling)** - Add programmatic voice calling capabilities
* **[Function tools](/tools/custom-tools)** - Give your assistant access to external APIs
* **[Assistant customization](/assistants)** - Fine-tune your assistant's behavior
* **[Assistant customization](/assistants/quickstart)** - Fine-tune your assistant's behavior

<Tip>
The widget automatically handles microphone permissions, audio processing, and cross-browser compatibility. For custom implementations, consider using the [Web SDK](/quickstart/web) directly.
Expand Down
4 changes: 2 additions & 2 deletions fern/customization/transcriber-fallback-plan.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Manual fallbacks give you full control over which providers Vapi tries, and in w
</Steps>

<Note>
If HIPAA compliance is enabled, choose every fallback from the current list of [HIPAA-compliant transcription providers](/security-and-privacy/hipaa#transcription-providers-stt).
If HIPAA compliance is enabled, choose every fallback from the current list of [HIPAA-compliant transcription providers](/security-and-privacy/hipaa#hipaa-compliant-providers).
</Note>

### Configure via API
Expand Down Expand Up @@ -239,7 +239,7 @@ Each transcriber provider supports different configuration options. Expand a pro
- **Combine both** for maximum reliability—manual fallbacks run first, auto fallback catches anything they miss.
- Use **different providers** for manual fallbacks to protect against provider-wide outages.
- Consider **language compatibility** when selecting fallbacks—ensure all fallback transcribers support your required languages.
- For **HIPAA compliance**, choose every fallback from the current list of [HIPAA-compliant transcription providers](/security-and-privacy/hipaa#transcription-providers-stt) and review data-routing implications before enabling auto fallback.
- For **HIPAA compliance**, choose every fallback from the current list of [HIPAA-compliant transcription providers](/security-and-privacy/hipaa#hipaa-compliant-providers) and review data-routing implications before enabling auto fallback.

## FAQ

Expand Down
14 changes: 7 additions & 7 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1210,7 +1210,7 @@ redirects:
- source: /security-and-privacy/retrieve-call-artifacts
destination: /assistants/retrieve-call-artifacts
- source: /developer-documentation
destination: /introduction
destination: /quickstart
- source: /documentation/general/changelog
destination: /whats-new
- source: /changelog
Expand Down Expand Up @@ -1288,7 +1288,7 @@ redirects:
- source: /api-reference/messages/client-inbound-message
destination: /api-reference/webhooks/client-message
- source: "/api-reference/phone-numbers/import-twilio-number"
destination: "/api-reference/phone-numbers/create-phone-number"
destination: "/api-reference/phone-numbers/create"
- source: /community/expert-directory
destination: https://vapi.ai/library
- source: "api-reference/calls/create-call"
Expand All @@ -1312,9 +1312,9 @@ redirects:
- source: "/custom-voice"
destination: "/customization/custom-voices/custom-voice"
- source: "/function_calling"
destination: "/assistants/function-calling"
destination: "/tools/default-tools"
- source: "/function-calling"
destination: "/assistants/function-calling"
destination: "/tools/default-tools"
- source: "/persistent_assistants"
destination: "/assistants/concepts/transient-vs-permanent-configurations"
- source: "/persistent-assistants"
Expand Down Expand Up @@ -1352,7 +1352,7 @@ redirects:
- source: "/voice_widget"
destination: "/assistants/examples/voice-widget"
- source: "/clients"
destination: "/sdks"
destination: "/quickstart/web"
- source: "/error_message_guide"
destination: "/calls/call-ended-reason"
- source: "/privacy"
Expand All @@ -1368,7 +1368,7 @@ redirects:
- source: "/enterprise/plans"
destination: "/billing/pricing-and-success-packages"
- source: "/tools-calling"
destination: "/assistants/custom-tools"
destination: "/tools/custom-tools"
- source: "/knowledgebase"
destination: "/knowledge-base"
- source: "/quickstart/billing"
Expand All @@ -1380,7 +1380,7 @@ redirects:
- source: /assistants/custom-tools
destination: /tools/custom-tools
- source: /GHL
destination: /tools/GHL
destination: /tools/go-high-level
- source: /phone-calling/voice-mail-detection
destination: /calls/voicemail-detection
- source: /phone-calling/voicemail-detection
Expand Down
2 changes: 1 addition & 1 deletion fern/knowledge-base/custom-knowledge-base.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ Now that you have a custom knowledge base implementation:

- **[Implement the custom endpoint](/knowledge-base/implement-custom-endpoint):** Handle the retrieval request and return results from your server
- **[Query tool configuration](/knowledge-base/using-query-tool):** Learn advanced Query tool configurations
- **[Assistant Configuration](/assistants):** Optimize your assistant's use of knowledge bases
- **[Assistant Configuration](/assistants/quickstart):** Optimize your assistant's use of knowledge bases

<Note>
Custom Knowledge Bases require a webhook endpoint that's publicly accessible. For production deployments, ensure your server can handle concurrent requests and has appropriate error handling and monitoring in place.
Expand Down
10 changes: 5 additions & 5 deletions fern/observability/evals-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ curl -X GET "https://api.vapi.ai/eval/run/eval-run-123" \
-H "Authorization: Bearer $VAPI_API_KEY"
```

For complete API details, see [Create Eval Run](/api-reference/eval/run) and [Get Eval Run](/api-reference/eval/get-run).
For complete API details, see [Create Eval Run](/api-reference/eval/eval-controller-run) and [Get Eval Run](/api-reference/eval/eval-controller-get-run).

The POST response confirms submission, not success. Poll the GET endpoint until `status` is `ended`, with a deadline. Then check `endedReason` and the results. See the [complete CI example](/observability/evals-advanced#cicd-integration).

Expand Down Expand Up @@ -1051,7 +1051,7 @@ curl -X GET "https://api.vapi.ai/eval" \
}
```

For API details, see [List Evals](/api-reference/eval/list).
For API details, see [List Evals](/api-reference/eval/eval-controller-get-paginated).

</Tab>
</Tabs>
Expand Down Expand Up @@ -1091,7 +1091,7 @@ curl -X PATCH "https://api.vapi.ai/eval/550e8400-e29b-41d4-a716-446655440000" \
}'
```

For API details, see [Update Eval](/api-reference/eval/update).
For API details, see [Update Eval](/api-reference/eval/eval-controller-update).

</Tab>
</Tabs>
Expand All @@ -1116,7 +1116,7 @@ curl -X DELETE "https://api.vapi.ai/eval/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer $VAPI_API_KEY"
```

For API details, see [Delete Eval](/api-reference/eval/delete).
For API details, see [Delete Eval](/api-reference/eval/eval-controller-remove).

</Tab>
</Tabs>
Expand Down Expand Up @@ -1154,7 +1154,7 @@ curl -X GET "https://api.vapi.ai/eval/run?evalId=550e8400-e29b-41d4-a716-4466554
-H "Authorization: Bearer $VAPI_API_KEY"
```

For API details, see [List Eval Runs](/api-reference/eval/list-runs).
For API details, see [List Eval Runs](/api-reference/eval/eval-controller-get-runs-paginated).

</Tab>
</Tabs>
Expand Down
8 changes: 4 additions & 4 deletions fern/observability/simulations-advanced.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Advanced simulation options let you set variable values, mock tool responses, tr

## How it works

Advanced options belong to each simulation in a suite. They control which values the [**assistant**](/assistants) or [**squad**](/squads) receives, what mocked tools return, and which lifecycle events send webhooks.
Advanced options belong to each simulation in a suite. They control which values the [**assistant**](/assistants/quickstart) or [**squad**](/squads) receives, what mocked tools return, and which lifecycle events send webhooks.

Open a suite and select **Edit**, then **Next**. The review step contains the **Success criteria**, **Variables**, and **Tool mocks & webhooks** tabs.

Expand Down Expand Up @@ -39,7 +39,7 @@ Open a suite and select **Edit**, then **Next**. The review step contains the **

## Mock tool responses

During a simulation, the [**assistant**](/assistants) or [**squad**](/squads) under test runs its real [**tools**](/tools). Mock a tool to return fixed text instead, so that tool never calls its live service or API. A mock intercepts only the tool it names; every other tool the assistant or squad calls still runs for real.
During a simulation, the [**assistant**](/assistants/quickstart) or [**squad**](/squads) under test runs its real [**tools**](/tools). Mock a tool to return fixed text instead, so that tool never calls its live service or API. A mock intercepts only the tool it names; every other tool the assistant or squad calls still runs for real.

<Note>
Suites that [Composer generates](/composer#generate-tests-for-an-assistant) come with mocks already set. Every tool in the assistant's tool list that would reach an external system is mocked, including handoffs and transfers that can't run safely. Tools that only end or route the conversation run normally, such as end call, voicemail, DTMF, and static handoffs.
Expand Down Expand Up @@ -283,7 +283,7 @@ curl -X PATCH "https://api.vapi.ai/eval/simulation/scenario/<scenario-id>" \

## Set latency limits

A latency limit fails a voice simulation when the [**assistant**](/assistants) or [**squad**](/squads) under test responds too slowly. Vapi measures latency on each turn of the call, combines the turns into one number, and passes the limit when that number is at or below the limit you set.
A latency limit fails a voice simulation when the [**assistant**](/assistants/quickstart) or [**squad**](/squads) under test responds too slowly. Vapi measures latency on each turn of the call, combines the turns into one number, and passes the limit when that number is at or below the limit you set.

Latency limits work alongside structured-output evaluations. A scenario still needs at least one evaluation, and a required limit that fails marks the simulation as failed even when every evaluation passes.

Expand Down Expand Up @@ -359,7 +359,7 @@ Through the API, each run item's `results.latencyEvaluations` holds one entry pe

## Set variable values for the assistant or squad

Variables provide values for the [**dynamic variables**](/assistants/dynamic-variables) used by the [**assistant**](/assistants) or [**squad**](/squads) during the simulation. On the **Variables** tab, add **Name** and **Value** pairs. Each name must match a `{{variable}}` placeholder in the assistant's prompt, and the value is substituted during the run.
Variables provide values for the [**dynamic variables**](/assistants/dynamic-variables) used by the [**assistant**](/assistants/quickstart) or [**squad**](/squads) during the simulation. On the **Variables** tab, add **Name** and **Value** pairs. Each name must match a `{{variable}}` placeholder in the assistant's prompt, and the value is substituted during the run.

Use variables to test specific inputs, such as a customer name or account tier, without editing the assistant or squad.

Expand Down
2 changes: 1 addition & 1 deletion fern/observability/simulations-generate-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ You then run the suite with the existing [`POST /eval/simulation/run`](/observab

## Prerequisites

- An [**assistant**](/assistants) to test. Copy its ID from its page in the Dashboard.
- An [**assistant**](/assistants/quickstart) to test. Copy its ID from its page in the Dashboard.
- A private API key in `VAPI_API_KEY`. The key needs permission to create and update simulation suites.
- An HTTP client with a long timeout. Suite generation can take up to 3 minutes, so set a client timeout of at least 200 seconds.

Expand Down
Loading
Loading