From fa2acd602eb2770e7790f51c606b16eaa50c8d55 Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 25 Jul 2025 01:58:08 +0000 Subject: [PATCH] Update API specifications with fern api update --- fern/apis/api/openapi.json | 1619 +++++++++++++++++++++++++++++++----- 1 file changed, 1398 insertions(+), 221 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index b2d3aeee..3046db64 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -6375,38 +6375,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 }, @@ -8082,38 +8077,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 }, @@ -14339,6 +14329,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -14777,6 +14771,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 +15501,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -15812,7 +15817,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 +18575,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 +20450,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 +22143,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": { @@ -22815,6 +23025,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -22936,7 +23150,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 +23188,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -23288,7 +23512,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" } } } @@ -23604,6 +23829,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -23725,7 +23954,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 +23992,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -24077,7 +24316,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" } } } @@ -24432,6 +24672,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -24744,7 +24988,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 +25490,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 +25505,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 +28499,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -28373,7 +28624,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 +28662,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -28725,7 +28986,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" } } } @@ -29101,6 +29363,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -29222,7 +29488,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 +29526,12 @@ "transfer-destination-request", "transfer-update", "user-interrupted", - "voice-input" + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted" ] } }, @@ -29574,7 +29850,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" } } } @@ -31196,7 +31473,10 @@ "type": "string", "enum": [ "POST", - "GET" + "GET", + "PUT", + "PATCH", + "DELETE" ] }, "timeoutSeconds": { @@ -32756,7 +33036,10 @@ "type": "string", "enum": [ "POST", - "GET" + "GET", + "PUT", + "PATCH", + "DELETE" ] }, "timeoutSeconds": { @@ -33135,7 +33418,10 @@ "type": "string", "enum": [ "POST", - "GET" + "GET", + "PUT", + "PATCH", + "DELETE" ] }, "timeoutSeconds": { @@ -34470,6 +34756,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -34782,7 +35072,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 +35350,10 @@ { "$ref": "#/components/schemas/InworldVoice", "title": "InworldVoice" + }, + { + "$ref": "#/components/schemas/MinimaxVoice", + "title": "MinimaxVoice" } ] }, @@ -35371,7 +35666,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" } } } @@ -42423,7 +42719,8 @@ "smallest-ai", "tavus", "sesame", - "inworld" + "inworld", + "minimax" ] }, "providerId": { @@ -42536,7 +42833,8 @@ "smallest-ai", "tavus", "sesame", - "inworld" + "inworld", + "minimax" ], "items": { "type": "string", @@ -42556,7 +42854,8 @@ "smallest-ai", "tavus", "sesame", - "inworld" + "inworld", + "minimax" ] } } @@ -43871,72 +44170,477 @@ "input" ] }, - "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" - } - ] - } - }, - "required": [ - "message" - ] - }, - "ServerMessageAssistantRequest": { + "ClientMessageChatCreated": { + "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. \"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/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 created.", + "allOf": [ + { + "$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/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. \"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": [ + "type", + "chat" + ] + }, + "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 +44921,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 +44936,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 +46106,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 +46121,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 +47001,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 +47524,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 +47607,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 +47644,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 +47686,7 @@ ] }, "chat": { - "description": "This is the chat object.", + "description": "This is the chat that was created.", "allOf": [ { "$ref": "#/components/schemas/Chat" @@ -46511,10 +47695,11 @@ } }, "required": [ - "type" + "type", + "chat" ] }, - "ServerMessageLanguageChangeDetected": { + "ServerMessageChatDeleted": { "type": "object", "properties": { "phoneNumber": { @@ -46544,9 +47729,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 +47771,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 +47814,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 +47863,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 +47907,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 +47956,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 +48000,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 +48048,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 +48140,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" } ] }