Changelog


  1. Updated Log Endpoints: Both the GET /logs and DELETE /logs endpoints have been simplified by removing the orgId parameter.

  2. Updated Log Schema: The following fields in the Log schema are no longer required: requestDurationSeconds, requestStartedAt, requestFinishedAt, requestBody, requestHttpMethod, requestUrl, requestPath, and responseHttpCode.


End Call Message Support in ClientInboundMessage: Developers can now programmatically end a call by sending an end-call message type within ClientInboundMessage. To use this feature, include a message with the type property set to "end-call" when sending inbound messages to the client.


  1. Integration of Smallest AI Voices: Assistants can now utilize voices from Smallest AI by setting the voice provider to Assistant.voice[provider="smallest-ai"], allowing selection from a variety of 25 preset voices and customization of voice attributes.

  2. Support for DeepSeek Language Models: Developers can now configure assistants to use DeepSeek LLMs by setting the Assistant.model[provider="deep-seek"] and Assistant.model[model="deepseek-chat"]. You can also specify custom credentials by passing the following payload:

1{
2 "credentials": [
3 {
4 "provider": "deep-seek",
5 "apiKey": "YOUR_API_KEY",
6 "name": "YOUR_CREDENTIAL_NAME"
7 }
8 ],
9 "model": {
10 "provider": "deep-seek",
11 "model": "deepseek-chat"
12 }
13}
  1. Additional Call Ended Reasons for DeepSeek and Cerebras: New Call.endedReason have been added to handle specific DeepSeek and Cerebras call termination scenarios, allowing developers to better manage error handling.

  2. New API Endpoint to Delete Logs: A new DELETE /logs endpoint has been added, enabling developers to programmatically delete logs and manage log data.

  3. Enhanced Call Transfer Options with SIP Verb: You can now specify a sipVerb when defining a TransferPlan with Assistant.model.tools[type=transferCall].destinations[type=sip].transferPlan giving you the ability to specify the SIP verb (refer or bye) used during call transfers for greater control over call flow.

  4. Azure Credentials and Blob Storage Support: You can now configure Azure credentials with support for AzureCredential.service[service=blob_storage] service and use AzureBlobStorageBucketPlan withAzureCredential.bucketPlan, enabling you to store call artifacts directly in Azure Blob Storage.

  5. Add Authentication Support for Azure OpenAI API Management with the ‘Ocp-Apim-Subscription-Key’ Header: When configuring Azure OpenAI credentials, you can now include the AzureOpenAICredential.ocpApimSubscriptionKey to authenticate with Azure’s OpenAI services for the API Management proxy in place of an API Key.

  6. New CloudflareR2BucketPlan: You can now use CloudflareR2BucketPlan to configure storage with Cloudflare R2 buckets, enabling you to store call artifacts directly.

  7. Enhanced Credential Support: It is now simpler to configure provider credentials in Assistant.credentials. Additionally, credentials can be overridden with AssistantOverride.credentials enables granular credential management per assistant. Our backend improvements add type safety and autocompletion for all supported credential types in the SDKs, making it easier to configure and maintain credentials for the following providers:

  • S3Credential
  • GcpCredential
  • XAiCredential
  • GroqCredential
  • LmntCredential
  • MakeCredential
  • AzureCredential
  • TavusCredential
  • GladiaCredential
  • GoogleCredential
  • OpenAICredential
  • PlayHTCredential
  • RimeAICredential
  • RunpodCredential
  • TrieveCredential
  • TwilioCredential
  • VonageCredential
  • WebhookCredential
  • AnyscaleCredential
  • CartesiaCredential
  • DeepgramCredential
  • LangfuseCredential
  • CerebrasCredential
  • DeepSeekCredential
  • AnthropicCredential
  • CustomLLMCredential
  • DeepInfraCredential
  • SmallestAICredential
  • AssemblyAICredential
  • CloudflareCredential
  • ElevenLabsCredential
  • OpenRouterCredential
  • TogetherAICredential
  • AzureOpenAICredential
  • ByoSipTrunkCredential
  • GoHighLevelCredential
  • InflectionAICredential
  • PerplexityAICredential
  1. Specify Type When Updating Tools, Blocks, Phone Numbers, and Knowledge Bases: You should now specify the type in the request body when updating tools, blocks, phone numbers, or knowledge bases using the appropriate payload for each type. Specifying the type now provides type safety and autocompletion in the SDKs. Refer to the schemas to see the expected payload for the following types:
  • UpdateBashToolDTO
  • UpdateComputerToolDTO
  • UpdateDtmfToolDTO
  • UpdateEndCallToolDTO
  • UpdateFunctionToolDTO
  • UpdateGhlToolDTO
  • UpdateMakeToolDTO
  • UpdateOutputToolDTO
  • UpdateTextEditorToolDTO
  • UpdateTransferCallToolDTO
  • BashToolWithToolCall
  • ComputerToolWithToolCall
  • TextEditorToolWithToolCall
  • UpdateToolCallBlockDTO
  • UpdateWorkflowBlockDTO
  • UpdateConversationBlockDTO
  • UpdateByoPhoneNumberDTO
  • UpdateTwilioPhoneNumberDTO
  • UpdateVonagePhoneNumberDTO
  • UpdateVapiPhoneNumberDTO
  • UpdateCustomKnowledgeBaseDTO
  • UpdateTrieveKnowledgeBaseDTO

New Gemini 2.0 Models, Realtime Updates, and Configuration Options

  1. New Gemini 2.0 Models: You can now use two new models in Assistant.model[model='GoogleModel']: gemini-2.0-flash-exp and gemini-2.0-flash-realtime-exp, which give you access to the latest real-time capabilities and experimental features.

  2. Support for Real-time Configuration with Gemini 2.0 Models: Developers can now fine-tune real-time settings for the Gemini 2.0 Multimodal Live API using Assistant.model[model='GoogleModel'].realtimeConfig, enabling more control over text generation and speech output.

  3. Customize Speech Output for Gemini Multimodal Live APIs: You can now customize the assistant’s voice using the speechConfig and voiceConfig properties, with options like "Puck", "Charon", and more.

  4. Advanced Gemini Text Generation Parameters: You can also tune advanced hyperparameters such as topK, topP, presencePenalty, and frequencyPenalty to control how the assistant generates responses, leading to more natural and dynamic conversations.


  1. New Transfer Plan Mode Added: You can now include call summaries in the SIP header during blind transfers without assistant involvement with blind-transfer-add-summary-to-sip-header (a new TransferPlan.mode option). Doing so will make ServerMessageStatusUpdate include a summary when the call status is forwarding - which means you can access call summaries for real-time display or logging purposes in your SIP calls.

  2. Azure Speech Transcription Support: You can now specify a new property called AzureSpeechTranscriber.language in Azure’s Speech-to-Text service to improve the accuracy of processing spoken input.

  3. New Groq Model Available: You can now use 'llama-3.3-70b-versatile' in GroqModel.model.

New Groq Model

  1. Addition of AzureSpeechTranscriber: You can now configure assistants to use Azure’s speech transcription service by setting AzureSpeechTranscriber.provider to azure. Additionally, you will receive azure transcriber errors like pipeline-error-azure-speech-transcriber-failed in Call.endReason, ServerMessageEndOfCallReport.endReason, and ServerMessageStatusUpdate.endReason.

  2. Combined serverUrl and serverUrlSecret into server Property: The serverUrl and serverUrlSecret properties have been replaced by a new server property in multiple schemas. This lets you configure webhook endpoints using the server object, allowing for more detailed and flexible setup, including URL and authentication, in a single place. These schemas include:

  • ByoPhoneNumber
  • BuyPhoneNumberDTO
  • CreateByoPhoneNumberDTO
  • CreateOrgDTO
  • CreateTwilioPhoneNumberDTO
  • CreateVapiPhoneNumberDTO
  • CreateVonagePhoneNumberDTO
  • ImportTwilioPhoneNumberDTO
  • ImportVonagePhoneNumberDTO
  • Org
  • OrgWithOrgUser
  • TwilioPhoneNumber
  • UpdateOrgDTO
  • UpdatePhoneNumberDTO
  • VapiPhoneNumber
  • VonagePhoneNumber
  1. Introduction of New OpenAI Models: You can now use o1-preview, o1-preview-2024-09-12, o1-mini, and o1-mini-2024-09-12. in OpenAIModel.model.

  2. Introduction of ‘sonic’ Voice Models in Voice Schemas: You can now use sonic and sonic-preview models in CartesiaVoice.model and FallbackCartesiaVoice.model configurations.

  3. Removal of Deprecated GroqModel Models: The models llama3-groq-8b-8192-tool-use-preview and llama3-groq-70b-8192-tool-use-preview have been removed from GroqModel.model. You should switch to supported models to avoid any disruptions.


Expanded Voice Compatibility with Realtime Models: You can use the voices ash, ballad, coral, sage, and verse with any realtime models, giving you more flexibility in voice synthesis options.

Access to New OpenAI Models: You can now specify the new models gpt-4o-realtime-preview-2024-12-17 and gpt-4o-mini-realtime-preview-2024-12-17 when configuring OpenAIModel.model and OpenAIModel.fallbackModels.

New ElevenLabs Voice Models Available: The new voice models eleven_flash_v2 and eleven_flash_v2_5 are now available for use in ElevenLabsVoice and FallbackElevenLabsVoice, offering potential improvements in voice performance.


  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.

Built with