Changelog


  1. Azure Region Renamed to swedencentral (from sweden): Azure Speech Services customers using the Sweden data center should now specify swedencentral as your Azure Speech Services region instead of sweden. Update your region in your code and the updated provider keys page > Azure Speech.

  1. Removal of 'gemma-7b-it' from GroqModel Options: The 'gemma-7b-it' model is no longer available when selecting Groq as a model provider. Update your applications to use other valid options provided by the API.

Refer to the GroqModel schema or the vapi dashboard for Groq for a list of supported models.


  1. Azure Speech Transcriber Support: You can now use Azure’s speech-to-text service by specifying AzureSpeechTranscriber as an option for transcriber. This allows you to leverage Azure’s speech to text capabilities when creating or updating your assistant.

Refer to our api docs to learn more.


  1. Use OpenAI Chat Completions in your Assistant: you can now more easily integrate your Assistant with OpenAI’s chat completions sessions by specifying messages (an array of OpenAIMessage objects) and an assistantId (a string). Each OpenAIMessage in turn consists of a content (a string between 1 and 100,000,000 characters) and a role (between assistant, function, user, system, tool). This makes it easier to manage chat sessions associated with a specific assistant. Refer to the ChatDTO, OpenAIMessage schemas in our API docs to learn more.

  2. Update Subscription Email on Billing Page: you can now customize which email address appears on your Vapi invoices through the updated billing page > under payment history. You can specify an email address (in addition through physical address and tax id) - read more in our docs.


  1. Claude Computer Use Tools Available: You can now use Claude computer use tools like BashTool, ComputerTool, and TextEditorTool when building your Vapi assistant. Create these tools with CreateBashToolDTO (enables shell command execution), CreateComputerToolDTO (use desktop functionality with customizable display dimensions using displayWidthPx, displayHeightPx), and CreateTextEditorToolDTO (text editing operations), respectively.

Refer to our API docs to learn more about how to use Claude computer use tools.


  1. Improved Tavus Video Processing Error Messages: Your call endedReason now includes detailed error messages for pipeline-error-tavus-video-failed. Use this to detect and manage scenarios where the Tavus video processing pipeline fails during a call.

  1. OAuth 2 Authentication for Custom LLM Models and Webhooks: In addition to (AuthZ)[https://www.okta.com/identity-101/authentication-vs-authorization/], you can now now authenticate users accessing your custom LLMs and server urls (aka webhooks) using OAuth2 (RFC 6749). Use the authenticationSession dictionary which contains an accessToken and expiresAt datetime to authenticate further requests to your custom LLM or server URL.

For example, create a webhook credential with CreateCustomLLMCredentialDTO with the following payload:

1{
2 "provider": "custom-llm",
3 "apiKey": "your-api-key-max-10000-characters",
4 "authenticationPlan": {
5 "type": "oauth2",
6 "url": "https://your-url.com/your/path/token",
7 "clientId": "your-client-id",
8 "clientSecret": "your-client-secret"
9 },
10 "name": "your-credential-name-between-1-and-40-characters"
11}

This returns a CustomLLMCredential object as follows:

Refer to the `CustomLLMCredential` schema for more information

This can be used to authenticate successive requests to your custom LLM or server URL.


  1. OAuth2 Support for Custom LLM Credentials and Webhooks: You can now authorize access to your custom LLMs and server urls (aka webhooks) using OAuth2 (RFC 6749).

For example, create a webhook credential with CreateWebhookCredentialDTO with the following payload:

1{
2 "provider": "webhook",
3 "authenticationPlan": {
4 "type": "oauth2",
5 "url": "https://your-url.com/your/path/token",
6 "clientId": "your-client-id",
7 "clientSecret": "your-client-secret"
8 },
9 "name": "your-credential-name-between-1-and-40-characters"
10}

This returns a WebhookCredential object as follows:

Refer to the `WebhookCredential` schema for more information
  1. Removal of Canonical Knowledge Base: The ability to create, update, and use canoncial knowledge bases in your assistant has been removed from the API(as custom knowledge bases and the Trieve integration supports as superset of this functionality). Please update your implementations as endpoints and models referencing canoncial knowledge base schemas are no longer available.

  1. New xAI and Inflection AI models: You can now set Assistant.model to use XAI (e.g., model grok-beta) or Inflection AI (e.g., model inflection_3_pi) by specifying these providers in your assistant configuration. Specify these providers in assistant.model, call.squad.members.assistant.model, or call.squad.members.assistantOverrides.model.

  2. Integrate Existing Trieve Vector Stores in Your Knowledge Base: When you create a knowledge base with POST /knowledge-base, you can now specify vectorStoreProviderId to use an existing vector store from your Trieve account.

  3. Create Vector Stores with Uploaded Files: You can first upload files using the POST /files endpoint, and then use the fileIds to specify the IDs of previously uploaded files to create a new Trieve vector store. You can customize how your files are ingested, chunked, then rebalanced to ensure correct knowledge is served by your assistant:

  • Split delimiters: Specify splitDelimiters to control how files are split before chunking (default is [.!?\n]).
  • Splits per chunk: Set targetSplitsPerChunk to specify the desired number of splits per chunk when creating a vector store (default is 20 splits per chunk).
  • Chunk rebalancing: Set rebalanceChunks to true to evenly distribute remainder splits across chunks when creating a vector store to ensure balanced chunk sizes; for example, 66 splits with targetSplitsPerChunk of 20 will result in 3 chunks with 22 splits each.
  1. Customize Search Heuristics: You can filter or remove search results from your knowledge base:
  • Filter by Score threshold: Set scoreThreshold to filter out chunks during searches based on their score. For cosine similarity, chunks below the threshold are filtered out; for other distance metrics, chunks above the threshold are filtered.
  • Remove stop words: Set removeStopWords to true to remove stop words during searches. The stop words list is specified in server/src/stop-words.txt, and queries that are entirely stop words will still be preserved.
  1. Updated Analytics Endpoint: The /analytics endpoint has changed—use GET /analytics to retrieve analytics data instead of POST /analytics.

  1. Extended Silence Timeout for Assistants: You can now set silenceTimeoutSeconds up to 3600 seconds (previously 600 seconds) when creating or updating assistants and assistant overrides. This allows for longer periods of silence before an assistant session times out.

  2. New Credits Purchase Option: You can now purchase credits to your subscription by navigating to the updated billing page. Specify the dollar amount of your credits in the credits field to complete the purchase.

Navigate to the updated billing page to buy credits: https://dashboard.vapi.ai/org/billing/credits