diff --git a/fern/advanced/sip/sip-chime.mdx b/fern/advanced/sip/sip-chime.mdx index 9be4c978e..1526c7841 100644 --- a/fern/advanced/sip/sip-chime.mdx +++ b/fern/advanced/sip/sip-chime.mdx @@ -15,7 +15,7 @@ This integration does not support passing custom SIP headers, metadata, or enric ## Prerequisites - An AWS account with access to the [Amazon Chime SDK console](https://console.aws.amazon.com/chime-sdk/) -- A Vapi account with a private API key +- A Vapi account with a [private API key](/security-and-privacy/api-keys) - AWS CLI configured, or access to the Chime SDK console - A phone number provisioned in Amazon Chime SDK (or the ability to order one) - A Vapi assistant already created (for inbound calls) @@ -93,9 +93,9 @@ If you don't have any phone numbers in your inventory, order them from **Amazon - + -Log in to your [Vapi dashboard](https://dashboard.vapi.ai) and retrieve your API key from the **Organization Settings**. +Get a [Vapi API key](/security-and-privacy/api-keys) to authenticate the API requests in this guide. diff --git a/fern/advanced/sip/sip-plivo.mdx b/fern/advanced/sip/sip-plivo.mdx index b888d047d..14d0cbacb 100644 --- a/fern/advanced/sip/sip-plivo.mdx +++ b/fern/advanced/sip/sip-plivo.mdx @@ -79,8 +79,8 @@ Indian phone numbers cannot be used with Plivo on Vapi due to TRAI regulations. ## Vapi Configuration - - Sign in to the dashboard and [get your API key](https://dashboard.vapi.ai/org/api-keys). + + Get a [Vapi API key](/security-and-privacy/api-keys) to authenticate the API requests in this guide. 1. Copy the following API call. @@ -222,8 +222,8 @@ Indian phone numbers cannot be used with Plivo on Vapi due to TRAI regulations. ## Vapi Configuration - - Sign into the dashboard and [get your api key](https://dashboard.vapi.ai/org/api-keys). + + Get a [Vapi API key](/security-and-privacy/api-keys) to authenticate the API requests in this guide. ```bash diff --git a/fern/advanced/sip/sip-telnyx.mdx b/fern/advanced/sip/sip-telnyx.mdx index 3c6c342e8..96d60713b 100644 --- a/fern/advanced/sip/sip-telnyx.mdx +++ b/fern/advanced/sip/sip-telnyx.mdx @@ -8,13 +8,7 @@ Integrate your Telnyx SIP trunk with Vapi to enable your AI voice assistants to - - - - Log in to your Vapi account - - Navigate to **Organization Settings** - - In the **API Keys** section, copy your **Private Key** - - + Get a [Vapi private API key](/security-and-privacy/api-keys) to authenticate the API requests in this guide. diff --git a/fern/advanced/sip/sip-twilio.mdx b/fern/advanced/sip/sip-twilio.mdx index 3af26fa93..741afd1d6 100644 --- a/fern/advanced/sip/sip-twilio.mdx +++ b/fern/advanced/sip/sip-twilio.mdx @@ -60,9 +60,9 @@ This guide walks you through setting up both outbound and inbound SIP trunking b ### Vapi Configuration -1. **Retrieve Your Vapi API Key** +1. **Get your Vapi API key** - Log in to your Vapi.ai account and retrieve your API key from the Organization Settings. + Get a [Vapi API key](/security-and-privacy/api-keys) to authenticate the API requests in this guide. 2. **Create a SIP Trunk Credential** diff --git a/fern/advanced/sip/sip-zadarma.mdx b/fern/advanced/sip/sip-zadarma.mdx index d90f6221e..481203919 100644 --- a/fern/advanced/sip/sip-zadarma.mdx +++ b/fern/advanced/sip/sip-zadarma.mdx @@ -7,11 +7,9 @@ slug: advanced/sip/zadarma Integrate your Zadarma SIP trunk with Vapi.ai to enable your AI voice assistants to handle calls efficiently. Follow the steps below to set up this integration: -## 1. Retrieve Your Vapi.ai Private Key +## 1. Get your Vapi private API key -- Log in to your Vapi.ai account. -- Navigate to **Organization Settings**. -- In the **API Keys** section, copy your **Private Key**. +Get a [Vapi private API key](/security-and-privacy/api-keys) to authenticate the API requests in this guide. ## 2. Add Your Zadarma SIP Credentials to Vapi.ai diff --git a/fern/assistants/quickstart.mdx b/fern/assistants/quickstart.mdx index 6eb87d7e1..a104232fa 100644 --- a/fern/assistants/quickstart.mdx +++ b/fern/assistants/quickstart.mdx @@ -15,7 +15,7 @@ Create a voice assistant with a simple prompt, attach a phone number, and make y ## Prerequisites -- A Vapi account and API key +- A Vapi account and a [Vapi API key](/security-and-privacy/api-keys) ## 1) Create an assistant @@ -99,4 +99,3 @@ By default, when you create an assistant, the transcriber, model, and voice are - **Use a preset**: [Model Intelligence presets](/assistants/model-intelligence/presets) bundle a transcriber, model, and voice tuned for common use cases, so you can configure your assistant in one click. - **Structure data**: [Structured outputs](/assistants/structured-outputs) - **Move to multi-assistant**: [Squads](/squads) - diff --git a/fern/assistants/retrieve-call-artifacts.mdx b/fern/assistants/retrieve-call-artifacts.mdx index 517bf34fe..de82e44ba 100644 --- a/fern/assistants/retrieve-call-artifacts.mdx +++ b/fern/assistants/retrieve-call-artifacts.mdx @@ -15,17 +15,15 @@ Some private storage URLs contain `hipaa-recordings` in the path. That's an inte Call recordings and logs are stored in a private bucket. These URLs aren't directly downloadable. -To retrieve a recording or log file, call the Vapi API with your **Private API Key**. The API responds with a `302` redirect to a short-lived, authenticated download URL. +To retrieve a recording or log file, call the Vapi API with a [Vapi private API key](/security-and-privacy/api-keys). The API responds with a `302` redirect to a short-lived, authenticated download URL. Never expose your Private API Key in client-side code or commit it to version control. Store it as a secret in your backend environment. -## Get your Private API Key +## Get your private API key -1. Open the [Vapi Dashboard](https://dashboard.vapi.ai/). -2. Go to **Manage** → **API Keys**. -3. Copy the value of your **Private API Key**. +Follow the [Vapi API key guide](/security-and-privacy/api-keys) to create, view, or copy a private key. ## Integration diff --git a/fern/assistants/structured-outputs-quickstart.mdx b/fern/assistants/structured-outputs-quickstart.mdx index df7c8ef3e..6229839ce 100644 --- a/fern/assistants/structured-outputs-quickstart.mdx +++ b/fern/assistants/structured-outputs-quickstart.mdx @@ -64,7 +64,7 @@ A customer support assistant that automatically extracts: Sign up at [dashboard.vapi.ai](https://dashboard.vapi.ai) - Get your API key from **API Keys** on sidebar + Get a [Vapi API key](/security-and-privacy/api-keys) diff --git a/fern/calls/call-queue-management.mdx b/fern/calls/call-queue-management.mdx index b70d9551a..6eb03a5a3 100644 --- a/fern/calls/call-queue-management.mdx +++ b/fern/calls/call-queue-management.mdx @@ -23,7 +23,7 @@ This approach is ideal for call centers, customer support lines, or any applicat Before implementing call queue management, ensure you have: -- **Vapi Account**: Access to the [Vapi Dashboard](https://dashboard.vapi.ai/org/api-keys) with your API key +- **Vapi Account**: Access to the [Vapi Dashboard](https://dashboard.vapi.ai/) with a [Vapi API key](/security-and-privacy/api-keys) - **Twilio Account**: Active Twilio account with Account SID and Auth Token - **Twilio CLI**: Install from [twil.io/cli](https://twil.io/cli) for queue management - **Phone Number**: Twilio phone number configured for incoming calls @@ -708,4 +708,4 @@ Now that you have a production-ready call queue system with Redis persistence an Consider implementing health checks, metrics collection, and alerting around your Redis counters and queue processing latency for production monitoring. - \ No newline at end of file + diff --git a/fern/chat/quickstart.mdx b/fern/chat/quickstart.mdx index 54e9f7cd7..ce18259fc 100644 --- a/fern/chat/quickstart.mdx +++ b/fern/chat/quickstart.mdx @@ -33,14 +33,8 @@ We'll create a customer support chat for "TechFlow", a software company that wan ## 1. Get Your API Credentials - - Go to [dashboard.vapi.ai](https://dashboard.vapi.ai) and log in to your account. - - - Click on your profile in the top right, then select `Vapi API Keys`. - - - Copy your Private API Key. You'll need this for all chat requests. + + Follow the [Vapi API key guide](/security-and-privacy/api-keys) to create, view, or copy a private key. Use this key to authenticate server-side chat requests. Keep this key secure - never expose it in client-side code. diff --git a/fern/chat/web-widget.mdx b/fern/chat/web-widget.mdx index a23f748a0..739c1b7dc 100644 --- a/fern/chat/web-widget.mdx +++ b/fern/chat/web-widget.mdx @@ -25,7 +25,7 @@ View the complete source code and examples on [GitHub](https://github.com/VapiAI ## Prerequisites -* A [Vapi account](https://dashboard.vapi.ai/) with a public API key +* A [Vapi account](https://dashboard.vapi.ai/) with a [public API key](/security-and-privacy/api-keys) * An existing assistant or willingness to create one * A website where you want to embed the widget @@ -38,14 +38,8 @@ We'll add a customer support widget to "TechFlow's" website that allows visitors ## 1. Get Your Public API Key - - Go to [dashboard.vapi.ai](https://dashboard.vapi.ai) and log in to your account. - - - Click on your profile in the top right, then select `Vapi API Keys`. - - - Copy your **Public API Key**. This is safe to use in client-side code. + + Follow the [Vapi API key guide](/security-and-privacy/api-keys) to create, view, or copy a public key. Unlike private keys, public keys are safe to expose in your website code. @@ -459,7 +453,7 @@ You must provide either `assistant-id`, `assistant`, or both `assistant-id` and * Microphone access for voice mode * HTTPS required in production -* Vapi account and API key +* Vapi account and [API key](/security-and-privacy/api-keys) ## Next Steps @@ -476,4 +470,4 @@ The widget automatically handles microphone permissions, audio processing, and c Need help? Chat with the team on our [Discord](https://discord.com/invite/pUFNcf2WmH) or mention us on [X/Twitter](https://x.com/Vapi_AI). - \ No newline at end of file + diff --git a/fern/cli/project-integration.mdx b/fern/cli/project-integration.mdx index d5e3ed5b0..18fa02f17 100644 --- a/fern/cli/project-integration.mdx +++ b/fern/cli/project-integration.mdx @@ -220,8 +220,8 @@ After initialization, configure your environment: ``` - - Get your API key from the [Vapi Dashboard](https://dashboard.vapi.ai/): + + Follow the [Vapi API key guide](/security-and-privacy/api-keys) to create, view, or copy an API key: ```bash VAPI_API_KEY=your-api-key-here ``` @@ -348,4 +348,4 @@ Next steps: 2. Add your VAPI_API_KEY 3. Run: npm run dev 4. Test the voice button at http://localhost:3000 -``` \ No newline at end of file +``` diff --git a/fern/docs.yml b/fern/docs.yml index cdd35fd91..b3231dc3c 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -772,6 +772,8 @@ navigation: contents: - page: Data flow path: security-and-privacy/data-flow.mdx + - page: API keys + path: security-and-privacy/api-keys.mdx - page: Single Sign-On (SSO) path: security-and-privacy/sso.mdx - page: JWT authentication diff --git a/fern/observability/evals-quickstart.mdx b/fern/observability/evals-quickstart.mdx index 5a34a84c8..47d9a0a33 100644 --- a/fern/observability/evals-quickstart.mdx +++ b/fern/observability/evals-quickstart.mdx @@ -48,7 +48,7 @@ An evaluation suite for an appointment booking assistant that tests: Sign up at [dashboard.vapi.ai](https://dashboard.vapi.ai) - Get your API key from **API Keys** in sidebar + Get a [Vapi API key](/security-and-privacy/api-keys) diff --git a/fern/observability/monitoring-quickstart.mdx b/fern/observability/monitoring-quickstart.mdx index ecc161826..63ef4496a 100644 --- a/fern/observability/monitoring-quickstart.mdx +++ b/fern/observability/monitoring-quickstart.mdx @@ -65,7 +65,7 @@ In this quickstart, you will create a monitor that tracks error rates across you Sign up at [dashboard.vapi.ai](https://dashboard.vapi.ai) - Get your API key from **API Keys** in the sidebar + Get a [Vapi API key](/security-and-privacy/api-keys) diff --git a/fern/observability/scorecard-quickstart.mdx b/fern/observability/scorecard-quickstart.mdx index d8d2e40bb..b72ff67d8 100644 --- a/fern/observability/scorecard-quickstart.mdx +++ b/fern/observability/scorecard-quickstart.mdx @@ -42,11 +42,13 @@ A scorecard that: ## Prerequisites - - You need: A Vapi account and API key, an assistant with a model and voice - configured, structured outputs created and attached that your scorecard will - use - +You need: + +- A Vapi account +- A [Vapi API key](/security-and-privacy/api-keys) +- An assistant with a model and voice configured +- Structured outputs created and attached for the scorecard to use + Metrics can only reference structured outputs of type number/integer or boolean. diff --git a/fern/observability/simulations-quickstart.mdx b/fern/observability/simulations-quickstart.mdx index 6416004d1..a0c47c9b4 100644 --- a/fern/observability/simulations-quickstart.mdx +++ b/fern/observability/simulations-quickstart.mdx @@ -69,7 +69,7 @@ A simulation suite for an appointment booking assistant that tests: Sign up at [dashboard.vapi.ai](https://dashboard.vapi.ai) - Get your API key from **API Keys** in sidebar + Get a [Vapi API key](/security-and-privacy/api-keys) diff --git a/fern/providers/chat-dash.mdx b/fern/providers/chat-dash.mdx index 34cfd28bd..54e36f27e 100644 --- a/fern/providers/chat-dash.mdx +++ b/fern/providers/chat-dash.mdx @@ -4,12 +4,12 @@ subtitle: ChatDash is a white-label dashboard platform that integrates with Vapi slug: providers/chat-dash --- -[ChatDash](https://bit.ly/3NJpkM7) is a white-label client dashboard platform designed for AI agent agencies. Our seamless integration with Vapi is engineered for simplicity—just enter your Vapi Agent ID and API Key, and your dashboard is up instantly with real-time analytics, detailed call logs, and comprehensive Stripe billing integration. +[ChatDash](https://bit.ly/3NJpkM7) is a white-label client dashboard platform designed for AI agent agencies. Our seamless integration with Vapi is engineered for simplicity—just enter your Vapi Agent ID and [Vapi API key](/security-and-privacy/api-keys), and your dashboard is up instantly with real-time analytics, detailed call logs, and comprehensive Stripe billing integration. ## Key Benefits - **Quick Setup:** - Simply input your Vapi Agent ID and API Key, and ChatDash instantly pulls in data to configure your dashboard. + Simply input your Vapi Agent ID and [Vapi API key](/security-and-privacy/api-keys), and ChatDash instantly pulls in data to configure your dashboard. - **Instant Analytics & Call Logs:** Gain immediate access to real-time analytics and detailed call logs from your Vapi agent, so you can monitor performance as soon as you're set up. @@ -23,7 +23,7 @@ slug: providers/chat-dash ## How It Works 1. **Enter Your Credentials:** - Provide your Vapi Agent ID and API Key in ChatDash. + Provide your Vapi Agent ID and [Vapi API key](/security-and-privacy/api-keys) in ChatDash. 2. **Dashboard Setup:** ChatDash automatically configures your dashboard with live analytics and call logs. diff --git a/fern/providers/klen-ai.mdx b/fern/providers/klen-ai.mdx index cbbbd5f12..15607e27c 100644 --- a/fern/providers/klen-ai.mdx +++ b/fern/providers/klen-ai.mdx @@ -10,7 +10,7 @@ Klen AI is a cutting-edge white-label platform that leverages Vapi to empower ag ## Key Benefits - **White-label Voice Platform:** Build and deploy voice agents under your own brand with complete control over your domain and aesthetics. -- **Partner-Specific API Key Support:** Integrate your personal Vapi API keys for tailored control and direct billing oversight. +- **Partner-Specific API Key Support:** Integrate your personal [Vapi API keys](/security-and-privacy/api-keys) for tailored control and direct billing oversight. - **Managed Infrastructure:** Enjoy robust webhook integration, secure authentication, and a scalable multi-tenant architecture. - **Advanced Scheduling & Campaign Management:** Leverage intelligent scheduling, bi-directional calendar sync, and automated outbound campaigns. - **Team Collaboration:** Benefit from multi-user access, shared AI agents, and role-based permissions to streamline operations. @@ -38,7 +38,7 @@ Ready to transform your voice AI offerings? 1. [Sign up for a Klen AI account](https://klen.ai/get-started) 2. Choose the partner plan that suits your agency's needs. 3. Configure your white-label settings and domain. -4. Connect your Vapi API key (or use our platform key). +4. Connect your [Vapi API key](/security-and-privacy/api-keys) (or use our platform key). 5. Start building and deploying custom voice agents today. ## Learn More diff --git a/fern/providers/transcriber/soniox.mdx b/fern/providers/transcriber/soniox.mdx index b0bb32cfb..80ce2fca4 100644 --- a/fern/providers/transcriber/soniox.mdx +++ b/fern/providers/transcriber/soniox.mdx @@ -30,7 +30,7 @@ Configure Soniox in the Vapi Dashboard or update an assistant through the API. - Set `VAPI_API_KEY` in your environment, then replace `YOUR_ASSISTANT_ID` with the assistant ID. + Set `VAPI_API_KEY` in your environment with a [Vapi API key](/security-and-privacy/api-keys), then replace `YOUR_ASSISTANT_ID` with the assistant ID. ```bash curl -X PATCH "https://api.vapi.ai/assistant/YOUR_ASSISTANT_ID" \ diff --git a/fern/providers/vapify.mdx b/fern/providers/vapify.mdx index 6c54c7d49..a2417a16c 100644 --- a/fern/providers/vapify.mdx +++ b/fern/providers/vapify.mdx @@ -8,7 +8,7 @@ Vapify is a white-label platform for Vapi that simplifies how agencies sell and ## Key Benefits - **Seamless Integration:** - Seamlessly integrate Vapify with your Vapi setup. To get started, all you need is a Vapi key - zero coding required. + Seamlessly integrate Vapify with your Vapi setup. To get started, all you need is a [Vapi API key](/security-and-privacy/api-keys) - zero coding required. - **Comprehensive Analytics:** Get access to detailed call logs, recordings, and client-ready reporting. - **White-Label Experience:** diff --git a/fern/providers/voiceaiwrapper.mdx b/fern/providers/voiceaiwrapper.mdx index 4d9b591f7..e3e6a6eb5 100644 --- a/fern/providers/voiceaiwrapper.mdx +++ b/fern/providers/voiceaiwrapper.mdx @@ -11,7 +11,7 @@ VoiceAIWrapper is the ultimate white-label platform built specifically for Vapi ## Key Benefits - **30-Minute Setup:** - Connect your Vapi API key and instantly sync all assistants, phone numbers, and knowledge bases. No coding required—just paste your credentials and start onboarding clients. + Connect your [Vapi API key](/security-and-privacy/api-keys) and instantly sync all assistants, phone numbers, and knowledge bases. No coding required—just paste your credentials and start onboarding clients. - **Complete White-Labeling:** Your domain, your logo, your colors, your support channels. Clients never see VoiceAIWrapper branding—it's your platform powered by our infrastructure. @@ -31,7 +31,7 @@ VoiceAIWrapper is the ultimate white-label platform built specifically for Vapi ## How It Works 1. **Connect Your Vapi Account:** - Add your Vapi API key and organization ID. VoiceAIWrapper automatically syncs all assistants, phone numbers, and configurations. + Add your [Vapi API key](/security-and-privacy/api-keys) and organization ID. VoiceAIWrapper automatically syncs all assistants, phone numbers, and configurations. 2. **Brand Your Platform:** Upload your logo, connect your domain, and configure your Stripe keys for automated billing under your brand. diff --git a/fern/providers/voicerr.mdx b/fern/providers/voicerr.mdx index f351d4aeb..b33cab224 100644 --- a/fern/providers/voicerr.mdx +++ b/fern/providers/voicerr.mdx @@ -26,7 +26,7 @@ Key pillars: | Voicerr Advantage | What It Means for You | |-------------------|-----------------------| | Instant white-label portal | Launch a branded site, logo, and domain in minutes. | -| Deep Vapi sync | Assistants, numbers, and recordings pulled with one API key. | +| Deep Vapi sync | Assistants, numbers, and recordings pulled with one [API key](/security-and-privacy/api-keys). | | Automated Stripe billing | Invoices, payments, and markup handled for you. | | Growth tools included | Lead Finder, outbound calls, and multi-step workflows. | | Unlimited scale | One flat price whether you serve 1 client or 1000. | @@ -37,7 +37,7 @@ By branding Voicerr you can **whitelabel AI voice agents** for every client whil ## How It Works -1. **Connect Vapi** – Paste your Organization ID and Private Key; Voicerr syncs assistants, numbers, and minutes instantly. +1. **Connect Vapi** – Paste your Organization ID and [Private Key](/security-and-privacy/api-keys); Voicerr syncs assistants, numbers, and minutes instantly. 2. **Brand & price** – Upload your logo, map a custom domain, and create plans with your desired markup. 3. **Onboard clients** – Add clients manually or let them self-sign-up; choose exactly what each client can see or edit. 4. **Scale & automate** – Use Lead Finder to gather prospects, trigger Batch Calling campaigns, and wire everything together with Automation Lab workflows. diff --git a/fern/quickstart/phone.mdx b/fern/quickstart/phone.mdx index 70bd396f3..3a10ea102 100644 --- a/fern/quickstart/phone.mdx +++ b/fern/quickstart/phone.mdx @@ -16,7 +16,7 @@ Vapi makes it easy to build voice agents that can make and receive phone calls. ## Prerequisites - [A Vapi account](https://dashboard.vapi.ai) -- For SDK usage: API key from the Dashboard +- For SDK usage: [Vapi API key](/security-and-privacy/api-keys) from the Dashboard **Using the Vapi CLI?** You can create assistants, manage phone numbers, and make calls directly from your terminal: diff --git a/fern/sdk/mcp-server.mdx b/fern/sdk/mcp-server.mdx index c88e369f3..8631c79bb 100644 --- a/fern/sdk/mcp-server.mdx +++ b/fern/sdk/mcp-server.mdx @@ -30,7 +30,7 @@ This automatically configures Cursor, Windsurf, or VSCode with the Vapi MCP serv - [Get your API key from the Vapi dashboard.](https://dashboard.vapi.ai/org/api-keys) + Follow the [Vapi API key guide](/security-and-privacy/api-keys) to create, view, or copy an API key. Open SettingsDeveloper tab → Edit Config. diff --git a/fern/security-and-privacy/api-keys.mdx b/fern/security-and-privacy/api-keys.mdx new file mode 100644 index 000000000..8eb086313 --- /dev/null +++ b/fern/security-and-privacy/api-keys.mdx @@ -0,0 +1,156 @@ +--- +title: API keys +subtitle: Find and securely use your Vapi public and private API keys. +description: API keys authenticate requests to Vapi. Learn where to find public and private keys, choose the correct type, restrict access, and store each key securely. +slug: security-and-privacy/api-keys +--- + + +Never expose a private API key in browser or mobile app code, logs, screenshots, a source-code repository, or paste it in an agent chat. Store private keys in a server-side secret manager or environment variable. + + +A Vapi API key is a credential that authorizes an application to access your Vapi organization. Use a public API key for supported client-side integrations and a private API key for server-side requests. + +This guide covers API keys issued by Vapi. To connect accounts from model, voice, transcriber, and telephony providers, see [Provider keys](/customization/provider-keys). + +## How it works + +Every API key belongs to one Vapi organization. Choose the key type based on where your application runs, then limit the key to the origins and assistants that need access. + +| Key type | Use it for | Where to store it | +| --- | --- | --- | +| Public API key | Client-side Vapi SDKs and web integrations | Client-side application configuration | +| Private API key | Vapi REST API, server SDKs, and server-side integrations | Server-side secret manager or environment variable | + +## Prerequisites + +- A [Vapi account](https://dashboard.vapi.ai/) +- Access to **API Keys** for your Vapi organization + +## Create an API key + + + + Open the [Dashboard](https://dashboard.vapi.ai/org/api-keys), then select **API Keys**. + + + Complete Dashboard API Keys page with the expanded sidebar and private and public API key sections + + + + + Choose **Private API Keys** for server-side access or **Public API Keys** for client-side SDK access. + + + + In the section for your chosen key type, select **Add Key**. + + + + Enter a descriptive name in **Name**. + + + + For a public key, enter the URLs that may use the key in **Allowed Origins**. In **Allowed Assistants**, select the assistants the key may access. Enable **Transient Assistant** only when the application needs to create calls with [transient assistants](/assistants/concepts/transient-vs-permanent-configurations). + + For example, add `https://app.example.com` for a production web application. + + + Complete New Public API Key form with the expanded Dashboard sidebar, name, allowed origins, allowed assistants, and transient assistant settings + + + + + Select **Create Private Token** or **Create Public Token**. Select **Copy ID** next to the new key, then store the copied value in the appropriate location for that key type. + + + + +Use separate keys for development, staging, and production. Give each key only the access its application needs. + + +## View or copy a key + +Open the [Dashboard](https://dashboard.vapi.ai/org/api-keys), then select **API Keys**. Find the key under **Private API Keys** or **Public API Keys**. + +- Select the eye icon next to the masked key value to view the key. +- Select the copy icon next to the masked key value to copy the key. + +## Use a public API key + +Pass a public API key to the [Vapi Web SDK](/quickstart/web) to start a browser-based voice call with an assistant: + +```typescript +import Vapi from "@vapi-ai/web"; + +const vapi = new Vapi("YOUR_PUBLIC_API_KEY"); +vapi.start("YOUR_ASSISTANT_ID"); +``` + +Replace `YOUR_PUBLIC_API_KEY` and `YOUR_ASSISTANT_ID` with values from your Vapi organization. + + +Public API keys are visible in client-side code. Restrict them to the required origins and assistants. For short-lived or user-specific access, use [JWT authentication](/customization/jwt-authentication). + + +## Test a private API key + +Send a private API key in the `Authorization` header as a bearer token. This request only lists the assistants in your organization and does not modify them: + +```bash +export VAPI_PRIVATE_API_KEY="YOUR_PRIVATE_API_KEY" + +curl https://api.vapi.ai/assistant \ + -H "Authorization: Bearer $VAPI_PRIVATE_API_KEY" +``` + +Replace `YOUR_PRIVATE_API_KEY` with your private API key. Do not add the real value to a script or commit it to version control. + +## Find your organization ID + +Some integrations require your organization ID in addition to an API key. + + + + Open the [Dashboard](https://dashboard.vapi.ai/). Select your organization name in the upper-left corner, then select **Settings**. + + Under **Organization Settings**, select **General Settings**. + + + Complete Dashboard General Settings page with the main and Settings sidebars expanded and organization values blurred + + + + + Locate **Organization ID**, then select **Copy to clipboard**. + + + +## Verify it works + +Run the list-assistants request with a private API key. A successful request returns a JSON list containing the assistant you created. A `401` response means the key is missing, invalid, or unavailable to the organization making the request. + +Confirm that the new key also appears under **Private API Keys** or **Public API Keys** in the Dashboard. + +## Related + + + + Use a public API key in a client-side Vapi integration. + + + Use a private API key with a Vapi server SDK. + + + Connect credentials from supported third-party providers. + + + Authenticate end users without exposing a private API key. + + + Use OAuth to sign in when working interactively with the Vapi CLI. + + + Use SAML or OIDC to manage enterprise team access to the Dashboard. + + diff --git a/fern/static/images/security-and-privacy/api-keys/api-keys-overview-sidebar-redacted.png b/fern/static/images/security-and-privacy/api-keys/api-keys-overview-sidebar-redacted.png new file mode 100644 index 000000000..70e83074a Binary files /dev/null and b/fern/static/images/security-and-privacy/api-keys/api-keys-overview-sidebar-redacted.png differ diff --git a/fern/static/images/security-and-privacy/api-keys/general-settings-sidebar-redacted.png b/fern/static/images/security-and-privacy/api-keys/general-settings-sidebar-redacted.png new file mode 100644 index 000000000..78be8600d Binary files /dev/null and b/fern/static/images/security-and-privacy/api-keys/general-settings-sidebar-redacted.png differ diff --git a/fern/static/images/security-and-privacy/api-keys/new-public-api-key-sidebar.png b/fern/static/images/security-and-privacy/api-keys/new-public-api-key-sidebar.png new file mode 100644 index 000000000..edceb086b Binary files /dev/null and b/fern/static/images/security-and-privacy/api-keys/new-public-api-key-sidebar.png differ diff --git a/fern/workflows/examples/property-management.mdx b/fern/workflows/examples/property-management.mdx index d4f6afc6f..96085558b 100644 --- a/fern/workflows/examples/property-management.mdx +++ b/fern/workflows/examples/property-management.mdx @@ -135,7 +135,7 @@ curl -X POST https://api.vapi.ai/workflow \ -Replace `$VAPI_API_KEY` with your actual API key from the [Vapi Dashboard](https://dashboard.vapi.ai/). Update the phone number in the `transferCall` destination to your actual office number. +Replace `$VAPI_API_KEY` with your [Vapi API key](/security-and-privacy/api-keys). Update the phone number in the `transferCall` destination to your actual office number. Once created, you can retrieve the workflow ID and attach it to a phone number for testing. diff --git a/fern/workflows/quickstart.mdx b/fern/workflows/quickstart.mdx index 6215e7e97..4fe70f116 100644 --- a/fern/workflows/quickstart.mdx +++ b/fern/workflows/quickstart.mdx @@ -32,7 +32,7 @@ Build a simple voice agent using Vapi's visual workflow builder that greets user ## Prerequisites * A [Vapi account](https://dashboard.vapi.ai) -* For SDK usage: API key from the Dashboard +* For SDK usage: [Vapi API key](/security-and-privacy/api-keys) from the Dashboard **Developing with the Vapi CLI?** You can manage workflows and test webhook integrations from your terminal: