From 9e416a380445f7f0b8c2f2a07744b300f44559f2 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sun, 3 Aug 2025 02:09:20 +0000 Subject: [PATCH] Update API specifications with fern api update --- fern/apis/api/openapi.json | 1840 +++++++++++++++++++++++++++++------- 1 file changed, 1505 insertions(+), 335 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index b2d3aeee..e3680bef 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -6279,6 +6279,10 @@ "type": "string", "description": "This is the packet capture url for the call. This is only available for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`." }, + "logUrl": { + "type": "string", + "description": "This is the url for the call logs. This includes all logging output during the call for debugging purposes." + }, "nodes": { "description": "This is the history of workflow nodes that were executed during the call.", "type": "array", @@ -6375,38 +6379,33 @@ "maximum": 1, "example": 0.4 }, - "enableUniversalStreamingApi": { - "type": "boolean", - "description": "Uses Assembly AI's new Universal Streaming API. See: https://www.assemblyai.com/docs/speech-to-text/universal-streaming\n\n@default false", - "example": false - }, "formatTurns": { "type": "boolean", - "description": "This enables formatting of transcripts. Only used when `enableUniversalStreamingApi` is true.\n\n@default false", - "example": false + "description": "This enables formatting of transcripts.\n\n@default true", + "example": true }, "endOfTurnConfidenceThreshold": { "type": "number", - "description": "The confidence threshold to use when determining if the end of a turn has been reached. Only used when `enableUniversalStreamingApi` is true.\n\n@default 0.7", + "description": "This is the end of turn confidence threshold. The minimum confidence that the end of turn is detected.\n\n@min 0\n@max 1\n@default 0.7", "minimum": 0, "maximum": 1, "example": 0.7 }, "minEndOfTurnSilenceWhenConfident": { "type": "number", - "description": "The minimum amount of silence in milliseconds required to detect end of turn when confident. Only used when `enableUniversalStreamingApi` is true.\n\n@default 160", + "description": "This is the minimum end of turn silence when confident in milliseconds.\n\n@default 160", "minimum": 0, "example": 160 }, "wordFinalizationMaxWaitTime": { "type": "number", - "description": "The maximum wait time for word finalization. Only used when `enableUniversalStreamingApi` is true.\n\n@default 160", + "description": "This is the maximum wait time for word finalization in milliseconds.\n\n@default 160", "minimum": 0, "example": 160 }, "maxTurnSilence": { "type": "number", - "description": "The maximum amount of silence in milliseconds allowed in a turn before end of turn is triggered. Only used when `enableUniversalStreamingApi` is true.\n\n@default 400", + "description": "This is the maximum turn silence time in milliseconds.\n\n@default 400", "minimum": 0, "example": 400 }, @@ -6617,7 +6616,7 @@ "minimum": 100, "maximum": 5000 }, - "segmentationMaxTimeMs": { + "segmentationMaximumTimeMs": { "type": "number", "description": "Maximum duration a segment can reach before being cut off when using time-based segmentation.", "minimum": 20000, @@ -7363,6 +7362,35 @@ "provider" ] }, + "GladiaCustomVocabularyConfigDTO": { + "type": "object", + "properties": { + "vocabulary": { + "type": "array", + "description": "Array of vocabulary items (strings or objects with value, pronunciations, intensity, language)", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/GladiaVocabularyItemDTO" + } + ] + } + }, + "defaultIntensity": { + "type": "number", + "minimum": 0, + "maximum": 1, + "description": "Default intensity for vocabulary items (0.0 to 1.0)", + "default": 0.5 + } + }, + "required": [ + "vocabulary" + ] + }, "GladiaTranscriber": { "type": "object", "properties": { @@ -7631,6 +7659,33 @@ "maximum": 1, "example": 0.4 }, + "endpointing": { + "type": "number", + "minimum": 0.01, + "maximum": 10, + "example": 0.05, + "description": "Endpointing time in seconds - time to wait before considering speech ended" + }, + "speechThreshold": { + "type": "number", + "minimum": 0, + "maximum": 1, + "example": 0.6, + "description": "Speech threshold - sensitivity configuration for speech detection (0.0 to 1.0)" + }, + "customVocabularyEnabled": { + "type": "boolean", + "example": false, + "description": "Enable custom vocabulary for improved accuracy" + }, + "customVocabularyConfig": { + "description": "Custom vocabulary configuration", + "allOf": [ + { + "$ref": "#/components/schemas/GladiaCustomVocabularyConfigDTO" + } + ] + }, "fallbackPlan": { "description": "This is the plan for voice provider fallbacks in the event that the primary voice provider fails.", "allOf": [ @@ -7888,14 +7943,10 @@ "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", - "gemini-2.5-pro-preview-05-06", - "gemini-2.5-flash-preview-05-20", - "gemini-2.5-flash-preview-04-17", "gemini-2.0-flash-thinking-exp", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash", "gemini-2.0-flash-lite", - "gemini-2.0-flash-lite-preview-02-05", "gemini-2.0-flash-exp", "gemini-2.0-flash-realtime-exp", "gemini-1.5-flash", @@ -8082,38 +8133,33 @@ "maximum": 1, "example": 0.4 }, - "enableUniversalStreamingApi": { - "type": "boolean", - "description": "Uses Assembly AI's new Universal Streaming API. See: https://www.assemblyai.com/docs/speech-to-text/universal-streaming\n\n@default false", - "example": false - }, "formatTurns": { "type": "boolean", - "description": "This enables formatting of transcripts. Only used when `enableUniversalStreamingApi` is true.\n\n@default false", - "example": false + "description": "This enables formatting of transcripts.\n\n@default true", + "example": true }, "endOfTurnConfidenceThreshold": { "type": "number", - "description": "The confidence threshold to use when determining if the end of a turn has been reached. Only used when `enableUniversalStreamingApi` is true.\n\n@default 0.7", + "description": "This is the end of turn confidence threshold. The minimum confidence that the end of turn is detected.\n\n@min 0\n@max 1\n@default 0.7", "minimum": 0, "maximum": 1, "example": 0.7 }, "minEndOfTurnSilenceWhenConfident": { "type": "number", - "description": "The minimum amount of silence in milliseconds required to detect end of turn when confident. Only used when `enableUniversalStreamingApi` is true.\n\n@default 160", + "description": "This is the minimum end of turn silence when confident in milliseconds.\n\n@default 160", "minimum": 0, "example": 160 }, "wordFinalizationMaxWaitTime": { "type": "number", - "description": "The maximum wait time for word finalization. Only used when `enableUniversalStreamingApi` is true.\n\n@default 160", + "description": "This is the maximum wait time for word finalization in milliseconds.\n\n@default 160", "minimum": 0, "example": 160 }, "maxTurnSilence": { "type": "number", - "description": "The maximum amount of silence in milliseconds allowed in a turn before end of turn is triggered. Only used when `enableUniversalStreamingApi` is true.\n\n@default 400", + "description": "This is the maximum turn silence time in milliseconds.\n\n@default 400", "minimum": 0, "example": 400 }, @@ -8316,7 +8362,7 @@ "minimum": 100, "maximum": 5000 }, - "segmentationMaxTimeMs": { + "segmentationMaximumTimeMs": { "type": "number", "description": "Maximum duration a segment can reach before being cut off when using time-based segmentation.", "minimum": 20000, @@ -8961,6 +9007,35 @@ "provider" ] }, + "GladiaVocabularyItemDTO": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The vocabulary word or phrase" + }, + "pronunciations": { + "description": "Alternative pronunciations for the vocabulary item", + "type": "array", + "items": { + "type": "string" + } + }, + "intensity": { + "type": "number", + "minimum": 0, + "maximum": 1, + "description": "Intensity for this specific vocabulary item (0.0 to 1.0)" + }, + "language": { + "type": "string", + "description": "Language code for this vocabulary item (ISO 639-1)" + } + }, + "required": [ + "value" + ] + }, "FallbackGladiaTranscriber": { "type": "object", "properties": { @@ -9228,6 +9303,33 @@ "minimum": 0, "maximum": 1, "example": 0.4 + }, + "endpointing": { + "type": "number", + "minimum": 0.01, + "maximum": 10, + "example": 0.05, + "description": "Endpointing time in seconds - time to wait before considering speech ended" + }, + "speechThreshold": { + "type": "number", + "minimum": 0, + "maximum": 1, + "example": 0.6, + "description": "Speech threshold - sensitivity configuration for speech detection (0.0 to 1.0)" + }, + "customVocabularyEnabled": { + "type": "boolean", + "example": false, + "description": "Enable custom vocabulary for improved accuracy" + }, + "customVocabularyConfig": { + "description": "Custom vocabulary configuration", + "allOf": [ + { + "$ref": "#/components/schemas/GladiaCustomVocabularyConfigDTO" + } + ] } }, "required": [ @@ -9462,14 +9564,10 @@ "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", - "gemini-2.5-pro-preview-05-06", - "gemini-2.5-flash-preview-05-20", - "gemini-2.5-flash-preview-04-17", "gemini-2.0-flash-thinking-exp", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash", "gemini-2.0-flash-lite", - "gemini-2.0-flash-lite-preview-02-05", "gemini-2.0-flash-exp", "gemini-2.0-flash-realtime-exp", "gemini-1.5-flash", @@ -10903,14 +11001,10 @@ "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", - "gemini-2.5-pro-preview-05-06", - "gemini-2.5-flash-preview-05-20", - "gemini-2.5-flash-preview-04-17", "gemini-2.0-flash-thinking-exp", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash", "gemini-2.0-flash-lite", - "gemini-2.0-flash-lite-preview-02-05", "gemini-2.0-flash-exp", "gemini-2.0-flash-realtime-exp", "gemini-1.5-flash", @@ -12536,14 +12630,10 @@ "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", - "gemini-2.5-pro-preview-05-06", - "gemini-2.5-flash-preview-05-20", - "gemini-2.5-flash-preview-04-17", "gemini-2.0-flash-thinking-exp", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash", "gemini-2.0-flash-lite", - "gemini-2.0-flash-lite-preview-02-05", "gemini-2.0-flash-exp", "gemini-2.0-flash-realtime-exp", "gemini-1.5-flash", @@ -14044,14 +14134,10 @@ "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", - "gemini-2.5-pro-preview-05-06", - "gemini-2.5-flash-preview-05-20", - "gemini-2.5-flash-preview-04-17", "gemini-2.0-flash-thinking-exp", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash", "gemini-2.0-flash-lite", - "gemini-2.0-flash-lite-preview-02-05", "gemini-2.0-flash-exp", "gemini-2.0-flash-realtime-exp", "gemini-1.5-flash", @@ -14339,6 +14425,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -14777,6 +14867,13 @@ "$ref": "#/components/schemas/SuccessEvaluationPlan" } ] + }, + "outcomeIds": { + "description": "This is an array of outcome UUIDs to be calculated during analysis.\nThe outcomes will be calculated and stored in `call.analysis.outcomes`.", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -15500,6 +15597,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -15812,7 +15913,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -18569,6 +18671,97 @@ "voiceId" ] }, + "MinimaxVoice": { + "type": "object", + "properties": { + "cachingEnabled": { + "type": "boolean", + "description": "This is the flag to toggle voice caching for the assistant.", + "example": true, + "default": true + }, + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "minimax" + ] + }, + "voiceId": { + "type": "string", + "description": "This is the provider-specific ID that will be used. Use a voice from MINIMAX_PREDEFINED_VOICES or a custom cloned voice ID.", + "title": "This is the Minimax Voice ID" + }, + "model": { + "type": "string", + "description": "This is the model that will be used. Options are 'speech-02-hd' and 'speech-02-turbo'.\nspeech-02-hd is optimized for high-fidelity applications like voiceovers and audiobooks.\nspeech-02-turbo is designed for real-time applications with low latency.\n\n@default \"speech-02-turbo\"", + "enum": [ + "speech-02-hd", + "speech-02-turbo" + ], + "example": "speech-02-turbo", + "default": "speech-02-turbo" + }, + "emotion": { + "type": "string", + "description": "The emotion to use for the voice. If not provided, will use auto-detect mode.\nOptions include: 'happy', 'sad', 'angry', 'fearful', 'surprised', 'disgusted', 'neutral'", + "example": "happy" + }, + "pitch": { + "type": "number", + "description": "Voice pitch adjustment. Range from -12 to 12 semitones.\n@default 0", + "minimum": -12, + "maximum": 12, + "example": 0, + "default": 0 + }, + "speed": { + "type": "number", + "description": "Voice speed adjustment. Range from 0.5 to 2.0.\n@default 1.0", + "minimum": 0.5, + "maximum": 2, + "example": 1, + "default": 1 + }, + "volume": { + "type": "number", + "description": "Voice volume adjustment. Range from 0.5 to 2.0.\n@default 1.0", + "minimum": 0.5, + "maximum": 2, + "example": 1, + "default": 1 + }, + "region": { + "type": "string", + "description": "The region for Minimax API. Defaults to \"worldwide\".", + "enum": [ + "worldwide", + "china" + ], + "default": "worldwide" + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + }, + "fallbackPlan": { + "description": "This is the plan for voice provider fallbacks in the event that the primary voice provider fails.", + "allOf": [ + { + "$ref": "#/components/schemas/FallbackPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, "FallbackAzureVoice": { "type": "object", "properties": { @@ -20353,6 +20546,89 @@ "voiceId" ] }, + "FallbackMinimaxVoice": { + "type": "object", + "properties": { + "cachingEnabled": { + "type": "boolean", + "description": "This is the flag to toggle voice caching for the assistant.", + "example": true, + "default": true + }, + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "minimax" + ] + }, + "voiceId": { + "type": "string", + "description": "This is the provider-specific ID that will be used. Use a voice from MINIMAX_PREDEFINED_VOICES or a custom cloned voice ID.", + "title": "This is the Minimax Voice ID" + }, + "model": { + "type": "string", + "description": "This is the model that will be used. Options are 'speech-02-hd' and 'speech-02-turbo'.\nspeech-02-hd is optimized for high-fidelity applications like voiceovers and audiobooks.\nspeech-02-turbo is designed for real-time applications with low latency.\n\n@default \"speech-02-turbo\"", + "enum": [ + "speech-02-hd", + "speech-02-turbo" + ], + "example": "speech-02-turbo", + "default": "speech-02-turbo" + }, + "emotion": { + "type": "string", + "description": "The emotion to use for the voice. If not provided, will use auto-detect mode.\nOptions include: 'happy', 'sad', 'angry', 'fearful', 'surprised', 'disgusted', 'neutral'", + "example": "happy" + }, + "pitch": { + "type": "number", + "description": "Voice pitch adjustment. Range from -12 to 12 semitones.\n@default 0", + "minimum": -12, + "maximum": 12, + "example": 0, + "default": 0 + }, + "speed": { + "type": "number", + "description": "Voice speed adjustment. Range from 0.5 to 2.0.\n@default 1.0", + "minimum": 0.5, + "maximum": 2, + "example": 1, + "default": 1 + }, + "volume": { + "type": "number", + "description": "Voice volume adjustment. Range from 0.5 to 2.0.\n@default 1.0", + "minimum": 0.5, + "maximum": 2, + "example": 1, + "default": 1 + }, + "region": { + "type": "string", + "description": "The region for Minimax API. Defaults to \"worldwide\".", + "enum": [ + "worldwide", + "china" + ], + "default": "worldwide" + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, "TransportConfigurationTwilio": { "type": "object", "properties": { @@ -21963,6 +22239,36 @@ "authorizationId" ] }, + "CreateMinimaxCredentialDTO": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "minimax" + ] + }, + "apiKey": { + "type": "string", + "description": "This is not returned in the API." + }, + "groupId": { + "type": "string", + "description": "This is the Minimax Group ID." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + } + }, + "required": [ + "provider", + "apiKey", + "groupId" + ] + }, "TransferHookAction": { "type": "object", "properties": { @@ -22602,40 +22908,6 @@ "provider" ] }, - "MessagePlan": { - "type": "object", - "properties": { - "idleMessages": { - "description": "This are the messages that the assistant will speak when the user hasn't responded for `idleTimeoutSeconds`. Each time the timeout is triggered, a random message will be chosen from this array.\n\nUsage:\n- If user gets distracted and doesn't respond for a while, this can be used to grab their attention.\n- If the transcriber doesn't pick up what the user said, this can be used to ask the user to repeat themselves. (From the perspective of the assistant, the conversation is idle since it didn't \"hear\" any user messages.)\n\n@default null (no idle message is spoken)", - "type": "array", - "items": { - "type": "string", - "maxLength": 1000 - } - }, - "idleMessageMaxSpokenCount": { - "type": "number", - "description": "This determines the maximum number of times `idleMessages` can be spoken during the call.\n\n@default 3", - "minimum": 1, - "maximum": 10 - }, - "idleMessageResetCountOnUserSpeechEnabled": { - "type": "boolean", - "description": "This determines whether the idle message count is reset whenever the user speaks.\n\n@default false" - }, - "idleTimeoutSeconds": { - "type": "number", - "description": "This is the timeout in seconds before a message from `idleMessages` is spoken. The clock starts when the assistant finishes speaking and remains active until the user speaks.\n\n@default 10", - "minimum": 5, - "maximum": 60 - }, - "silenceTimeoutMessage": { - "type": "string", - "description": "This is the message that the assistant will say if the call ends due to silence.\n\nIf unspecified, it will hang up without saying anything.", - "maxLength": 1000 - } - } - }, "CreateAssistantDTO": { "type": "object", "properties": { @@ -22815,6 +23087,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -22936,7 +23212,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ], "example": [ "conversation-update", @@ -22969,7 +23250,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -22998,12 +23284,6 @@ } ] }, - "backgroundDenoisingEnabled": { - "type": "boolean", - "description": "This enables filtering of noise and background speech while the user is talking.\n\nDefault `false` while in beta.\n\n@default false", - "deprecated": true, - "example": false - }, "modelOutputInMessagesEnabled": { "type": "boolean", "description": "This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\nDefault `false` while in beta.\n\n@default false", @@ -23288,7 +23568,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -23372,15 +23653,6 @@ } ] }, - "messagePlan": { - "description": "This is the plan for static predefined messages that can be spoken by the assistant during the call, like `idleMessages`.", - "deprecated": true, - "allOf": [ - { - "$ref": "#/components/schemas/MessagePlan" - } - ] - }, "startSpeakingPlan": { "description": "This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", "allOf": [ @@ -23604,6 +23876,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -23725,7 +24001,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ], "example": [ "conversation-update", @@ -23758,7 +24039,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -23787,12 +24073,6 @@ } ] }, - "backgroundDenoisingEnabled": { - "type": "boolean", - "description": "This enables filtering of noise and background speech while the user is talking.\n\nDefault `false` while in beta.\n\n@default false", - "deprecated": true, - "example": false - }, "modelOutputInMessagesEnabled": { "type": "boolean", "description": "This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\nDefault `false` while in beta.\n\n@default false", @@ -24077,7 +24357,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -24165,15 +24446,6 @@ } ] }, - "messagePlan": { - "description": "This is the plan for static predefined messages that can be spoken by the assistant during the call, like `idleMessages`.", - "deprecated": true, - "allOf": [ - { - "$ref": "#/components/schemas/MessagePlan" - } - ] - }, "startSpeakingPlan": { "description": "This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", "allOf": [ @@ -24432,6 +24704,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -24744,7 +25020,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -25245,6 +25522,7 @@ "pipeline-error-hume-voice-failed", "pipeline-error-sesame-voice-failed", "pipeline-error-inworld-voice-failed", + "pipeline-error-minimax-voice-failed", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", @@ -25259,6 +25537,7 @@ "call.in-progress.error-vapifault-hume-voice-failed", "call.in-progress.error-vapifault-sesame-voice-failed", "call.in-progress.error-vapifault-inworld-voice-failed", + "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", @@ -28252,6 +28531,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -28373,7 +28656,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ], "example": [ "conversation-update", @@ -28406,7 +28694,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -28435,12 +28728,6 @@ } ] }, - "backgroundDenoisingEnabled": { - "type": "boolean", - "description": "This enables filtering of noise and background speech while the user is talking.\n\nDefault `false` while in beta.\n\n@default false", - "deprecated": true, - "example": false - }, "modelOutputInMessagesEnabled": { "type": "boolean", "description": "This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\nDefault `false` while in beta.\n\n@default false", @@ -28725,7 +29012,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -28809,15 +29097,6 @@ } ] }, - "messagePlan": { - "description": "This is the plan for static predefined messages that can be spoken by the assistant during the call, like `idleMessages`.", - "deprecated": true, - "allOf": [ - { - "$ref": "#/components/schemas/MessagePlan" - } - ] - }, "startSpeakingPlan": { "description": "This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", "allOf": [ @@ -29101,6 +29380,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -29222,7 +29505,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ], "example": [ "conversation-update", @@ -29255,7 +29543,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -29284,12 +29577,6 @@ } ] }, - "backgroundDenoisingEnabled": { - "type": "boolean", - "description": "This enables filtering of noise and background speech while the user is talking.\n\nDefault `false` while in beta.\n\n@default false", - "deprecated": true, - "example": false - }, "modelOutputInMessagesEnabled": { "type": "boolean", "description": "This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\nDefault `false` while in beta.\n\n@default false", @@ -29574,7 +29861,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -29658,15 +29946,6 @@ } ] }, - "messagePlan": { - "description": "This is the plan for static predefined messages that can be spoken by the assistant during the call, like `idleMessages`.", - "deprecated": true, - "allOf": [ - { - "$ref": "#/components/schemas/MessagePlan" - } - ] - }, "startSpeakingPlan": { "description": "This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", "allOf": [ @@ -31196,7 +31475,10 @@ "type": "string", "enum": [ "POST", - "GET" + "GET", + "PUT", + "PATCH", + "DELETE" ] }, "timeoutSeconds": { @@ -32756,7 +33038,10 @@ "type": "string", "enum": [ "POST", - "GET" + "GET", + "PUT", + "PATCH", + "DELETE" ] }, "timeoutSeconds": { @@ -33135,7 +33420,10 @@ "type": "string", "enum": [ "POST", - "GET" + "GET", + "PUT", + "PATCH", + "DELETE" ] }, "timeoutSeconds": { @@ -34470,6 +34758,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -34782,7 +35074,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -35059,6 +35352,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -35371,7 +35668,8 @@ "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", "slack.oauth2-authorization": "#/components/schemas/CreateSlackOAuth2AuthorizationCredentialDTO", "ghl.oauth2-authorization": "#/components/schemas/CreateGoHighLevelMCPCredentialDTO", - "inworld": "#/components/schemas/CreateInworldCredentialDTO" + "inworld": "#/components/schemas/CreateInworldCredentialDTO", + "minimax": "#/components/schemas/CreateMinimaxCredentialDTO" } } } @@ -37048,6 +37346,26 @@ "pciCommonPaperAgreementId": { "type": "string", "description": "This is the ID for the Common Paper agreement outlining the PCI contract." + }, + "callRetentionDays": { + "type": "number", + "description": "This is the call retention days for the subscription." + }, + "chatRetentionDays": { + "type": "number", + "description": "This is the chat retention days for the subscription." + }, + "minutesIncludedResetFrequency": { + "type": "string", + "description": "This is the minutes_included reset frequency for the subscription.", + "enum": [ + "monthly", + "annually" + ] + }, + "rbacEnabled": { + "type": "boolean", + "description": "This is the Role Based Access Control (RBAC) enabled flag for the subscription." } }, "required": [ @@ -37062,23 +37380,6 @@ "concurrencyLimitPurchased" ] }, - "OrgPlan": { - "type": "object", - "properties": { - "includedProviders": { - "type": "array", - "items": { - "type": "object" - } - }, - "includedMinutes": { - "type": "number" - }, - "costPerOverageMinute": { - "type": "number" - } - } - }, "Org": { "type": "object", "properties": { @@ -37108,10 +37409,6 @@ "type": "string", "description": "This is the ISO 8601 date-time string of when the org was last updated." }, - "stripeCustomerId": { - "type": "string", - "description": "This is the Stripe customer for the org." - }, "stripeSubscriptionId": { "type": "string", "description": "This is the subscription for the org." @@ -37129,14 +37426,6 @@ "type": "string", "description": "This is the subscription's status." }, - "plan": { - "description": "This is the plan for the org.", - "allOf": [ - { - "$ref": "#/components/schemas/OrgPlan" - } - ] - }, "jwtSecret": { "type": "string", "description": "This is the secret key used for signing JWT tokens for the org." @@ -42423,7 +42712,8 @@ "smallest-ai", "tavus", "sesame", - "inworld" + "inworld", + "minimax" ] }, "providerId": { @@ -42536,7 +42826,8 @@ "smallest-ai", "tavus", "sesame", - "inworld" + "inworld", + "minimax" ], "items": { "type": "string", @@ -42556,7 +42847,8 @@ "smallest-ai", "tavus", "sesame", - "inworld" + "inworld", + "minimax" ] } } @@ -43871,72 +44163,477 @@ "input" ] }, - "ClientMessage": { + "ClientMessageChatCreated": { "type": "object", "properties": { - "message": { - "description": "These are all the messages that can be sent to the client-side SDKs during the call. Configure the messages you'd like to receive in `assistant.clientMessages`.", + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", "oneOf": [ { - "$ref": "#/components/schemas/ClientMessageWorkflowNodeStarted", - "title": "WorkflowNodeStarted" + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageConversationUpdate", - "title": "ConversationUpdate" + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageHang", - "title": "Hang" + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageMetadata", - "title": "Metadata" + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageModelOutput", - "title": "ModelOutput" - }, + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"chat.created\" is sent when a new chat is created.", + "enum": [ + "chat.created" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ { - "$ref": "#/components/schemas/ClientMessageSpeechUpdate", - "title": "SpeechUpdate" - }, + "$ref": "#/components/schemas/Call" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ { - "$ref": "#/components/schemas/ClientMessageTranscript", - "title": "Transcript" - }, + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ { - "$ref": "#/components/schemas/ClientMessageToolCalls", - "title": "ToolCalls" - }, + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "chat": { + "description": "This is the chat that was created.", + "allOf": [ { - "$ref": "#/components/schemas/ClientMessageToolCallsResult", - "title": "ToolCallsResult" + "$ref": "#/components/schemas/Chat" + } + ] + } + }, + "required": [ + "type", + "chat" + ] + }, + "ClientMessageChatDeleted": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageTransferUpdate", - "title": "TransferUpdate" + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageUserInterrupted", - "title": "UserInterrupted" + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageLanguageChangeDetected", - "title": "LanguageChangeDetected" + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" }, { - "$ref": "#/components/schemas/ClientMessageVoiceInput", - "title": "VoiceInput" + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"chat.deleted\" is sent when a chat is deleted.", + "enum": [ + "chat.deleted" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "chat": { + "description": "This is the chat that was deleted.", + "allOf": [ + { + "$ref": "#/components/schemas/Chat" } ] } }, "required": [ - "message" + "type", + "chat" ] }, - "ServerMessageAssistantRequest": { + "ClientMessageSessionCreated": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"session.created\" is sent when a new session is created.", + "enum": [ + "session.created" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "session": { + "description": "This is the session that was created.", + "allOf": [ + { + "$ref": "#/components/schemas/Session" + } + ] + } + }, + "required": [ + "type", + "session" + ] + }, + "ClientMessageSessionUpdated": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"session.updated\" is sent when a session is updated.", + "enum": [ + "session.updated" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "session": { + "description": "This is the session that was updated.", + "allOf": [ + { + "$ref": "#/components/schemas/Session" + } + ] + } + }, + "required": [ + "type", + "session" + ] + }, + "ClientMessageSessionDeleted": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"session.deleted\" is sent when a session is deleted.", + "enum": [ + "session.deleted" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "session": { + "description": "This is the session that was deleted.", + "allOf": [ + { + "$ref": "#/components/schemas/Session" + } + ] + } + }, + "required": [ + "type", + "session" + ] + }, + "ClientMessage": { + "type": "object", + "properties": { + "message": { + "description": "These are all the messages that can be sent to the client-side SDKs during the call. Configure the messages you'd like to receive in `assistant.clientMessages`.", + "oneOf": [ + { + "$ref": "#/components/schemas/ClientMessageWorkflowNodeStarted", + "title": "WorkflowNodeStarted" + }, + { + "$ref": "#/components/schemas/ClientMessageConversationUpdate", + "title": "ConversationUpdate" + }, + { + "$ref": "#/components/schemas/ClientMessageHang", + "title": "Hang" + }, + { + "$ref": "#/components/schemas/ClientMessageMetadata", + "title": "Metadata" + }, + { + "$ref": "#/components/schemas/ClientMessageModelOutput", + "title": "ModelOutput" + }, + { + "$ref": "#/components/schemas/ClientMessageSpeechUpdate", + "title": "SpeechUpdate" + }, + { + "$ref": "#/components/schemas/ClientMessageTranscript", + "title": "Transcript" + }, + { + "$ref": "#/components/schemas/ClientMessageToolCalls", + "title": "ToolCalls" + }, + { + "$ref": "#/components/schemas/ClientMessageToolCallsResult", + "title": "ToolCallsResult" + }, + { + "$ref": "#/components/schemas/ClientMessageTransferUpdate", + "title": "TransferUpdate" + }, + { + "$ref": "#/components/schemas/ClientMessageUserInterrupted", + "title": "UserInterrupted" + }, + { + "$ref": "#/components/schemas/ClientMessageLanguageChangeDetected", + "title": "LanguageChangeDetected" + }, + { + "$ref": "#/components/schemas/ClientMessageVoiceInput", + "title": "VoiceInput" + }, + { + "$ref": "#/components/schemas/ClientMessageChatCreated", + "title": "ChatCreated" + }, + { + "$ref": "#/components/schemas/ClientMessageChatDeleted", + "title": "ChatDeleted" + }, + { + "$ref": "#/components/schemas/ClientMessageSessionCreated", + "title": "SessionCreated" + }, + { + "$ref": "#/components/schemas/ClientMessageSessionUpdated", + "title": "SessionUpdated" + }, + { + "$ref": "#/components/schemas/ClientMessageSessionDeleted", + "title": "SessionDeleted" + } + ] + } + }, + "required": [ + "message" + ] + }, + "ServerMessageAssistantRequest": { "type": "object", "properties": { "phoneNumber": { @@ -44217,6 +44914,7 @@ "pipeline-error-hume-voice-failed", "pipeline-error-sesame-voice-failed", "pipeline-error-inworld-voice-failed", + "pipeline-error-minimax-voice-failed", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", @@ -44231,6 +44929,7 @@ "call.in-progress.error-vapifault-hume-voice-failed", "call.in-progress.error-vapifault-sesame-voice-failed", "call.in-progress.error-vapifault-inworld-voice-failed", + "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", @@ -45400,6 +46099,7 @@ "pipeline-error-hume-voice-failed", "pipeline-error-sesame-voice-failed", "pipeline-error-inworld-voice-failed", + "pipeline-error-minimax-voice-failed", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", @@ -45414,6 +46114,7 @@ "call.in-progress.error-vapifault-hume-voice-failed", "call.in-progress.error-vapifault-sesame-voice-failed", "call.in-progress.error-vapifault-inworld-voice-failed", + "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", @@ -46293,36 +46994,500 @@ } ] }, - "toAssistant": { - "description": "This is the assistant that the call is being transferred to. This is only sent if `destination.type` is \"assistant\".", + "toAssistant": { + "description": "This is the assistant that the call is being transferred to. This is only sent if `destination.type` is \"assistant\".", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "fromAssistant": { + "description": "This is the assistant that the call is being transferred from. This is only sent if `destination.type` is \"assistant\".", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "toStepRecord": { + "type": "object", + "description": "This is the step that the conversation moved to." + }, + "fromStepRecord": { + "type": "object", + "description": "This is the step that the conversation moved from. =" + } + }, + "required": [ + "type" + ] + }, + "ServerMessageTranscript": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"transcript\" is sent as transcriber outputs partial or final transcript.", + "enum": [ + "transcript", + "transcript[transcriptType=\"final\"]" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "artifact": { + "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.", + "allOf": [ + { + "$ref": "#/components/schemas/Artifact" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "chat": { + "description": "This is the chat object.", + "allOf": [ + { + "$ref": "#/components/schemas/Chat" + } + ] + }, + "role": { + "type": "string", + "description": "This is the role for which the transcript is for.", + "enum": [ + "assistant", + "user" + ] + }, + "transcriptType": { + "type": "string", + "description": "This is the type of the transcript.", + "enum": [ + "partial", + "final" + ] + }, + "transcript": { + "type": "string", + "description": "This is the transcript content." + } + }, + "required": [ + "type", + "role", + "transcriptType", + "transcript" + ] + }, + "ServerMessageUserInterrupted": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"user-interrupted\" is sent when the user interrupts the assistant.", + "enum": [ + "user-interrupted" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "artifact": { + "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.", + "allOf": [ + { + "$ref": "#/components/schemas/Artifact" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "chat": { + "description": "This is the chat object.", + "allOf": [ + { + "$ref": "#/components/schemas/Chat" + } + ] + } + }, + "required": [ + "type" + ] + }, + "ServerMessageLanguageChangeDetected": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"language-change-detected\" is sent when the transcriber is automatically switched based on the detected language.", + "enum": [ + "language-change-detected" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "artifact": { + "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.", + "allOf": [ + { + "$ref": "#/components/schemas/Artifact" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "chat": { + "description": "This is the chat object.", + "allOf": [ + { + "$ref": "#/components/schemas/Chat" + } + ] + }, + "language": { + "type": "string", + "description": "This is the language the transcriber is switched to." + } + }, + "required": [ + "type", + "language" + ] + }, + "ServerMessageVoiceInput": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"voice-input\" is sent when a generation is requested from voice provider.", + "enum": [ + "voice-input" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "artifact": { + "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.", + "allOf": [ + { + "$ref": "#/components/schemas/Artifact" + } + ] + }, + "assistant": { + "description": "This is the assistant that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateAssistantDTO" + } + ] + }, + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] + }, + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "chat": { + "description": "This is the chat object.", + "allOf": [ + { + "$ref": "#/components/schemas/Chat" + } + ] + }, + "input": { + "type": "string", + "description": "This is the voice input content" + } + }, + "required": [ + "type", + "input" + ] + }, + "ServerMessageVoiceRequest": { + "type": "object", + "properties": { + "phoneNumber": { + "description": "This is the phone number that the message is associated with.", + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", + "title": "TelnyxPhoneNumber" + } + ] + }, + "type": { + "type": "string", + "description": "This is the type of the message. \"voice-request\" is sent when using `assistant.voice={ \"type\": \"custom-voice\" }`.\n\nHere is what the request will look like:\n\nPOST https://{assistant.voice.server.url}\nContent-Type: application/json\n\n{\n \"messsage\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nThe expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```", + "enum": [ + "voice-request" + ] + }, + "timestamp": { + "type": "number", + "description": "This is the timestamp of the message." + }, + "artifact": { + "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.", "allOf": [ { - "$ref": "#/components/schemas/CreateAssistantDTO" + "$ref": "#/components/schemas/Artifact" } ] }, - "fromAssistant": { - "description": "This is the assistant that the call is being transferred from. This is only sent if `destination.type` is \"assistant\".", + "assistant": { + "description": "This is the assistant that the message is associated with.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" } ] }, - "toStepRecord": { - "type": "object", - "description": "This is the step that the conversation moved to." + "customer": { + "description": "This is the customer that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/CreateCustomerDTO" + } + ] }, - "fromStepRecord": { - "type": "object", - "description": "This is the step that the conversation moved from. =" + "call": { + "description": "This is the call that the message is associated with.", + "allOf": [ + { + "$ref": "#/components/schemas/Call" + } + ] + }, + "chat": { + "description": "This is the chat object.", + "allOf": [ + { + "$ref": "#/components/schemas/Chat" + } + ] + }, + "text": { + "type": "string", + "description": "This is the text to be synthesized." + }, + "sampleRate": { + "type": "number", + "description": "This is the sample rate to be synthesized." } }, "required": [ - "type" + "type", + "text", + "sampleRate" ] }, - "ServerMessageTranscript": { + "ServerMessageCallEndpointingRequest": { "type": "object", "properties": { "phoneNumber": { @@ -46352,12 +47517,46 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"transcript\" is sent as transcriber outputs partial or final transcript.", + "description": "This is the type of the message. \"call.endpointing.request\" is sent when using `assistant.startSpeakingPlan.smartEndpointingPlan={ \"provider\": \"custom-endpointing-model\" }`.\n\nHere is what the request will look like:\n\nPOST https://{assistant.startSpeakingPlan.smartEndpointingPlan.server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"call.endpointing.request\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"message\": \"Hello, how are you?\",\n \"time\": 1234567890,\n \"secondsFromStart\": 0\n }\n ],\n ...other metadata about the call...\n }\n}\n\nThe expected response:\n{\n \"timeoutSeconds\": 0.5\n}", "enum": [ - "transcript", - "transcript[transcriptType=\"final\"]" + "call.endpointing.request" ] }, + "messages": { + "type": "array", + "description": "This is the conversation history at the time of the endpointing request.", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserMessage", + "title": "UserMessage" + }, + { + "$ref": "#/components/schemas/SystemMessage", + "title": "SystemMessage" + }, + { + "$ref": "#/components/schemas/BotMessage", + "title": "BotMessage" + }, + { + "$ref": "#/components/schemas/ToolCallMessage", + "title": "ToolCallMessage" + }, + { + "$ref": "#/components/schemas/ToolCallResultMessage", + "title": "ToolCallResultMessage" + } + ] + } + }, + "messagesOpenAIFormatted": { + "description": "This is just `messages` formatted for OpenAI.", + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenAIMessage" + } + }, "timestamp": { "type": "number", "description": "This is the timestamp of the message." @@ -46401,36 +47600,14 @@ "$ref": "#/components/schemas/Chat" } ] - }, - "role": { - "type": "string", - "description": "This is the role for which the transcript is for.", - "enum": [ - "assistant", - "user" - ] - }, - "transcriptType": { - "type": "string", - "description": "This is the type of the transcript.", - "enum": [ - "partial", - "final" - ] - }, - "transcript": { - "type": "string", - "description": "This is the transcript content." } }, "required": [ "type", - "role", - "transcriptType", - "transcript" + "messagesOpenAIFormatted" ] }, - "ServerMessageUserInterrupted": { + "ServerMessageChatCreated": { "type": "object", "properties": { "phoneNumber": { @@ -46460,9 +47637,9 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"user-interrupted\" is sent when the user interrupts the assistant.", + "description": "This is the type of the message. \"chat.created\" is sent when a new chat is created.", "enum": [ - "user-interrupted" + "chat.created" ] }, "timestamp": { @@ -46502,7 +47679,7 @@ ] }, "chat": { - "description": "This is the chat object.", + "description": "This is the chat that was created.", "allOf": [ { "$ref": "#/components/schemas/Chat" @@ -46511,10 +47688,11 @@ } }, "required": [ - "type" + "type", + "chat" ] }, - "ServerMessageLanguageChangeDetected": { + "ServerMessageChatDeleted": { "type": "object", "properties": { "phoneNumber": { @@ -46544,9 +47722,9 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"language-change-detected\" is sent when the transcriber is automatically switched based on the detected language.", + "description": "This is the type of the message. \"chat.deleted\" is sent when a chat is deleted.", "enum": [ - "language-change-detected" + "chat.deleted" ] }, "timestamp": { @@ -46586,24 +47764,20 @@ ] }, "chat": { - "description": "This is the chat object.", + "description": "This is the chat that was deleted.", "allOf": [ { "$ref": "#/components/schemas/Chat" } ] - }, - "language": { - "type": "string", - "description": "This is the language the transcriber is switched to." } }, "required": [ "type", - "language" + "chat" ] }, - "ServerMessageVoiceInput": { + "ServerMessageSessionCreated": { "type": "object", "properties": { "phoneNumber": { @@ -46633,9 +47807,9 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"voice-input\" is sent when a generation is requested from voice provider.", + "description": "This is the type of the message. \"session.created\" is sent when a new session is created.", "enum": [ - "voice-input" + "session.created" ] }, "timestamp": { @@ -46682,17 +47856,21 @@ } ] }, - "input": { - "type": "string", - "description": "This is the voice input content" + "session": { + "description": "This is the session that was created.", + "allOf": [ + { + "$ref": "#/components/schemas/Session" + } + ] } }, "required": [ "type", - "input" + "session" ] }, - "ServerMessageVoiceRequest": { + "ServerMessageSessionUpdated": { "type": "object", "properties": { "phoneNumber": { @@ -46722,9 +47900,9 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"voice-request\" is sent when using `assistant.voice={ \"type\": \"custom-voice\" }`.\n\nHere is what the request will look like:\n\nPOST https://{assistant.voice.server.url}\nContent-Type: application/json\n\n{\n \"messsage\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nThe expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```", + "description": "This is the type of the message. \"session.updated\" is sent when a session is updated.", "enum": [ - "voice-request" + "session.updated" ] }, "timestamp": { @@ -46771,22 +47949,21 @@ } ] }, - "text": { - "type": "string", - "description": "This is the text to be synthesized." - }, - "sampleRate": { - "type": "number", - "description": "This is the sample rate to be synthesized." + "session": { + "description": "This is the session that was updated.", + "allOf": [ + { + "$ref": "#/components/schemas/Session" + } + ] } }, "required": [ "type", - "text", - "sampleRate" + "session" ] }, - "ServerMessageCallEndpointingRequest": { + "ServerMessageSessionDeleted": { "type": "object", "properties": { "phoneNumber": { @@ -46816,46 +47993,11 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"call.endpointing.request\" is sent when using `assistant.startSpeakingPlan.smartEndpointingPlan={ \"provider\": \"custom-endpointing-model\" }`.\n\nHere is what the request will look like:\n\nPOST https://{assistant.startSpeakingPlan.smartEndpointingPlan.server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"call.endpointing.request\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"message\": \"Hello, how are you?\",\n \"time\": 1234567890,\n \"secondsFromStart\": 0\n }\n ],\n ...other metadata about the call...\n }\n}\n\nThe expected response:\n{\n \"timeoutSeconds\": 0.5\n}", + "description": "This is the type of the message. \"session.deleted\" is sent when a session is deleted.", "enum": [ - "call.endpointing.request" + "session.deleted" ] }, - "messages": { - "type": "array", - "description": "This is the conversation history at the time of the endpointing request.", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/UserMessage", - "title": "UserMessage" - }, - { - "$ref": "#/components/schemas/SystemMessage", - "title": "SystemMessage" - }, - { - "$ref": "#/components/schemas/BotMessage", - "title": "BotMessage" - }, - { - "$ref": "#/components/schemas/ToolCallMessage", - "title": "ToolCallMessage" - }, - { - "$ref": "#/components/schemas/ToolCallResultMessage", - "title": "ToolCallResultMessage" - } - ] - } - }, - "messagesOpenAIFormatted": { - "description": "This is just `messages` formatted for OpenAI.", - "type": "array", - "items": { - "$ref": "#/components/schemas/OpenAIMessage" - } - }, "timestamp": { "type": "number", "description": "This is the timestamp of the message." @@ -46899,11 +48041,19 @@ "$ref": "#/components/schemas/Chat" } ] + }, + "session": { + "description": "This is the session that was deleted.", + "allOf": [ + { + "$ref": "#/components/schemas/Session" + } + ] } }, "required": [ "type", - "messagesOpenAIFormatted" + "session" ] }, "ServerMessage": { @@ -46983,6 +48133,26 @@ { "$ref": "#/components/schemas/ServerMessageCallEndpointingRequest", "title": "CallEndpointingRequest" + }, + { + "$ref": "#/components/schemas/ServerMessageChatCreated", + "title": "ChatCreated" + }, + { + "$ref": "#/components/schemas/ServerMessageChatDeleted", + "title": "ChatDeleted" + }, + { + "$ref": "#/components/schemas/ServerMessageSessionCreated", + "title": "SessionCreated" + }, + { + "$ref": "#/components/schemas/ServerMessageSessionUpdated", + "title": "SessionUpdated" + }, + { + "$ref": "#/components/schemas/ServerMessageSessionDeleted", + "title": "SessionDeleted" } ] }