From 833760ffccf950ce236787d0bdbb7c07dbe030c1 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Fri, 6 Nov 2026 14:33:32 -0800 Subject: [PATCH] Fixed broken links and redirects --- fern/advanced/sip/sip-plivo.mdx | 2 +- .../transient-vs-permanent-configurations.mdx | 8 ++++---- fern/assistants/structured-outputs-examples.mdx | 2 +- fern/assistants/structured-outputs-quickstart.mdx | 2 +- fern/assistants/versioning/overview.mdx | 2 +- .../versioning/versioning-assistants.mdx | 2 +- fern/calls/call-dynamic-transfers.mdx | 2 +- fern/calls/call-outbound.mdx | 2 +- fern/calls/customer-join-timeout.mdx | 2 +- fern/calls/voicemail-detection.mdx | 10 +++++----- fern/chat/web-widget.mdx | 2 +- fern/customization/transcriber-fallback-plan.mdx | 4 ++-- fern/docs.yml | 14 +++++++------- fern/knowledge-base/custom-knowledge-base.mdx | 2 +- fern/observability/evals-quickstart.mdx | 10 +++++----- fern/observability/simulations-advanced.mdx | 8 ++++---- fern/observability/simulations-generate-api.mdx | 2 +- fern/observability/simulations-manage.mdx | 4 ++-- fern/observability/simulations-overview.mdx | 10 +++++----- fern/observability/simulations-quickstart.mdx | 2 +- fern/phone-calling.mdx | 2 +- fern/providers/model/anthropic-bedrock.mdx | 2 +- fern/providers/model/anthropic.mdx | 2 +- fern/providers/model/anyscale.mdx | 2 +- fern/providers/model/cerebras.mdx | 2 +- fern/providers/model/deepinfra.mdx | 2 +- fern/providers/model/deepseek.mdx | 2 +- fern/providers/model/gemini.mdx | 2 +- fern/providers/model/groq.mdx | 2 +- fern/providers/model/inflection-ai.mdx | 2 +- fern/providers/model/minimax.mdx | 2 +- fern/providers/model/openai.mdx | 4 ++-- fern/providers/model/openrouter.mdx | 2 +- fern/providers/model/perplexity.mdx | 2 +- fern/providers/model/togetherai.mdx | 2 +- fern/providers/model/xai.mdx | 2 +- fern/security-and-privacy/api-keys.mdx | 2 +- fern/server-url/setting-server-urls.mdx | 12 ++++++------ fern/snippets/faq-snippet.mdx | 2 +- fern/squads.mdx | 2 +- fern/squads/handoff/destinations.mdx | 4 ++-- fern/squads/handoff/messages-and-rejection.mdx | 4 ++-- fern/tools/api-request.mdx | 2 +- fern/tools/api-request/configuration.mdx | 2 +- fern/tools/api-request/response-data.mdx | 2 +- fern/tools/default-tools.mdx | 6 +++--- 46 files changed, 82 insertions(+), 82 deletions(-) diff --git a/fern/advanced/sip/sip-plivo.mdx b/fern/advanced/sip/sip-plivo.mdx index 47fff02f3..a623ffaed 100644 --- a/fern/advanced/sip/sip-plivo.mdx +++ b/fern/advanced/sip/sip-plivo.mdx @@ -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 diff --git a/fern/assistants/concepts/transient-vs-permanent-configurations.mdx b/fern/assistants/concepts/transient-vs-permanent-configurations.mdx index e69ff4b7c..85e523835 100644 --- a/fern/assistants/concepts/transient-vs-permanent-configurations.mdx +++ b/fern/assistants/concepts/transient-vs-permanent-configurations.mdx @@ -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 diff --git a/fern/assistants/structured-outputs-examples.mdx b/fern/assistants/structured-outputs-examples.mdx index 63743e93f..180d9e492 100644 --- a/fern/assistants/structured-outputs-examples.mdx +++ b/fern/assistants/structured-outputs-examples.mdx @@ -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 diff --git a/fern/assistants/structured-outputs-quickstart.mdx b/fern/assistants/structured-outputs-quickstart.mdx index 0efe323a0..760e6d53f 100644 --- a/fern/assistants/structured-outputs-quickstart.mdx +++ b/fern/assistants/structured-outputs-quickstart.mdx @@ -814,7 +814,7 @@ For more information about HIPAA compliance with Vapi, see our [HIPAA Compliance See complex real-world extraction scenarios - + Complete API documentation for structured outputs diff --git a/fern/assistants/versioning/overview.mdx b/fern/assistants/versioning/overview.mdx index c1ed58183..10a909782 100644 --- a/fern/assistants/versioning/overview.mdx +++ b/fern/assistants/versioning/overview.mdx @@ -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 diff --git a/fern/assistants/versioning/versioning-assistants.mdx b/fern/assistants/versioning/versioning-assistants.mdx index 18bee682e..556c64006 100644 --- a/fern/assistants/versioning/versioning-assistants.mdx +++ b/fern/assistants/versioning/versioning-assistants.mdx @@ -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. diff --git a/fern/calls/call-dynamic-transfers.mdx b/fern/calls/call-dynamic-transfers.mdx index fe08a50b7..819bcab4c 100644 --- a/fern/calls/call-dynamic-transfers.mdx +++ b/fern/calls/call-dynamic-transfers.mdx @@ -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. diff --git a/fern/calls/call-outbound.mdx b/fern/calls/call-outbound.mdx index b629db4ac..527cfcdb7 100644 --- a/fern/calls/call-outbound.mdx +++ b/fern/calls/call-outbound.mdx @@ -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. diff --git a/fern/calls/customer-join-timeout.mdx b/fern/calls/customer-join-timeout.mdx index 3d3630976..0c482e903 100644 --- a/fern/calls/customer-join-timeout.mdx +++ b/fern/calls/customer-join-timeout.mdx @@ -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 diff --git a/fern/calls/voicemail-detection.mdx b/fern/calls/voicemail-detection.mdx index e9a7941ce..eaa727220 100644 --- a/fern/calls/voicemail-detection.mdx +++ b/fern/calls/voicemail-detection.mdx @@ -90,11 +90,11 @@ For each detection method, you can fine-tune the following parameters: | Parameter | Description | | :-------- | :---------- | -| **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** | How long to wait (in seconds) before starting voicemail detection. | -| **backoffPlan.frequencySeconds** | How frequently to check for voicemail after the initial delay. | -| **backoffPlan.maxRetries** | Maximum number of detection attempts before stopping. | -| **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). | +| **[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) diff --git a/fern/chat/web-widget.mdx b/fern/chat/web-widget.mdx index 8bb6878f7..db8ade8aa 100644 --- a/fern/chat/web-widget.mdx +++ b/fern/chat/web-widget.mdx @@ -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 The widget automatically handles microphone permissions, audio processing, and cross-browser compatibility. For custom implementations, consider using the [Web SDK](/quickstart/web) directly. diff --git a/fern/customization/transcriber-fallback-plan.mdx b/fern/customization/transcriber-fallback-plan.mdx index 529ad4ef3..bdd6169b7 100644 --- a/fern/customization/transcriber-fallback-plan.mdx +++ b/fern/customization/transcriber-fallback-plan.mdx @@ -81,7 +81,7 @@ Manual fallbacks give you full control over which providers Vapi tries, and in w - 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). ### Configure via API @@ -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 diff --git a/fern/docs.yml b/fern/docs.yml index 58e8fdfb0..ca6f09d07 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -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 @@ -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" @@ -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" @@ -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" @@ -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" @@ -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 diff --git a/fern/knowledge-base/custom-knowledge-base.mdx b/fern/knowledge-base/custom-knowledge-base.mdx index 8186a062c..29ceb65e1 100644 --- a/fern/knowledge-base/custom-knowledge-base.mdx +++ b/fern/knowledge-base/custom-knowledge-base.mdx @@ -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 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. diff --git a/fern/observability/evals-quickstart.mdx b/fern/observability/evals-quickstart.mdx index afd210565..8e026489b 100644 --- a/fern/observability/evals-quickstart.mdx +++ b/fern/observability/evals-quickstart.mdx @@ -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). @@ -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). @@ -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). @@ -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). @@ -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). diff --git a/fern/observability/simulations-advanced.mdx b/fern/observability/simulations-advanced.mdx index f55b7e242..04c2f6892 100644 --- a/fern/observability/simulations-advanced.mdx +++ b/fern/observability/simulations-advanced.mdx @@ -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. @@ -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. 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. @@ -283,7 +283,7 @@ curl -X PATCH "https://api.vapi.ai/eval/simulation/scenario/" \ ## 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. @@ -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. diff --git a/fern/observability/simulations-generate-api.mdx b/fern/observability/simulations-generate-api.mdx index 1d1c2b028..d556b8a47 100644 --- a/fern/observability/simulations-generate-api.mdx +++ b/fern/observability/simulations-generate-api.mdx @@ -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. diff --git a/fern/observability/simulations-manage.mdx b/fern/observability/simulations-manage.mdx index 97f549c2e..e4d95a559 100644 --- a/fern/observability/simulations-manage.mdx +++ b/fern/observability/simulations-manage.mdx @@ -71,7 +71,7 @@ curl -X PATCH "https://api.vapi.ai/eval/simulation/personality/" -Open **Simulations**, then select **Runs** to see every run with its suite, iterations, [**assistant**](/assistants) or [**squad**](/squads), run date, and overall result (`Passed` or a failed count such as `1/1 failed`). Filter by **time range**, **status**, or **assistant or squad** to find a run. +Open **Simulations**, then select **Runs** to see every run with its suite, iterations, [**assistant**](/assistants/quickstart) or [**squad**](/squads), run date, and overall result (`Passed` or a failed count such as `1/1 failed`). Filter by **time range**, **status**, or **assistant or squad** to find a run. Open a run to see whether each simulation passed or failed, its evaluations, its latency results for voice runs, and its transcript. Open an active run to watch the transcript and evaluations update. If a run or iteration can't complete, it shows a **Failure reason** describing what went wrong, such as no payment method on file. See the [**Simulations quickstart**](/observability/simulations-quickstart) for the full walkthrough. @@ -184,7 +184,7 @@ Create a regression test when you fix a defect or find an unexpected response. R ### Edge-case tests -Test realistic variations such as an ambiguous request, an impatient customer, an unavailable appointment, a tool error, an interruption, or a handoff. Base AI tester personalities on the customer types the [**assistant**](/assistants) or [**squad**](/squads) handles. Synthetic callers don't reliably reproduce every interruption, silence, or background-noise condition. Keep controlled real-call checks for problems the simulation can't reproduce. Some handoffs and transfers [behave differently in simulations](/observability/simulations-advanced#handoffs-and-transfers-in-simulations). +Test realistic variations such as an ambiguous request, an impatient customer, an unavailable appointment, a tool error, an interruption, or a handoff. Base AI tester personalities on the customer types the [**assistant**](/assistants/quickstart) or [**squad**](/squads) handles. Synthetic callers don't reliably reproduce every interruption, silence, or background-noise condition. Keep controlled real-call checks for problems the simulation can't reproduce. Some handoffs and transfers [behave differently in simulations](/observability/simulations-advanced#handoffs-and-transfers-in-simulations). ### Design evaluations diff --git a/fern/observability/simulations-overview.mdx b/fern/observability/simulations-overview.mdx index 987264758..9e0378f5f 100644 --- a/fern/observability/simulations-overview.mdx +++ b/fern/observability/simulations-overview.mdx @@ -5,7 +5,7 @@ description: "Simulations test assistants and squads through real conversations slug: observability/simulations-overview --- -Simulations are automated tests that run an AI tester through a real conversation with your [**assistant**](/assistants) or [**squad**](/squads) and score the outcome. They matter because they catch broken flows, bad handoffs, and voice issues before the assistant or squad handles production traffic. This page explains what Simulations are and when to use them. +Simulations are automated tests that run an AI tester through a real conversation with your [**assistant**](/assistants/quickstart) or [**squad**](/squads) and score the outcome. They matter because they catch broken flows, bad handoffs, and voice issues before the assistant or squad handles production traffic. This page explains what Simulations are and when to use them. If you're planning or running tests with an AI coding assistant, the [simulations skill](/agent-skills#simulations) helps you design scenarios, build suites, run conversations, and review results. @@ -13,7 +13,7 @@ If you're planning or running tests with an AI coding assistant, the [simulation | Term | Definition | | -- | -- | -| **Simulation suite** | A simulation suite groups one or more simulations that you can run against one or more [**assistants**](/assistants) or [**squads**](/squads). | +| **Simulation suite** | A simulation suite groups one or more simulations that you can run against one or more [**assistants**](/assistants/quickstart) or [**squads**](/squads). | | **Simulation** | A simulation pairs a scenario with a personality to test one situation. | | **Scenario** | A scenario defines the AI tester's intent and the success criteria that determine the result: structured-output evaluations and, for voice runs, any latency limits. | | **Personality** | A personality defines how the AI tester behaves, including its model, transcriber, and voice. | @@ -21,7 +21,7 @@ If you're planning or running tests with an AI coding assistant, the [simulation ## How it works -A simulation recreates a real conversation instead of replaying a fixed script. The **AI tester** follows the scenario's intent, talks to your [**assistant**](/assistants) or [**squad**](/squads) over voice or chat, and the success criteria score whether the assistant or squad behaved correctly. +A simulation recreates a real conversation instead of replaying a fixed script. The **AI tester** follows the scenario's intent, talks to your [**assistant**](/assistants/quickstart) or [**squad**](/squads) over voice or chat, and the success criteria score whether the assistant or squad behaved correctly. You start from a simulation suite. A suite contains one or more simulations and can run against one or more assistants or squads. @@ -49,7 +49,7 @@ Simulations support two conversation modes: Both modes run the same scenario. Chat mode removes the audio layer: the AI -tester and the [**assistant**](/assistants) or [**squad**](/squads) exchange text +tester and the [**assistant**](/assistants/quickstart) or [**squad**](/squads) exchange text directly instead of synthesized speech and transcription. @@ -60,7 +60,7 @@ When you run the suite, Vapi runs each simulation for the number of iterations y ## When to use Simulations -Use **Simulations** to confirm that an [**assistant**](/assistants) or [**squad**](/squads) behaves correctly before or after a change reaches production: +Use **Simulations** to confirm that an [**assistant**](/assistants/quickstart) or [**squad**](/squads) behaves correctly before or after a change reaches production: - **Pre-launch validation**: Confirm a new or updated assistant or squad handles a scenario correctly before it takes real traffic. - **Regression testing**: After changing a prompt, tool, or configuration, rerun a suite to catch behavior that broke. diff --git a/fern/observability/simulations-quickstart.mdx b/fern/observability/simulations-quickstart.mdx index 436a8b0d3..5f4b58524 100644 --- a/fern/observability/simulations-quickstart.mdx +++ b/fern/observability/simulations-quickstart.mdx @@ -230,7 +230,7 @@ The response returns the created suite, including its `id`. Save the `id` to pas ### 5. Run the simulation suite -This request starts a suite run against your [**assistant**](/assistants) or [**squad**](/squads). Pass the suite, the assistant or squad to test, the transport provider (`vapi.websocket` for voice or `vapi.webchat` for chat), and the number of iterations. +This request starts a suite run against your [**assistant**](/assistants/quickstart) or [**squad**](/squads). Pass the suite, the assistant or squad to test, the transport provider (`vapi.websocket` for voice or `vapi.webchat` for chat), and the number of iterations. Send an `Idempotency-Key` header with a unique value for this run. Reuse the key and the same body when retrying, so a lost response cannot start and bill a second run. This applies to the first run and every rerun. See [**Run request idempotency**](/observability/simulations-manage#rerun-a-suite) for replay and error behavior. diff --git a/fern/phone-calling.mdx b/fern/phone-calling.mdx index 199275a02..b82796432 100644 --- a/fern/phone-calling.mdx +++ b/fern/phone-calling.mdx @@ -29,7 +29,7 @@ You can set up a phone number to place and receive calls in two ways: ## 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. - If the system message will be different with every call, specify a temporary assistant in the `assistant` field. - To reuse an assistant, specify its ID in the `assistantId` field. - [Read more about outbound calls](/calls/outbound-calling) diff --git a/fern/providers/model/anthropic-bedrock.mdx b/fern/providers/model/anthropic-bedrock.mdx index 294374c3e..dbe6da05f 100644 --- a/fern/providers/model/anthropic-bedrock.mdx +++ b/fern/providers/model/anthropic-bedrock.mdx @@ -17,7 +17,7 @@ Vapi's Anthropic Bedrock integration allows you to connect your own AWS Bedrock For the current Anthropic Claude models available through Amazon Bedrock, see [Anthropic models in the Amazon Bedrock documentation](https://docs.aws.amazon.com/bedrock/latest/userguide/model-cards-anthropic.html). Model availability varies by AWS Region. -For additional API configuration options, review the [`AnthropicBedrockModel` fields](/api-reference/assistants/create#request.body.model.AnthropicBedrockModel) in the Create Assistant API reference. +For additional API configuration options, review the [`AnthropicBedrockModel` fields](/api-reference/assistants/create#request.body.model.AnthropicBedrock) in the Create Assistant API reference. ### Prerequisites diff --git a/fern/providers/model/anthropic.mdx b/fern/providers/model/anthropic.mdx index 3e01542f7..d3be7f6d2 100644 --- a/fern/providers/model/anthropic.mdx +++ b/fern/providers/model/anthropic.mdx @@ -26,7 +26,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`AnthropicModel` fields](/api-reference/assistants/create#request.body.model.AnthropicModel) in the Create Assistant API reference. +For additional API configuration options, review the [`AnthropicModel` fields](/api-reference/assistants/create#request.body.model.Anthropic) in the Create Assistant API reference. | Model | Model ID | | --- | --- | diff --git a/fern/providers/model/anyscale.mdx b/fern/providers/model/anyscale.mdx index 3c099c815..70b20c245 100644 --- a/fern/providers/model/anyscale.mdx +++ b/fern/providers/model/anyscale.mdx @@ -29,7 +29,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional configuration options, review the [`AnyscaleModel` fields](/api-reference/assistants/create#request.body.model.AnyscaleModel) in the Create Assistant API reference. +For additional configuration options, review the [`AnyscaleModel` fields](/api-reference/assistants/create#request.body.model.Anyscale) in the Create Assistant API reference. ## Related diff --git a/fern/providers/model/cerebras.mdx b/fern/providers/model/cerebras.mdx index 55eac10c9..1cdd8c460 100644 --- a/fern/providers/model/cerebras.mdx +++ b/fern/providers/model/cerebras.mdx @@ -31,7 +31,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`CerebrasModel` fields](/api-reference/assistants/create#request.body.model.CerebrasModel) in the Create Assistant API reference. +For additional API configuration options, review the [`CerebrasModel` fields](/api-reference/assistants/create#request.body.model.Cerebras) in the Create Assistant API reference. ## Related diff --git a/fern/providers/model/deepinfra.mdx b/fern/providers/model/deepinfra.mdx index 7749fceb8..df588cccd 100644 --- a/fern/providers/model/deepinfra.mdx +++ b/fern/providers/model/deepinfra.mdx @@ -29,7 +29,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional configuration options, review the [`DeepInfraModel` fields](/api-reference/assistants/create#request.body.model.DeepInfraModel) in the Create Assistant API reference. +For additional configuration options, review the [`DeepInfraModel` fields](/api-reference/assistants/create#request.body.model.DeepInfra) in the Create Assistant API reference. ## Related diff --git a/fern/providers/model/deepseek.mdx b/fern/providers/model/deepseek.mdx index 6e4122173..2f72493b3 100644 --- a/fern/providers/model/deepseek.mdx +++ b/fern/providers/model/deepseek.mdx @@ -28,7 +28,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`DeepSeekModel` fields](/api-reference/assistants/create#request.body.model.DeepSeekModel) in the Create Assistant API reference. +For additional API configuration options, review the [`DeepSeekModel` fields](/api-reference/assistants/create#request.body.model.DeepSeek) in the Create Assistant API reference. | Model | Model ID | | --- | --- | diff --git a/fern/providers/model/gemini.mdx b/fern/providers/model/gemini.mdx index cbc6f2654..55f8f30aa 100644 --- a/fern/providers/model/gemini.mdx +++ b/fern/providers/model/gemini.mdx @@ -28,7 +28,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`GoogleModel` fields](/api-reference/assistants/create#request.body.model.GoogleModel) in the Create Assistant API reference. +For additional API configuration options, review the [`GoogleModel` fields](/api-reference/assistants/create#request.body.model.Google) in the Create Assistant API reference. | Model | Model ID | | --- | --- | diff --git a/fern/providers/model/groq.mdx b/fern/providers/model/groq.mdx index b847fb8ba..f78d5fb1b 100644 --- a/fern/providers/model/groq.mdx +++ b/fern/providers/model/groq.mdx @@ -22,7 +22,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`GroqModel` fields](/api-reference/assistants/create#request.body.model.GroqModel) in the Create Assistant API reference. +For additional API configuration options, review the [`GroqModel` fields](/api-reference/assistants/create#request.body.model.Groq) in the Create Assistant API reference. These are the Groq models currently selectable in Vapi. diff --git a/fern/providers/model/inflection-ai.mdx b/fern/providers/model/inflection-ai.mdx index 414296bc7..298e65479 100644 --- a/fern/providers/model/inflection-ai.mdx +++ b/fern/providers/model/inflection-ai.mdx @@ -28,7 +28,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`InflectionAIModel` fields](/api-reference/assistants/create#request.body.model.InflectionAIModel) in the Create Assistant API reference. +For additional API configuration options, review the [`InflectionAIModel` fields](/api-reference/assistants/create#request.body.model.InflectionAI) in the Create Assistant API reference. | Model | Model ID | | --- | --- | diff --git a/fern/providers/model/minimax.mdx b/fern/providers/model/minimax.mdx index 66b86c6a2..cbda4812f 100644 --- a/fern/providers/model/minimax.mdx +++ b/fern/providers/model/minimax.mdx @@ -28,7 +28,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`MinimaxLLMModel` fields](/api-reference/assistants/create#request.body.model.MinimaxLLMModel) in the Create Assistant API reference. +For additional API configuration options, review the [`MinimaxLLMModel` fields](/api-reference/assistants/create#request.body.model.MiniMaxLLM) in the Create Assistant API reference. | Model | Model ID | | --- | --- | diff --git a/fern/providers/model/openai.mdx b/fern/providers/model/openai.mdx index b3dca82b1..5bac6fec3 100644 --- a/fern/providers/model/openai.mdx +++ b/fern/providers/model/openai.mdx @@ -28,7 +28,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`OpenAIModel` fields](/api-reference/assistants/create#request.body.model.OpenAIModel) in the Create Assistant API reference. +For additional API configuration options, review the [`OpenAIModel` fields](/api-reference/assistants/create#request.body.model.OpenAI) in the Create Assistant API reference. | Model | Model ID | | --- | --- | @@ -92,7 +92,7 @@ For latency-sensitive assistants, you can run supported OpenAI models in OpenAI' | `auto` | Uses the service tier configured for your OpenAI project. | | `default` | Standard processing and billing. | -`serviceTier` applies only to models that support fast processing: `gpt-6-luna`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, and `gpt-5.5`. It is ignored for other models. When unset, Vapi uses the service tier configured for your OpenAI project. See [OpenAI's pricing](https://openai.com/api/pricing) for fast-tier rates, and the [`OpenAIModel` fields](/api-reference/assistants/create#request.body.model.OpenAIModel) in the Create Assistant API reference. +`serviceTier` applies only to models that support fast processing: `gpt-6-luna`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, and `gpt-5.5`. It is ignored for other models. When unset, Vapi uses the service tier configured for your OpenAI project. See [OpenAI's pricing](https://openai.com/api/pricing) for fast-tier rates, and the [`OpenAIModel` fields](/api-reference/assistants/create#request.body.model.OpenAI) in the Create Assistant API reference. ```bash curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ diff --git a/fern/providers/model/openrouter.mdx b/fern/providers/model/openrouter.mdx index b858d0868..ae4e75f9b 100644 --- a/fern/providers/model/openrouter.mdx +++ b/fern/providers/model/openrouter.mdx @@ -29,7 +29,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional configuration options, review the [`OpenRouterModel` fields](/api-reference/assistants/create#request.body.model.OpenRouterModel) in the Create Assistant API reference. +For additional configuration options, review the [`OpenRouterModel` fields](/api-reference/assistants/create#request.body.model.OpenRouter) in the Create Assistant API reference. ## Related diff --git a/fern/providers/model/perplexity.mdx b/fern/providers/model/perplexity.mdx index 0bf783128..f50352f91 100644 --- a/fern/providers/model/perplexity.mdx +++ b/fern/providers/model/perplexity.mdx @@ -29,7 +29,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional configuration options, review the [`PerplexityAIModel` fields](/api-reference/assistants/create#request.body.model.PerplexityAIModel) in the Create Assistant API reference. +For additional configuration options, review the [`PerplexityAIModel` fields](/api-reference/assistants/create#request.body.model.PerplexityAI) in the Create Assistant API reference. ## Related diff --git a/fern/providers/model/togetherai.mdx b/fern/providers/model/togetherai.mdx index 8962c5cfb..c5de513b4 100644 --- a/fern/providers/model/togetherai.mdx +++ b/fern/providers/model/togetherai.mdx @@ -29,7 +29,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional configuration options, review the [`TogetherAIModel` fields](/api-reference/assistants/create#request.body.model.TogetherAIModel) in the Create Assistant API reference. +For additional configuration options, review the [`TogetherAIModel` fields](/api-reference/assistants/create#request.body.model.Together) in the Create Assistant API reference. ## Related diff --git a/fern/providers/model/xai.mdx b/fern/providers/model/xai.mdx index 5b12ce46c..d4919e8b4 100644 --- a/fern/providers/model/xai.mdx +++ b/fern/providers/model/xai.mdx @@ -31,7 +31,7 @@ curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \ }' ``` -For additional API configuration options, review the [`XaiModel` fields](/api-reference/assistants/create#request.body.model.XaiModel) in the Create Assistant API reference. +For additional API configuration options, review the [`XaiModel` fields](/api-reference/assistants/create#request.body.model.XAI) in the Create Assistant API reference. | Model | Model ID | | --- | --- | diff --git a/fern/security-and-privacy/api-keys.mdx b/fern/security-and-privacy/api-keys.mdx index 0ee392f1c..2fb1c889a 100644 --- a/fern/security-and-privacy/api-keys.mdx +++ b/fern/security-and-privacy/api-keys.mdx @@ -150,7 +150,7 @@ Confirm that the new key also appears under **Private API Keys** or **Public API Use a public API key in a client-side Vapi integration. - + Use a private API key with a Vapi server SDK. diff --git a/fern/server-url/setting-server-urls.mdx b/fern/server-url/setting-server-urls.mdx index b11c3a8b1..56e65599d 100644 --- a/fern/server-url/setting-server-urls.mdx +++ b/fern/server-url/setting-server-urls.mdx @@ -55,7 +55,7 @@ Here's a breakdown of where you can set server URLs in Vapi: - Phone numbers can have a server URL attached to them in the Dashboard or via the [phone number API](/api-reference/phone-numbers). + Phone numbers can have a server URL attached to them in the Dashboard or via the [phone number API](/api-reference/phone-numbers/update). @@ -86,8 +86,8 @@ Here's a breakdown of where you can set server URLs in Vapi: The server URL for phone numbers can be set **3 ways**: - **At Time of Creation:** when you [create a free number](/api-reference/phone-numbers/create) through Vapi - - **At Import:** when you [import from Twilio](/api-reference/phone-numbers/import-twilio-number) or create a [Vonage phone number](/api-reference/phone-numbers/create) - - **Via Update:** you can [update a number](/api-reference/phone-numbers/update-phone-number) already in your account + - **At Import:** when you [import from Twilio](/api-reference/phone-numbers/create) or create a [Vonage phone number](/api-reference/phone-numbers/create) + - **Via Update:** you can [update a number](/api-reference/phone-numbers/update) already in your account The phone number's server configuration includes both the URL and optional authentication: - `phoneNumber.server.url`: The webhook endpoint URL @@ -150,7 +150,7 @@ Here's a breakdown of where you can set server URLs in Vapi: - At [assistant creation](/api-reference/assistants/create-assistant) (or via an [update](/api-reference/assistants/update-assistant)) you can set the assistant's server configuration. + At [assistant creation](/api-reference/assistants/create) (or via an [update](/api-reference/assistants/update)) you can set the assistant's server configuration. The assistant's server configuration includes: - `assistant.server.url`: The webhook endpoint URL @@ -208,13 +208,13 @@ Here's a breakdown of where you can set server URLs in Vapi: - Function tools can be configured with server endpoints via the [tools API](/api-reference/tools) or within assistant configurations. + Function tools can be configured with server endpoints via the [tools API](/api-reference/tools/create) or within assistant configurations. The server configuration for Function tools includes: - `tool.server.url`: The function endpoint URL - `tool.server.credentialId`: Authentication credential ID (optional) - You can configure server settings for Function tools during [tool creation](/api-reference/tools/create), [assistant creation](/api-reference/assistants/create-assistant), or updates. + You can configure server settings for Function tools during [tool creation](/api-reference/tools/create), [assistant creation](/api-reference/assistants/create), or updates. Use [Custom Credentials](/server-url/server-authentication) to secure your function endpoints with `credentialId`. diff --git a/fern/snippets/faq-snippet.mdx b/fern/snippets/faq-snippet.mdx index 962e33fb7..305f7e28c 100644 --- a/fern/snippets/faq-snippet.mdx +++ b/fern/snippets/faq-snippet.mdx @@ -36,7 +36,7 @@ See the [Vapi pricing page](https://vapi.ai/pricing) for current rates and [Pric No — in fact, the setup could not be easier: - **Web Dashboard:** It can take minutes to get up & running with our [dashboard](https://dashboard.vapi.ai/). - - **Client SDKs:** You can start calls with 1 line of code with any of our [client SDKs](/sdks). + - **Client SDKs:** You can start calls with 1 line of code with any of our [client SDKs](/resources). For more advanced features like function calling, you will have to set up a [Server URL](/server-url) to receive and respond to messages. diff --git a/fern/squads.mdx b/fern/squads.mdx index 6a3fb06ca..c0566c2a4 100644 --- a/fern/squads.mdx +++ b/fern/squads.mdx @@ -19,7 +19,7 @@ If you're designing a Squad with an AI coding assistant, the [create-squad skill Squads solve this by splitting complex prompts into focused assistants with specific tools and clear goals, while maintaining full conversation context across handoffs. - View all configurable properties in the [API Reference](/api-reference/squads/create-squad). + View all configurable properties in the [API Reference](/api-reference/squads/create). ## Usage diff --git a/fern/squads/handoff/destinations.mdx b/fern/squads/handoff/destinations.mdx index b7499f576..f0b488359 100644 --- a/fern/squads/handoff/destinations.mdx +++ b/fern/squads/handoff/destinations.mdx @@ -56,7 +56,7 @@ Every handoff needs a destination. You can name a single assistant, offer the mo ``` -Each assistant destination also supports **assistantOverrides** to override settings on the destination assistant, and an inline **assistant** property to create a transient assistant without saving it first. See the [API reference](/api-reference/tools/create#request.body.HandoffTool.destinations.HandoffDestinationAssistant) for all available properties. +Each assistant destination also supports **assistantOverrides** to override settings on the destination assistant, and an inline **assistant** property to create a transient assistant without saving it first. See the [API reference](/api-reference/tools/create#request.body.handoff.destinations.Assistant) for all available properties. ## Multiple destinations @@ -347,7 +347,7 @@ Define the squad inline without saving it first: | **variableExtractionPlan** | object | Extracts structured data from the conversation before handoff. | | **squadOverrides** | object | Overrides applied to the squad configuration (maps to squad-level `membersOverrides`). | -For the full schema, see the [API reference](/api-reference/tools/create#request.body.HandoffTool.destinations.HandoffDestinationSquad). +For the full schema, see the [API reference](/api-reference/tools/create#request.body.handoff.destinations.Squad). ## Custom function definitions diff --git a/fern/squads/handoff/messages-and-rejection.mdx b/fern/squads/handoff/messages-and-rejection.mdx index 07bdbb521..5a13739f6 100644 --- a/fern/squads/handoff/messages-and-rejection.mdx +++ b/fern/squads/handoff/messages-and-rejection.mdx @@ -85,7 +85,7 @@ Configure what the assistant says during each phase of the handoff. Add a **mess - **conditions** (array) -- Optional conditions for triggering. - **contents** (array) -- Multilingual variants. -For the full schema, see the [API reference](/api-reference/tools/create#request.body.HandoffTool.messages). +For the full schema, see the [API reference](/api-reference/tools/create#request.body.handoff.messages). ## Rejection plan @@ -177,4 +177,4 @@ Combine multiple conditions with `AND` or `OR` logic: By default, all top-level conditions in the `conditions` array use AND logic -- all must match for the rejection to trigger. Use a group condition with `operator: "OR"` to reject when any single condition matches. -For the full schema, see the [API reference](/api-reference/tools/create#request.body.HandoffTool.rejectionPlan). +For the full schema, see the [API reference](/api-reference/tools/create#request.body.handoff.rejectionPlan). diff --git a/fern/tools/api-request.mdx b/fern/tools/api-request.mdx index b7b83f591..b5a075237 100644 --- a/fern/tools/api-request.mdx +++ b/fern/tools/api-request.mdx @@ -75,4 +75,4 @@ See the [Create Tool](/api-reference/tools/create) and [Update Tool](/api-refere - [Get Call API reference](/api-reference/calls/get) - [Built-in tools](/tools/default-tools) - [Static variables and aliases](/tools/static-variables-and-aliases) -- [Argument encryption](/tools/arguments-encryption) +- [Argument encryption](/tools/encryption) diff --git a/fern/tools/api-request/configuration.mdx b/fern/tools/api-request/configuration.mdx index 274f39ad3..62bf9cbaf 100644 --- a/fern/tools/api-request/configuration.mdx +++ b/fern/tools/api-request/configuration.mdx @@ -25,7 +25,7 @@ Use the request body schema for values the caller provides or the model infers. | HTTP metadata | **Request Headers** in the Dashboard; `headers` in the API | No when configured with a value | Client version, content preference | | Path or query value | **Request URL** in the Dashboard; `url` in the API | Depends on the referenced value | Order ID in an endpoint path | -For the full static-parameter behavior, supported value types, and trust model, see [Static variables and aliases](/tools/static-variables-and-aliases#static-variables-parameters). +For the full static-parameter behavior, supported value types, and trust model, see [Static variables and aliases](/tools/static-variables-and-aliases/static-parameters#static-variables-parameters). Do not put access tokens or other secrets in plain-text request headers or body fields. Use a Vapi credential for authentication. diff --git a/fern/tools/api-request/response-data.mdx b/fern/tools/api-request/response-data.mdx index 46089d795..d430b896e 100644 --- a/fern/tools/api-request/response-data.mdx +++ b/fern/tools/api-request/response-data.mdx @@ -237,4 +237,4 @@ Place a test call that completes the source tool before any tool that consumes i - Never return a secret in the response body expecting extraction to conceal it. Keep secrets out of model-visible responses. - An extracted value is only as trustworthy as its source. Validate caller-controlled values on your server before using them for sensitive actions. -For nested objects, arrays, Liquid transformations, and the full trust model, see [Variable extraction plan (aliases)](/tools/static-variables-and-aliases#variable-extraction-plan-aliases). For static-field behavior, see [Static variables and aliases](/tools/static-variables-and-aliases). +For nested objects, arrays, Liquid transformations, and the full trust model, see [Variable extraction plan (aliases)](/tools/static-variables-and-aliases/extract-and-chain#variable-extraction-plan-aliases). For static-field behavior, see [Static variables and aliases](/tools/static-variables-and-aliases). diff --git a/fern/tools/default-tools.mdx b/fern/tools/default-tools.mdx index b9a093c3d..840cf598e 100644 --- a/fern/tools/default-tools.mdx +++ b/fern/tools/default-tools.mdx @@ -25,7 +25,7 @@ To add built-in tools to your agent, you need to add them in the `tools` array o #### Send Text -This function is provided when `sms` is included in the assistant's list of available tool (see configuration options [here](/api-reference/assistants/create#request.body.model.openai.tools.sms)). The assistant can use this function to send SMS messages using a configured Twilio account. +This function is provided when `sms` is included in the assistant's list of available tool (see configuration options [here](/api-reference/assistants/create#request.body.model.OpenAI.tools.SmsTool)). The assistant can use this function to send SMS messages using a configured Twilio account. ```json { @@ -52,7 +52,7 @@ This function is provided when `sms` is included in the assistant's list of avai #### Dial Keypad (DTMF) -This function is provided when `dtmf` is included in the assistant's list of available tools (see configuration options [here](/api-reference/assistants/create#request.body.model.openai.tools.dtmf)). The assistant will be able to enter digits on the keypad. +This function is provided when `dtmf` is included in the assistant's list of available tools (see configuration options [here](/api-reference/assistants/create#request.body.model.OpenAI.tools.DtmfTool)). The assistant will be able to enter digits on the keypad. Useful for IVR navigation or data entry. ```json @@ -97,7 +97,7 @@ Use an API Request Tool to call an HTTP endpoint during a conversation and make ### Custom Functions -The **Custom Functions** feature is being deprecated in favor of [Tools](/tools-calling). Please refer to the **Tools** section instead. We're working on a solution to migrate your existing functions over to make this a seamless transtion. +The **Custom Functions** feature is being deprecated in favor of [Tools](/tools/custom-tools). Please refer to the **Tools** section instead. We're working on a solution to migrate your existing functions over to make this a seamless transtion. In addition to the predefined functions, you can also define custom functions. These functions are similar to OpenAI functions and your chosen LLM will trigger them as needed based on your instructions.