Skip to main content
Deepgram's Docs

Search documentation

Type to search this documentation.

AsyncAPI JSON

{"asyncapi":"2.6.0","info":,"channels":{"/v1/agent/converse":{"description":"Build a conversational voice agent using Deepgram's Voice Agent WebSocket","bindings":{"ws":{"headers":{"type":"object","properties":{"Authorization":}}}},"publish":{"operationId":"subpackage_agent/v1.agent.v1-publish","summary":"Server messages","message":{"oneOf":[,,,,,,,,,,,,,,,,,,,]}},"subscribe":{"operationId":"subpackage_agent/v1.agent.v1-subscribe","summary":"Client messages","message":{"oneOf":[,,,,,,,,,,]}}},"/v1/listen":{"description":"Transcribe audio and video using Deepgram's speech-to-text WebSocket","bindings":{"ws":{"query":{"type":"object","properties":{"callback":,"callback_method":,"channels":,"detect_entities":,"diarize":,"diarize_model":,"dictation":,"encoding":,"endpointing":,"extra":,"interim_results":,"keyterm":,"keywords":,"language":,"mip_opt_out":,"model":,"multichannel":,"numerals":,"profanity_filter":,"punctuate":,"redact":,"replace":,"sample_rate":,"search":,"smart_format":,"tag":,"utterance_end_ms":,"vad_events":,"version":}},"headers":{"type":"object","properties":{"Authorization":}}}},"publish":{"operationId":"subpackage_listen/v1.listen.v1-publish","summary":"Server messages","message":{"oneOf":[,,,]}},"subscribe":{"operationId":"subpackage_listen/v1.listen.v1-subscribe","summary":"Client messages","message":{"oneOf":[,,,]}}},"/v2/listen":{"description":"Real-time conversational speech recognition with contextual turn detection\nfor natural voice conversations\n","bindings":{"ws":{"query":{"type":"object","properties":{"model":,"encoding":,"sample_rate":,"eager_eot_threshold":,"eot_threshold":,"eot_timeout_ms":,"keyterm":,"language_hint":,"profanity_filter":,"numerals":,"redact":,"mip_opt_out":,"tag":}},"headers":{"type":"object","properties":{"Authorization":}}}},"publish":{"operationId":"subpackage_listen/v2.listen.v2-publish","summary":"Server messages","message":{"oneOf":[,,,,,]}},"subscribe":{"operationId":"subpackage_listen/v2.listen.v2-subscribe","summary":"Client messages","message":{"oneOf":[,,,]}}},"/v1/speak":{"description":"Convert text into natural-sounding speech using Deepgram's TTS WebSocket","bindings":{"ws":{"query":{"type":"object","properties":{"encoding":,"mip_opt_out":,"model":,"sample_rate":,"speed":}},"headers":{"type":"object","properties":{"Authorization":}}}},"publish":{"operationId":"subpackage_speak/v1.speak.v1-publish","summary":"Server messages","message":{"oneOf":[,,,,]}},"subscribe":{"operationId":"subpackage_speak/v1.speak.v1-subscribe","summary":"Client messages","message":{"oneOf":[,,,]}}},"/v2/speak":{"description":"Streaming, turn-based text-to-speech (Flux TTS) built for voice-agent\npipelines. Stream LLM tokens in, speak them to the user, and report\nper-turn billing and timing.\n","bindings":{"ws":{"query":{"type":"object","properties":{"model":,"encoding":,"sample_rate":,"speed":,"expressivity":,"mip_opt_out":,"tag":}},"headers":{"type":"object","properties":{"Authorization":}}}},"publish":{"operationId":"subpackage_speak/v2.speak.v2-publish","summary":"Server messages","message":{"oneOf":[,,,,,,,,,,]}},"subscribe":{"operationId":"subpackage_speak/v2.speak.v2-subscribe","summary":"Client messages","message":{"oneOf":[,,,,]}}}},"servers":{"Production":},"components":{"messages":{"subpackage_agent/v1.agent.v1-server-0-AgentV1ListenUpdated":{"name":"AgentV1ListenUpdated","title":"AgentV1ListenUpdated","description":"Receive listen update from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-1-AgentV1ThinkUpdated":{"name":"AgentV1ThinkUpdated","title":"AgentV1ThinkUpdated","description":"Receive think update from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-2-AgentV1ReceiveFunctionCallResponse":{"name":"AgentV1ReceiveFunctionCallResponse","title":"AgentV1ReceiveFunctionCallResponse","description":"Receive a function call response from the server after the server\nhas executed a server-side function call internally. This occurs\nwhen functions are marked with client_side: false.\n","payload":},"subpackage_agent/v1.agent.v1-server-3-AgentV1PromptUpdated":{"name":"AgentV1PromptUpdated","title":"AgentV1PromptUpdated","description":"Receive prompt update from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-4-AgentV1SpeakUpdated":{"name":"AgentV1SpeakUpdated","title":"AgentV1SpeakUpdated","description":"Receive speak update from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-5-AgentV1InjectionRefused":{"name":"AgentV1InjectionRefused","title":"AgentV1InjectionRefused","description":"Receive injection refused message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-6-AgentV1Welcome":{"name":"AgentV1Welcome","title":"AgentV1Welcome","description":"Receive welcome message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-7-AgentV1SettingsApplied":{"name":"AgentV1SettingsApplied","title":"AgentV1SettingsApplied","description":"Receive settings applied message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-8-AgentV1ConversationText":{"name":"AgentV1ConversationText","title":"AgentV1ConversationText","description":"Receive conversation text from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-9-AgentV1UserStartedSpeaking":{"name":"AgentV1UserStartedSpeaking","title":"AgentV1UserStartedSpeaking","description":"Receive user started speaking message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-10-AgentV1AgentThinking":{"name":"AgentV1AgentThinking","title":"AgentV1AgentThinking","description":"Receive agent thinking message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-11-AgentV1LatencyReport":{"name":"AgentV1LatencyReport","title":"AgentV1LatencyReport","description":"Receive a latency report from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-12-AgentV1FunctionCallRequest":{"name":"AgentV1FunctionCallRequest","title":"AgentV1FunctionCallRequest","description":"Receive function call request from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-13-AgentV1FunctionCallCancelled":{"name":"AgentV1FunctionCallCancelled","title":"AgentV1FunctionCallCancelled","description":"Receive notice that a function call you already received was cancelled because the user started speaking again","payload":},"subpackage_agent/v1.agent.v1-server-14-AgentV1AgentStartedSpeaking":{"name":"AgentV1AgentStartedSpeaking","title":"AgentV1AgentStartedSpeaking","description":"Receive agent started speaking message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-15-AgentV1AgentAudioDone":{"name":"AgentV1AgentAudioDone","title":"AgentV1AgentAudioDone","description":"Receive agent audio done message from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-16-AgentV1Error":{"name":"AgentV1Error","title":"AgentV1Error","description":"Receive error response from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-17-AgentV1Warning":{"name":"AgentV1Warning","title":"AgentV1Warning","description":"Receive warning messages from Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-server-18-AgentV1History":{"name":"AgentV1History","title":"AgentV1History","description":"Receive a conversation history message from Deepgram's Voice Agent API. Each message is either a conversation text (with role and content) or a function call record (with function_calls array).","payload":},"subpackage_agent/v1.agent.v1-server-19-AgentV1Audio":{"name":"AgentV1Audio","title":"AgentV1Audio","description":"Receive raw binary audio data generated by Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-0-AgentV1Settings":{"name":"AgentV1Settings","title":"AgentV1Settings","description":"Send settings configuration to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-1-AgentV1UpdateListen":{"name":"AgentV1UpdateListen","title":"AgentV1UpdateListen","description":"Send update listen to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-2-AgentV1UpdateThink":{"name":"AgentV1UpdateThink","title":"AgentV1UpdateThink","description":"Send update think to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-3-AgentV1UpdateSpeak":{"name":"AgentV1UpdateSpeak","title":"AgentV1UpdateSpeak","description":"Send update speak to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-4-AgentV1InjectUserMessage":{"name":"AgentV1InjectUserMessage","title":"AgentV1InjectUserMessage","description":"Send inject user message to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-5-AgentV1InjectAgentMessage":{"name":"AgentV1InjectAgentMessage","title":"AgentV1InjectAgentMessage","description":"Send inject agent message to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-6-AgentV1SendFunctionCallResponse":{"name":"AgentV1SendFunctionCallResponse","title":"AgentV1SendFunctionCallResponse","description":"Send a function call response from the client to the server after\nexecuting a client-side function call. This is used when the server\nrequests execution of a function marked with client_side: true.\n","payload":},"subpackage_agent/v1.agent.v1-client-7-AgentV1KeepAlive":{"name":"AgentV1KeepAlive","title":"AgentV1KeepAlive","description":"Send keep alive to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-8-AgentV1UpdatePrompt":{"name":"AgentV1UpdatePrompt","title":"AgentV1UpdatePrompt","description":"Send a prompt update to Deepgram's Voice Agent API","payload":},"subpackage_agent/v1.agent.v1-client-9-AgentV1ForceEndTurn":{"name":"AgentV1ForceEndTurn","title":"AgentV1ForceEndTurn","description":"Send a ForceEndTurn message to immediately end the current user turn","payload":},"subpackage_agent/v1.agent.v1-client-10-AgentV1Media":{"name":"AgentV1Media","title":"AgentV1Media","description":"Send raw binary audio data to Deepgram's Voice Agent API for processing","payload":},"subpackage_listen/v1.listen.v1-server-0-ListenV1Results":{"name":"ListenV1Results","title":"ListenV1Results","description":"Receive transcription results","payload":},"subpackage_listen/v1.listen.v1-server-1-ListenV1Metadata":{"name":"ListenV1Metadata","title":"ListenV1Metadata","description":"Receive metadata about the transcription","payload":},"subpackage_listen/v1.listen.v1-server-2-ListenV1UtteranceEnd":{"name":"ListenV1UtteranceEnd","title":"ListenV1UtteranceEnd","description":"Receive an utterance end event","payload":},"subpackage_listen/v1.listen.v1-server-3-ListenV1SpeechStarted":{"name":"ListenV1SpeechStarted","title":"ListenV1SpeechStarted","description":"Receive a speech started event","payload":},"subpackage_listen/v1.listen.v1-client-0-ListenV1Media":{"name":"ListenV1Media","title":"ListenV1Media","description":"Send audio or video data to be transcribed","payload":},"subpackage_listen/v1.listen.v1-client-1-ListenV1Finalize":{"name":"ListenV1Finalize","title":"ListenV1Finalize","description":"Send a Finalize message to flush the WebSocket stream","payload":},"subpackage_listen/v1.listen.v1-client-2-ListenV1CloseStream":{"name":"ListenV1CloseStream","title":"ListenV1CloseStream","description":"Send a CloseStream message to close the WebSocket stream","payload":},"subpackage_listen/v1.listen.v1-client-3-ListenV1KeepAlive":{"name":"ListenV1KeepAlive","title":"ListenV1KeepAlive","description":"Send a KeepAlive message to keep the WebSocket stream alive","payload":},"subpackage_listen/v2.listen.v2-server-0-ListenV2Connected":{"name":"ListenV2Connected","title":"ListenV2Connected","description":"Receive a connected message","payload":},"subpackage_listen/v2.listen.v2-server-1-ListenV2TurnInfo":{"name":"ListenV2TurnInfo","title":"ListenV2TurnInfo","description":"Receive a turn info message","payload":},"subpackage_listen/v2.listen.v2-server-2-ListenV2ConfigureSuccess":{"name":"ListenV2ConfigureSuccess","title":"ListenV2ConfigureSuccess","description":"Sent when a Configure message was successfully applied. Returns the current, up-to-date values that were applied.","payload":},"subpackage_listen/v2.listen.v2-server-3-ListenV2ConfigureFailure":{"name":"ListenV2ConfigureFailure","title":"ListenV2ConfigureFailure","description":"Indicates that a Configure message was rejected","payload":},"subpackage_listen/v2.listen.v2-server-4-ListenV2Warning":{"name":"ListenV2Warning","title":"ListenV2Warning","description":"Receive a warning; the server keeps the connection open","payload":},"subpackage_listen/v2.listen.v2-server-5-ListenV2FatalError":{"name":"ListenV2FatalError","title":"ListenV2FatalError","description":"Receive a fatal error message","payload":},"subpackage_listen/v2.listen.v2-client-0-ListenV2Media":{"name":"ListenV2Media","title":"ListenV2Media","description":"Send audio or video data to be transcribed","payload":},"subpackage_listen/v2.listen.v2-client-1-ListenV2CloseStream":{"name":"ListenV2CloseStream","title":"ListenV2CloseStream","description":"Send a CloseStream message to close the WebSocket stream","payload":},"subpackage_listen/v2.listen.v2-client-2-ListenV2ForceEndTurn":{"name":"ListenV2ForceEndTurn","title":"ListenV2ForceEndTurn","description":"Send a ForceEndTurn message to immediately end the current turn","payload":},"subpackage_listen/v2.listen.v2-client-3-ListenV2Configure":{"name":"ListenV2Configure","title":"ListenV2Configure","description":"Send a Configure message to update Flux settings","payload":},"subpackage_speak/v1.speak.v1-server-0-SpeakV1Audio":{"name":"SpeakV1Audio","title":"SpeakV1Audio","description":"Receive audio chunks as they are generated","payload":},"subpackage_speak/v1.speak.v1-server-1-SpeakV1Metadata":{"name":"SpeakV1Metadata","title":"SpeakV1Metadata","description":"Receive metadata about the audio generation","payload":},"subpackage_speak/v1.speak.v1-server-2-SpeakV1Flushed":{"name":"SpeakV1Flushed","title":"SpeakV1Flushed","description":"Receive metadata about the audio generation","payload":},"subpackage_speak/v1.speak.v1-server-3-SpeakV1Cleared":{"name":"SpeakV1Cleared","title":"SpeakV1Cleared","description":"Receive metadata about the audio generation","payload":},"subpackage_speak/v1.speak.v1-server-4-SpeakV1Warning":{"name":"SpeakV1Warning","title":"SpeakV1Warning","description":"Receive a warning about the audio generation","payload":},"subpackage_speak/v1.speak.v1-client-0-SpeakV1Text":{"name":"SpeakV1Text","title":"SpeakV1Text","description":"Text to convert to audio","payload":},"subpackage_speak/v1.speak.v1-client-1-SpeakV1Flush":{"name":"SpeakV1Flush","title":"SpeakV1Flush","description":"Flush the buffer and receive the final audio for text sent so far","payload":},"subpackage_speak/v1.speak.v1-client-2-SpeakV1Clear":{"name":"SpeakV1Clear","title":"SpeakV1Clear","description":"Clear the buffer and start a new audio generation. Potentially destructive operation for any text in the buffer","payload":},"subpackage_speak/v1.speak.v1-client-3-SpeakV1Close":{"name":"SpeakV1Close","title":"SpeakV1Close","description":"Flush the buffer and close the connection gracefully after all audio is generated","payload":},"subpackage_speak/v2.speak.v2-server-0-SpeakV2Audio":{"name":"SpeakV2Audio","title":"SpeakV2Audio","description":"Receive audio chunks as they are generated","payload":},"subpackage_speak/v2.speak.v2-server-1-SpeakV2Connected":{"name":"SpeakV2Connected","title":"SpeakV2Connected","description":"Receive a connected message on a successful connection","payload":},"subpackage_speak/v2.speak.v2-server-2-SpeakV2SpeechStarted":{"name":"SpeakV2SpeechStarted","title":"SpeakV2SpeechStarted","description":"Receive a message marking the start of a new turn, carrying the turn's unique identifier","payload":},"subpackage_speak/v2.speak.v2-server-3-SpeakV2SpeechMetadata":{"name":"SpeakV2SpeechMetadata","title":"SpeakV2SpeechMetadata","description":"Receive per-turn billing and timing after a manual Flush","payload":},"subpackage_speak/v2.speak.v2-server-4-SpeakV2SpeechInterrupted":{"name":"SpeakV2SpeechInterrupted","title":"SpeakV2SpeechInterrupted","description":"Receive what the user heard, and the interrupted turn's billing, after an Interrupt","payload":},"subpackage_speak/v2.speak.v2-server-5-SpeakV2Flushed":{"name":"SpeakV2Flushed","title":"SpeakV2Flushed","description":"Receive an echo confirming receipt of a manual Flush","payload":},"subpackage_speak/v2.speak.v2-server-6-SpeakV2SessionMetadata":{"name":"SpeakV2SessionMetadata","title":"SpeakV2SessionMetadata","description":"Receive cumulative session totals before the socket closes","payload":},"subpackage_speak/v2.speak.v2-server-7-SpeakV2ConfigureSuccess":{"name":"SpeakV2ConfigureSuccess","title":"SpeakV2ConfigureSuccess","description":"Receive confirmation that a Configure was accepted and applied, echoing the applied configuration","payload":},"subpackage_speak/v2.speak.v2-server-8-SpeakV2ConfigureFailure":{"name":"SpeakV2ConfigureFailure","title":"SpeakV2ConfigureFailure","description":"Receive notice that a Configure was rejected or failed to apply; the prior configuration is retained","payload":},"subpackage_speak/v2.speak.v2-server-9-SpeakV2Warning":{"name":"SpeakV2Warning","title":"SpeakV2Warning","description":"Receive a warning; synthesis continues and the connection is unaffected","payload":},"subpackage_speak/v2.speak.v2-server-10-SpeakV2Error":{"name":"SpeakV2Error","title":"SpeakV2Error","description":"Receive a fatal error message followed by a WebSocket close","payload":},"subpackage_speak/v2.speak.v2-client-0-SpeakV2Speak":{"name":"SpeakV2Speak","title":"SpeakV2Speak","description":"Send text to be synthesized into the active turn","payload":},"subpackage_speak/v2.speak.v2-client-1-SpeakV2Flush":{"name":"SpeakV2Flush","title":"SpeakV2Flush","description":"End the active turn and generate the remaining audio","payload":},"subpackage_speak/v2.speak.v2-client-2-SpeakV2Interrupt":{"name":"SpeakV2Interrupt","title":"SpeakV2Interrupt","description":"Cancel the active turn because the user barged in","payload":},"subpackage_speak/v2.speak.v2-client-3-SpeakV2Configure":{"name":"SpeakV2Configure","title":"SpeakV2Configure","description":"Update synthesis configuration mid-session","payload":},"subpackage_speak/v2.speak.v2-client-4-SpeakV2Close":{"name":"SpeakV2Close","title":"SpeakV2Close","description":"Gracefully close the connection, draining all remaining and queued audio","payload":}},"schemas":{"AgentV1_AgentV1ListenUpdated":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1ListenUpdated"},"AgentV1_AgentV1ThinkUpdated":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1ThinkUpdated"},"AgentV1_AgentV1ReceiveFunctionCallResponse":{"type":"object","properties":{"type":,"id":,"name":,"content":},"required":["type","name","content"],"description":"Function call response message used bidirectionally:\n\n• Client → Server: Response after client executes a function\n marked as client_side: true\n• Server → Client: Response after server executes a function\n marked as client_side: false\n\nThe same message structure serves both directions, enabling a unified\ninterface for function call responses regardless of execution location.\n","title":"AgentV1_AgentV1ReceiveFunctionCallResponse"},"AgentV1_AgentV1PromptUpdated":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1PromptUpdated"},"AgentV1_AgentV1SpeakUpdated":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1SpeakUpdated"},"AgentV1_AgentV1InjectionRefused":{"type":"object","properties":{"type":,"message":},"required":["type","message"],"title":"AgentV1_AgentV1InjectionRefused"},"AgentV1_AgentV1Welcome":{"type":"object","properties":{"type":,"request_id":},"required":["type","request_id"],"title":"AgentV1_AgentV1Welcome"},"AgentV1_AgentV1SettingsApplied":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1SettingsApplied"},"ChannelsAgentV1MessagesAgentV1ConversationTextRole":,"AgentV1_AgentV1ConversationText":{"type":"object","properties":{"type":,"role":,"content":,"languages_hinted":{"type":"array","items":,"description":"The language hints that were active at the time of the turn. Only present on user-role messages when the listen model is flux-general-multi."},"languages":{"type":"array","items":,"description":"Languages detected in the user's speech, sorted by word count (descending). Only present on user-role messages when the listen model is flux-general-multi."}},"required":["type","role","content"],"title":"AgentV1_AgentV1ConversationText"},"AgentV1_AgentV1UserStartedSpeaking":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1UserStartedSpeaking"},"AgentV1_AgentV1AgentThinking":{"type":"object","properties":{"type":,"content":},"required":["type","content"],"title":"AgentV1_AgentV1AgentThinking"},"AgentV1_AgentV1LatencyReport":{"type":"object","properties":{"type":,"stt_latency":,"ttt_token_latency":,"ttt_text_latency":,"ttt_tool_latency":,"ttt_thinking_latency":,"tts_latency":,"total_latency":},"required":["type"],"title":"AgentV1_AgentV1LatencyReport"},"ChannelsAgentV1MessagesAgentV1FunctionCallRequestFunctionsItems":{"type":"object","properties":{"id":,"name":,"arguments":,"client_side":,"thought_signature":},"required":["id","name","arguments","client_side"],"title":"ChannelsAgentV1MessagesAgentV1FunctionCallRequestFunctionsItems"},"AgentV1_AgentV1FunctionCallRequest":{"type":"object","properties":{"type":,"functions":{"type":"array","items":,"description":"Array of functions to be called"}},"required":["type","functions"],"title":"AgentV1_AgentV1FunctionCallRequest"},"ChannelsAgentV1MessagesAgentV1FunctionCallCancelledFunctionsItems":{"type":"object","properties":{"id":,"name":},"required":["id","name"],"title":"ChannelsAgentV1MessagesAgentV1FunctionCallCancelledFunctionsItems"},"AgentV1_AgentV1FunctionCallCancelled":{"type":"object","properties":{"type":,"functions":{"type":"array","items":,"description":"The function calls that are no longer valid"}},"required":["type","functions"],"title":"AgentV1_AgentV1FunctionCallCancelled"},"AgentV1_AgentV1AgentStartedSpeaking":{"type":"object","properties":{"type":,"total_latency":,"tts_latency":,"ttt_latency":},"required":["type","total_latency","tts_latency","ttt_latency"],"title":"AgentV1_AgentV1AgentStartedSpeaking"},"AgentV1_AgentV1AgentAudioDone":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1AgentAudioDone"},"ChannelsAgentV1MessagesAgentV1ErrorType":,"AgentV1_AgentV1Error":{"type":"object","properties":{"type":,"description":,"code":},"required":["type","description","code"],"title":"AgentV1_AgentV1Error"},"ChannelsAgentV1MessagesAgentV1WarningType":,"AgentV1_AgentV1Warning":{"type":"object","properties":{"type":,"description":,"code":},"required":["type","description","code"],"description":"Notifies the client of non-fatal errors or warnings","title":"AgentV1_AgentV1Warning"},"ChannelsAgentV1MessagesAgentV1HistoryOneOf0Role":,"AgentV1AgentV1History0":{"type":"object","properties":{"type":,"role":,"content":},"required":["type","role","content"],"description":"Conversation text as part of the conversation history","title":"AgentV1AgentV1History0"},"ChannelsAgentV1MessagesAgentV1HistoryOneOf1FunctionCallsItems":{"type":"object","properties":{"id":,"name":,"client_side":,"arguments":,"response":,"thought_signature":},"required":["id","name","client_side","arguments","response"],"title":"ChannelsAgentV1MessagesAgentV1HistoryOneOf1FunctionCallsItems"},"AgentV1AgentV1History1":{"type":"object","properties":{"type":,"function_calls":{"type":"array","items":,"description":"List of function call objects"}},"required":["type","function_calls"],"description":"Client-side or server-side function call request and response as part of the conversation history","title":"AgentV1AgentV1History1"},"AgentV1_AgentV1History":{"oneOf":[,],"description":"A history message is either a conversational message or a function call","title":"AgentV1_AgentV1History"},"AgentV1_AgentV1Audio":,"ChannelsAgentV1MessagesAgentV1SettingsFlags":{"type":"object","properties":{"history":},"title":"ChannelsAgentV1MessagesAgentV1SettingsFlags"},"ChannelsAgentV1MessagesAgentV1SettingsAudioInputEncoding":,"ChannelsAgentV1MessagesAgentV1SettingsAudioInput":{"type":"object","properties":{"encoding":,"sample_rate":},"required":["encoding","sample_rate"],"description":"Audio input configuration settings. If omitted, defaults to encoding=linear16 and sample_rate=24000. Higher sample rates like 44100 Hz provide better audio quality.","title":"ChannelsAgentV1MessagesAgentV1SettingsAudioInput"},"ChannelsAgentV1MessagesAgentV1SettingsAudioOutputEncoding":,"ChannelsAgentV1MessagesAgentV1SettingsAudioOutputContainer":,"ChannelsAgentV1MessagesAgentV1SettingsAudioOutput":{"type":"object","properties":{"encoding":,"sample_rate":,"bitrate":,"container":},"description":"Audio output configuration settings","title":"ChannelsAgentV1MessagesAgentV1SettingsAudioOutput"},"ChannelsAgentV1MessagesAgentV1SettingsAudio":{"type":"object","properties":{"input":,"output":},"title":"ChannelsAgentV1MessagesAgentV1SettingsAudio"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItemsOneOf0Role":,"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItems0":{"type":"object","properties":{"type":,"role":,"content":},"required":["type","role","content"],"description":"Conversation text as part of the conversation history","title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItems0"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItemsOneOf1FunctionCallsItems":{"type":"object","properties":{"id":,"name":,"client_side":,"arguments":,"response":,"thought_signature":},"required":["id","name","client_side","arguments","response"],"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItemsOneOf1FunctionCallsItems"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItems1":{"type":"object","properties":{"type":,"function_calls":{"type":"array","items":,"description":"List of function call objects"}},"required":["type","function_calls"],"description":"Client-side or server-side function call request and response as part of the conversation history","title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItems1"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItems":{"oneOf":[,],"description":"A history message is either a conversational message or a function call","title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ContextMessagesItems"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Context":{"type":"object","properties":{"messages":{"type":"array","items":,"description":"Conversation history as a list of messages and function calls"}},"description":"Conversation context including the history of messages and function calls","title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Context"},"DeepgramListenProviderV1":{"type":"object","properties":{"type":,"version":,"model":,"language":,"keyterms":{"type":"array","items":,"description":"Prompt keyterm recognition to improve Keyword Recall Rate"},"smart_format":},"required":["type"],"title":"DeepgramListenProviderV1"},"DeepgramListenProviderV2":{"type":"object","properties":{"type":,"version":,"model":,"language_hints":{"type":"array","items":,"description":"An array of one or more BCP-47 language codes to bias the model toward specific languages. Only supported when model is flux-general-multi. Without hints, the model auto-detects the spoken language. See the Language Prompting guide for details."},"eot_threshold":,"eager_eot_threshold":,"eot_timeout_ms":,"keyterms":{"type":"array","items":,"description":"Prompt keyterm recognition to improve Keyword Recall Rate"}},"required":["type","model"],"title":"DeepgramListenProviderV2"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ListenProvider":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0ListenProvider"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Listen":{"type":"object","properties":{"provider":},"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Listen"},"OpenAiThinkProviderVersion":,"OpenAiThinkProviderModel":,"OpenAiThinkProviderReasoningMode":,"OpenAiThinkProvider":{"type":"object","properties":{"type":,"version":,"model":,"temperature":,"reasoning_mode":},"required":["type","model"],"title":"OpenAiThinkProvider"},"AwsBedrockThinkProviderModel":,"AwsBedrockThinkProviderCredentialsType":,"AwsBedrockThinkProviderCredentials":{"type":"object","properties":{"type":,"region":,"access_key_id":,"secret_access_key":,"session_token":},"description":"AWS credentials type (STS short-lived or IAM long-lived)","title":"AwsBedrockThinkProviderCredentials"},"AwsBedrockThinkProvider":{"type":"object","properties":{"type":,"model":,"temperature":,"credentials":},"required":["type","model"],"title":"AwsBedrockThinkProvider"},"AnthropicThinkProviderVersion":,"AnthropicThinkProviderModel":,"AnthropicThinkProvider":{"type":"object","properties":{"type":,"version":,"model":,"temperature":},"required":["type","model"],"title":"AnthropicThinkProvider"},"GoogleThinkProviderVersion":,"GoogleThinkProviderModel":,"GoogleThinkProvider":{"type":"object","properties":{"type":,"version":,"model":,"temperature":},"required":["type","model"],"title":"GoogleThinkProvider"},"GroqThinkProviderVersion":,"GroqThinkProviderModel":,"GroqThinkProviderReasoningMode":,"GroqThinkProvider":{"type":"object","properties":{"type":,"version":,"model":,"temperature":,"reasoning_mode":},"required":["type","model"],"title":"GroqThinkProvider"},"ThinkSettingsV1Provider":{"oneOf":[,,,,],"title":"ThinkSettingsV1Provider"},"ThinkSettingsV1Endpoint":{"type":"object","properties":{"url":,"headers":{"type":"object","additionalProperties":,"description":"Custom headers for the endpoint"}},"description":"Optional for non-Deepgram LLM providers. When present, must include url field and headers object\n","title":"ThinkSettingsV1Endpoint"},"ThinkSettingsV1FunctionsItemsParameters":{"type":"object","properties":,"description":"Function parameters","title":"ThinkSettingsV1FunctionsItemsParameters"},"ThinkSettingsV1FunctionsItemsEndpoint":{"type":"object","properties":{"url":,"method":,"headers":{"type":"object","additionalProperties":}},"description":"The Function endpoint to call. if not passed, function is called client-side","title":"ThinkSettingsV1FunctionsItemsEndpoint"},"ThinkSettingsV1FunctionsItems":{"type":"object","properties":{"name":,"description":,"parameters":,"defer_until_eot":,"endpoint":},"title":"ThinkSettingsV1FunctionsItems"},"ThinkSettingsV1ContextLength0":,"ThinkSettingsV1ContextLength":{"oneOf":[,],"description":"Specifies the number of characters retained in context between user messages, agent responses, and function calls. This setting is only configurable when a custom think endpoint is used\n","title":"ThinkSettingsV1ContextLength"},"ThinkSettingsV1":{"type":"object","properties":{"provider":,"endpoint":,"functions":{"type":"array","items":},"prompt":,"context_length":},"required":["provider"],"title":"ThinkSettingsV1"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Think1":{"type":"array","items":,"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Think1"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Think":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Think"},"DeepgramSpeakProviderModel":{"type":"string","enum":["aura-asteria-en","aura-luna-en","aura-stella-en","aura-athena-en","aura-hera-en","aura-orion-en","aura-arcas-en","aura-perseus-en","aura-angus-en","aura-orpheus-en","aura-helios-en","aura-zeus-en","aura-2-amalthea-en","aura-2-andromeda-en","aura-2-apollo-en","aura-2-arcas-en","aura-2-aries-en","aura-2-asteria-en","aura-2-athena-en","aura-2-atlas-en","aura-2-aurora-en","aura-2-callista-en","aura-2-cora-en","aura-2-cordelia-en","aura-2-delia-en","aura-2-draco-en","aura-2-electra-en","aura-2-harmonia-en","aura-2-helena-en","aura-2-hera-en","aura-2-hermes-en","aura-2-hyperion-en","aura-2-iris-en","aura-2-janus-en","aura-2-juno-en","aura-2-jupiter-en","aura-2-luna-en","aura-2-mars-en","aura-2-minerva-en","aura-2-neptune-en","aura-2-odysseus-en","aura-2-ophelia-en","aura-2-orion-en","aura-2-orpheus-en","aura-2-pandora-en","aura-2-phoebe-en","aura-2-pluto-en","aura-2-saturn-en","aura-2-selene-en","aura-2-thalia-en","aura-2-theia-en","aura-2-vesta-en","aura-2-zeus-en","aura-2-sirio-es","aura-2-nestor-es","aura-2-carina-es","aura-2-celeste-es","aura-2-alvaro-es","aura-2-diana-es","aura-2-aquila-es","aura-2-selena-es","aura-2-estrella-es","aura-2-javier-es","flux-alexis-en","flux-bree-en","flux-brittany-en","flux-brooke-en","flux-bruce-en","flux-cliff-en","flux-cole-en","flux-colin-en","flux-conor-en","flux-donovan-en","flux-drew-en","flux-elise-en","flux-gemma-en","flux-haley-en","flux-hannah-en","flux-heather-en","flux-jack-en","flux-kai-en","flux-kelsey-en","flux-kit-en","flux-maeve-en","flux-marcelo-en","flux-marcus-en","flux-meena-en","flux-meghan-en","flux-miles-en","flux-naveen-en","flux-paige-en","flux-priya-en","flux-rufus-en","flux-sean-en","flux-sharon-en","flux-sienna-en","flux-tanner-en","flux-wade-en","flux-wes-en"],"description":"Deepgram TTS model. Aura models (version v1) use the aura-* voices; Flux TTS (version v2) uses the flux-- voices (e.g. flux-alexis-en). Defaults to flux-kit-en when agent.speak is omitted.","title":"DeepgramSpeakProviderModel"},"DeepgramSpeakProviderExpressivity":,"DeepgramSpeakProvider":{"type":"object","properties":{"type":,"version":,"model":{"$ref":"#/components/schemas/DeepgramSpeakProviderModel","description":"Deepgram TTS model. Aura models (version v1) use the aura-* voices; Flux TTS (version v2) uses the flux-- voices (e.g. flux-alexis-en). Defaults to flux-kit-en when agent.speak is omitted."},"speed":,"expressivity":},"required":["type","model"],"description":"Deepgram text-to-speech provider. Aura models use version v1 (default); Flux TTS uses version v2 and a flux-* model. Flux TTS is the default when agent.speak is omitted, using the flux-kit-en voice.","title":"DeepgramSpeakProvider"},"ElevenLabsSpeakProviderVersion":,"ElevenLabsSpeakProviderModelId":,"ElevenLabsSpeakProvider":{"type":"object","properties":{"type":,"version":,"model_id":,"language":,"language_code":},"required":["type","model_id"],"title":"ElevenLabsSpeakProvider"},"CartesiaSpeakProviderVersion":,"CartesiaSpeakProviderModelId":,"CartesiaSpeakProviderVoice":{"type":"object","properties":{"mode":,"id":},"required":["mode","id"],"title":"CartesiaSpeakProviderVoice"},"CartesiaSpeakProvider":{"type":"object","properties":{"type":,"version":,"model_id":,"voice":,"language":,"volume":},"required":["type","model_id","voice"],"title":"CartesiaSpeakProvider"},"OpenAiSpeakProviderVersion":,"OpenAiSpeakProviderModel":,"OpenAiSpeakProviderVoice":,"OpenAiSpeakProvider":{"type":"object","properties":{"type":,"version":,"model":,"voice":},"required":["type","model","voice"],"title":"OpenAiSpeakProvider"},"AwsPollySpeakProviderVoice":,"AwsPollySpeakProviderEngine":,"AwsPollySpeakProviderCredentialsType":,"AwsPollySpeakProviderCredentials":{"type":"object","properties":{"type":,"region":,"access_key_id":,"secret_access_key":,"session_token":},"required":["type","region","access_key_id","secret_access_key"],"title":"AwsPollySpeakProviderCredentials"},"AwsPollySpeakProvider":{"type":"object","properties":{"type":,"voice":,"language":,"language_code":,"engine":,"credentials":},"required":["type","voice","language","engine","credentials"],"title":"AwsPollySpeakProvider"},"SpeakSettingsV1Provider":{"oneOf":[,,,,],"title":"SpeakSettingsV1Provider"},"SpeakSettingsV1Endpoint":{"type":"object","properties":{"url":,"headers":{"type":"object","additionalProperties":}},"description":"Optional if provider is Deepgram. Required for non-Deepgram TTS providers.\nWhen present, must include url field and headers object. Valid schemes are https and wss with wss only supported for Eleven Labs.\n","title":"SpeakSettingsV1Endpoint"},"SpeakSettingsV1":{"type":"object","properties":{"provider":,"endpoint":},"required":["provider"],"title":"SpeakSettingsV1"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Speak1":{"type":"array","items":,"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Speak1"},"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Speak":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1SettingsAgentOneOf0Speak"},"ChannelsAgentV1MessagesAgentV1SettingsAgent0":{"type":"object","properties":{"language":,"context":,"listen":,"think":,"speak":,"greeting":},"title":"ChannelsAgentV1MessagesAgentV1SettingsAgent0"},"ChannelsAgentV1MessagesAgentV1SettingsAgent":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1SettingsAgent"},"AgentV1_AgentV1Settings":{"type":"object","properties":{"type":,"tags":{"type":"array","items":,"description":"Tags to associate with the request"},"experimental":,"flags":,"mip_opt_out":,"audio":,"agent":},"required":["type","audio","agent"],"title":"AgentV1_AgentV1Settings"},"ChannelsAgentV1MessagesAgentV1UpdateListenListenProvider":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1UpdateListenListenProvider"},"ChannelsAgentV1MessagesAgentV1UpdateListenListen":{"type":"object","properties":{"provider":},"required":["provider"],"description":"Listen configuration to update. Contains a provider object with the same schema as Settings. The model and language can be changed mid-session. Keyterms can only be updated mid-session for Flux models.","title":"ChannelsAgentV1MessagesAgentV1UpdateListenListen"},"AgentV1_AgentV1UpdateListen":{"type":"object","properties":{"type":,"listen":},"required":["type","listen"],"title":"AgentV1_AgentV1UpdateListen"},"ChannelsAgentV1MessagesAgentV1UpdateThinkThink1":{"type":"array","items":,"title":"ChannelsAgentV1MessagesAgentV1UpdateThinkThink1"},"ChannelsAgentV1MessagesAgentV1UpdateThinkThink":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1UpdateThinkThink"},"AgentV1_AgentV1UpdateThink":{"type":"object","properties":{"type":,"think":},"required":["type","think"],"title":"AgentV1_AgentV1UpdateThink"},"ChannelsAgentV1MessagesAgentV1UpdateSpeakSpeak1":{"type":"array","items":,"title":"ChannelsAgentV1MessagesAgentV1UpdateSpeakSpeak1"},"ChannelsAgentV1MessagesAgentV1UpdateSpeakSpeak":{"oneOf":[,],"title":"ChannelsAgentV1MessagesAgentV1UpdateSpeakSpeak"},"AgentV1_AgentV1UpdateSpeak":{"type":"object","properties":{"type":,"speak":},"required":["type","speak"],"title":"AgentV1_AgentV1UpdateSpeak"},"AgentV1_AgentV1InjectUserMessage":{"type":"object","properties":{"type":,"content":},"required":["type","content"],"title":"AgentV1_AgentV1InjectUserMessage"},"ChannelsAgentV1MessagesAgentV1InjectAgentMessageBehavior":,"AgentV1_AgentV1InjectAgentMessage":{"type":"object","properties":{"type":,"message":,"behavior":},"required":["type","message"],"title":"AgentV1_AgentV1InjectAgentMessage"},"AgentV1_AgentV1SendFunctionCallResponse":{"type":"object","properties":{"type":,"id":,"name":,"content":},"required":["type","name","content"],"description":"Function call response message used bidirectionally:\n\n• Client → Server: Response after client executes a function\n marked as client_side: true\n• Server → Client: Response after server executes a function\n marked as client_side: false\n\nThe same message structure serves both directions, enabling a unified\ninterface for function call responses regardless of execution location.\n","title":"AgentV1_AgentV1SendFunctionCallResponse"},"ChannelsAgentV1MessagesAgentV1KeepAliveType":,"AgentV1_AgentV1KeepAlive":{"type":"object","properties":{"type":},"required":["type"],"description":"Send a control message to the agent","title":"AgentV1_AgentV1KeepAlive"},"AgentV1_AgentV1UpdatePrompt":{"type":"object","properties":{"type":,"prompt":},"required":["type","prompt"],"title":"AgentV1_AgentV1UpdatePrompt"},"AgentV1_AgentV1ForceEndTurn":{"type":"object","properties":{"type":},"required":["type"],"title":"AgentV1_AgentV1ForceEndTurn"},"AgentV1_AgentV1Media":,"ListenV1Callback":,"ListenV1CallbackMethod":,"ListenV1Channels":,"ListenV1DetectEntities":,"ListenV1Diarize":,"ListenV1_diarize_model":,"ListenV1Dictation":,"ListenV1Encoding":,"ListenV1Endpointing":,"ListenV1Extra":,"ListenV1InterimResults":,"ListenV1Keyterm":,"ListenV1Keywords":,"ListenV1Language":,"ListenV1MipOptOut":,"ListenV1Model":,"ListenV1Multichannel":,"ListenV1Numerals":,"ListenV1ProfanityFilter":,"ListenV1Punctuate":,"ListenV1Redact":,"ListenV1Replace":,"ListenV1SampleRate":,"ListenV1Search":,"ListenV1SmartFormat":,"ListenV1Tag":,"ListenV1UtteranceEndMs":,"ListenV1VadEvents":,"ListenV1Version":,"ChannelsListenV1MessagesListenV1ResultsType":,"ChannelsListenV1MessagesListenV1ResultsChannelAlternativesItemsWordsItems":{"type":"object","properties":{"word":,"start":,"end":,"confidence":,"language":,"punctuated_word":,"speaker":},"required":["word","start","end","confidence"],"title":"ChannelsListenV1MessagesListenV1ResultsChannelAlternativesItemsWordsItems"},"ChannelsListenV1MessagesListenV1ResultsChannelAlternativesItems":{"type":"object","properties":{"transcript":,"confidence":,"languages":{"type":"array","items":},"words":{"type":"array","items":}},"required":["transcript","confidence","words"],"title":"ChannelsListenV1MessagesListenV1ResultsChannelAlternativesItems"},"ChannelsListenV1MessagesListenV1ResultsChannel":{"type":"object","properties":{"alternatives":{"type":"array","items":}},"required":["alternatives"],"title":"ChannelsListenV1MessagesListenV1ResultsChannel"},"ChannelsListenV1MessagesListenV1ResultsMetadataModelInfo":{"type":"object","properties":{"name":,"version":,"arch":},"required":["name","version","arch"],"title":"ChannelsListenV1MessagesListenV1ResultsMetadataModelInfo"},"ChannelsListenV1MessagesListenV1ResultsMetadataDiarizeInfo":{"type":"object","properties":{"model_uuid":,"arch":},"required":["model_uuid","arch"],"description":"The diarizer that produced the speaker labels. Present only when a diarizer ran.","title":"ChannelsListenV1MessagesListenV1ResultsMetadataDiarizeInfo"},"ChannelsListenV1MessagesListenV1ResultsMetadata":{"type":"object","properties":{"request_id":,"model_info":,"model_uuid":,"diarize_info":},"required":["request_id","model_info","model_uuid"],"title":"ChannelsListenV1MessagesListenV1ResultsMetadata"},"ChannelsListenV1MessagesListenV1ResultsEntitiesItems":{"type":"object","properties":{"label":,"value":,"raw_value":,"confidence":,"start_word":,"end_word":},"required":["label","value","raw_value","confidence","start_word","end_word"],"title":"ChannelsListenV1MessagesListenV1ResultsEntitiesItems"},"ListenV1_ListenV1Results":{"type":"object","properties":{"type":,"channel_index":{"type":"array","items":,"description":"The index of the channel"},"duration":,"start":,"is_final":,"speech_final":,"channel":,"metadata":,"from_finalize":,"entities":{"type":"array","items":,"description":"Extracted entities from the audio when detect_entities is enabled. Only present in is_final messages. Returns an empty array if no entities are detected"}},"required":["type","channel_index","duration","start","channel","metadata"],"title":"ListenV1_ListenV1Results"},"ChannelsListenV1MessagesListenV1MetadataType":,"ListenV1_ListenV1Metadata":{"type":"object","properties":{"type":,"transaction_key":,"request_id":,"sha256":,"created":,"duration":,"channels":},"required":["type","transaction_key","request_id","sha256","created","duration","channels"],"title":"ListenV1_ListenV1Metadata"},"ChannelsListenV1MessagesListenV1UtteranceEndType":,"ListenV1_ListenV1UtteranceEnd":{"type":"object","properties":{"type":,"channel":{"type":"array","items":,"description":"The channel"},"last_word_end":},"required":["type","channel","last_word_end"],"title":"ListenV1_ListenV1UtteranceEnd"},"ChannelsListenV1MessagesListenV1SpeechStartedType":,"ListenV1_ListenV1SpeechStarted":{"type":"object","properties":{"type":,"channel":{"type":"array","items":,"description":"The channel"},"timestamp":},"required":["type","channel","timestamp"],"title":"ListenV1_ListenV1SpeechStarted"},"ListenV1_ListenV1Media":,"ChannelsListenV1MessagesListenV1FinalizeType":,"ListenV1_ListenV1Finalize":{"type":"object","properties":{"type":},"required":["type"],"title":"ListenV1_ListenV1Finalize"},"ChannelsListenV1MessagesListenV1CloseStreamType":,"ListenV1_ListenV1CloseStream":{"type":"object","properties":{"type":},"required":["type"],"title":"ListenV1_ListenV1CloseStream"},"ChannelsListenV1MessagesListenV1KeepAliveType":,"ListenV1_ListenV1KeepAlive":{"type":"object","properties":{"type":},"required":["type"],"title":"ListenV1_ListenV1KeepAlive"},"ListenV2Model":,"ListenV2Encoding":,"ListenV2SampleRate":,"ListenV2EagerEotThreshold":,"ListenV2EotThreshold":,"ListenV2EotTimeoutMs":,"ListenV2Keyterm":{"oneOf":[,{"type":"array","items":}],"description":"Keyterm prompting improves recognition of specialized terminology.\n\nkeyterm accepts plain terms only. Unlike the legacy keywords feature,\nit does not support weights or intensifiers. Appending one\n(for example, keyterm=term:0.15) is not rejected—the weight is\nsilently ignored and the entire value is treated as a literal keyterm.\n\nTo boost multiple separate keyterms, repeat the keyterm parameter\n(for example, keyterm=term1&keyterm=term2). To boost one multi-word\nphrase as a single keyterm, join the words with %20 or +\n(for example, keyterm=customer%20service). Do not separate keyterms\nwith commas, semicolons, or line breaks.\n","title":"ListenV2Keyterm"},"ListenV2LanguageHint":{"oneOf":[,{"type":"array","items":}],"description":"Language hints constrain and prioritize language detection for the\nflux-general-multi model. Pass multiple language_hint query parameters\nto specify multiple language codes. Empty values are rejected.\nOnly valid when model is flux-general-multi.\n","title":"ListenV2LanguageHint"},"ListenV2ProfanityFilter":,"ListenV2Numerals":,"ListenV2Redact":,"ListenV2MipOptOut":,"ListenV2Tag":,"ChannelsListenV2MessagesListenV2ConnectedType":,"ListenV2_ListenV2Connected":{"type":"object","properties":{"type":,"request_id":,"sequence_id":},"required":["type","request_id","sequence_id"],"title":"ListenV2_ListenV2Connected"},"ChannelsListenV2MessagesListenV2TurnInfoEvent":,"ChannelsListenV2MessagesListenV2TurnInfoWordsItems":{"type":"object","properties":{"word":,"confidence":,"start":,"end":},"required":["word","confidence"],"title":"ChannelsListenV2MessagesListenV2TurnInfoWordsItems"},"ListenV2_ListenV2TurnInfo":{"type":"object","properties":{"type":,"request_id":,"sequence_id":,"event":,"turn_index":,"audio_window_start":,"audio_window_end":,"transcript":,"words":{"type":"array","items":,"description":"The words in the transcript"},"end_of_turn_confidence":,"trigger":,"languages":{"type":"array","items":,"description":"Detected languages sorted by descending frequency in the\ntranscript. Only present when the flux-general-multi model\ndetects languages in the audio.\n"},"languages_hinted":{"type":"array","items":,"description":"The language hints that were supplied for this turn. Only\npresent when language hints are configured.\n"}},"required":["type","request_id","sequence_id","event","turn_index","audio_window_start","audio_window_end","transcript","words","end_of_turn_confidence"],"description":"Describes the current turn and latest state of the turn","title":"ListenV2_ListenV2TurnInfo"},"ChannelsListenV2MessagesListenV2ConfigureSuccessThresholds":{"type":"object","properties":{"eager_eot_threshold":,"eot_threshold":,"eot_timeout_ms":},"description":"Updates each parameter, if it is supplied. If a particular threshold parameter\nis not supplied, the configuration continues using the currently configured value.\n","title":"ChannelsListenV2MessagesListenV2ConfigureSuccessThresholds"},"ListenV2ConfigureNumerals":,"ListenV2_ListenV2ConfigureSuccess":{"type":"object","properties":{"type":,"request_id":,"thresholds":,"keyterms":,"language_hints":{"type":"array","items":,"description":"The currently active language hints. Only applicable to the flux-general-multi model.\n"},"numerals":,"sequence_id":},"required":["type","request_id","thresholds","keyterms","sequence_id"],"title":"ListenV2_ListenV2ConfigureSuccess"},"ListenV2_ListenV2ConfigureFailure":{"type":"object","properties":{"type":,"request_id":,"sequence_id":,"code":,"description":},"required":["type","request_id","sequence_id"],"title":"ListenV2_ListenV2ConfigureFailure"},"ListenV2_ListenV2Warning":{"type":"object","properties":{"type":,"request_id":,"sequence_id":,"code":,"description":},"required":["type","request_id","sequence_id","code","description"],"title":"ListenV2_ListenV2Warning"},"ChannelsListenV2MessagesListenV2FatalErrorType":,"ListenV2_ListenV2FatalError":{"type":"object","properties":{"type":,"sequence_id":,"code":,"description":},"required":["type","sequence_id","code","description"],"title":"ListenV2_ListenV2FatalError"},"ListenV2_ListenV2Media":,"ChannelsListenV2MessagesListenV2CloseStreamType":,"ListenV2_ListenV2CloseStream":{"type":"object","properties":{"type":},"required":["type"],"title":"ListenV2_ListenV2CloseStream"},"ListenV2_ListenV2ForceEndTurn":{"type":"object","properties":{"type":},"required":["type"],"title":"ListenV2_ListenV2ForceEndTurn"},"ChannelsListenV2MessagesListenV2ConfigureThresholds":{"type":"object","properties":{"eager_eot_threshold":,"eot_threshold":,"eot_timeout_ms":},"description":"Updates each parameter, if it is supplied. If a particular threshold parameter\nis not supplied, the configuration continues using the currently configured value.\n","title":"ChannelsListenV2MessagesListenV2ConfigureThresholds"},"ListenV2_ListenV2Configure":{"type":"object","properties":{"type":,"thresholds":,"keyterms":,"language_hints":{"type":"array","items":,"description":"Language hints to constrain and prioritize language detection.\nOnly valid when the model is flux-general-multi. If this field is not supplied,\nthe session will continue to use the currently configured value.\n"},"numerals":},"required":["type"],"title":"ListenV2_ListenV2Configure"},"SpeakV1Encoding":,"SpeakV1MipOptOut":,"SpeakV1Model":,"SpeakV1SampleRate":,"SpeakV1Speed":,"SpeakV1_SpeakV1Audio":,"ChannelsSpeakV1MessagesSpeakV1MetadataType":,"SpeakV1_SpeakV1Metadata":{"type":"object","properties":{"type":,"request_id":,"model_name":,"model_version":,"model_uuid":,"additional_model_uuids":{"type":"array","items":,"description":"List of unique identifiers for any additional models used to serve the request"}},"required":["type","request_id","model_name","model_version","model_uuid"],"title":"SpeakV1_SpeakV1Metadata"},"ChannelsSpeakV1MessagesSpeakV1FlushedType":,"SpeakV1_SpeakV1Flushed":{"type":"object","properties":{"type":,"sequence_id":},"required":["type","sequence_id"],"title":"SpeakV1_SpeakV1Flushed"},"ChannelsSpeakV1MessagesSpeakV1ClearedType":,"SpeakV1_SpeakV1Cleared":{"type":"object","properties":{"type":,"sequence_id":},"required":["type","sequence_id"],"title":"SpeakV1_SpeakV1Cleared"},"ChannelsSpeakV1MessagesSpeakV1WarningType":,"SpeakV1_SpeakV1Warning":{"type":"object","properties":{"type":,"description":,"code":},"required":["type","description","code"],"title":"SpeakV1_SpeakV1Warning"},"ChannelsSpeakV1MessagesSpeakV1TextType":,"SpeakV1_SpeakV1Text":{"type":"object","properties":{"type":,"text":},"required":["type","text"],"title":"SpeakV1_SpeakV1Text"},"ChannelsSpeakV1MessagesSpeakV1FlushType":,"SpeakV1_SpeakV1Flush":{"type":"object","properties":{"type":},"required":["type"],"title":"SpeakV1_SpeakV1Flush"},"ChannelsSpeakV1MessagesSpeakV1ClearType":,"SpeakV1_SpeakV1Clear":{"type":"object","properties":{"type":},"required":["type"],"title":"SpeakV1_SpeakV1Clear"},"ChannelsSpeakV1MessagesSpeakV1CloseType":,"SpeakV1_SpeakV1Close":{"type":"object","properties":{"type":},"required":["type"],"title":"SpeakV1_SpeakV1Close"},"SpeakV2Model":{"type":"string","description":"The Flux TTS model used to synthesize speech. Required on every connection. Model strings follow the format flux-{voice}-{language} (e.g. flux-alexis-en). An Aura model string is rejected on /v2/speak; use /v1/speak for Aura voices.","title":"SpeakV2Model"},"SpeakV2Encoding":,"SpeakV2SampleRate":,"SpeakV2Speed":,"SpeakV2Expressivity":,"SpeakV2MipOptOut":,"SpeakV2Tag":,"SpeakV2_SpeakV2Audio":,"SpeakV2_SpeakV2Connected":{"type":"object","properties":{"type":,"request_id":,"model_name":,"model_version":,"model_uuids":{"type":"array","items":,"description":"Resolved model UUIDs. A list, because a resolved model may be backed by more than one underlying model."}},"required":["type","request_id","model_name","model_version","model_uuids"],"title":"SpeakV2_SpeakV2Connected"},"SpeakV2_SpeakV2SpeechStarted":{"type":"object","properties":{"type":,"speech_id":},"required":["type","speech_id"],"title":"SpeakV2_SpeakV2SpeechStarted"},"ChannelsSpeakV2MessagesSpeakV2SpeechMetadataControlsApplied":{"type":"object","properties":{"pronunciations_applied":,"breaks_applied":,"pronunciation_warnings":},"required":["pronunciations_applied","breaks_applied","pronunciation_warnings"],"description":"Counts of the inline controls the server acted on during the turn. Inline pause and pronunciation controls are not applied at launch — support is coming soon — so every count is currently 0.","title":"ChannelsSpeakV2MessagesSpeakV2SpeechMetadataControlsApplied"},"SpeakV2_SpeakV2SpeechMetadata":{"type":"object","properties":{"type":,"speech_id":,"audio_duration_ms":,"input_character_count":,"billable_character_count":,"controls_applied":},"required":["type","speech_id","audio_duration_ms","input_character_count","billable_character_count","controls_applied"],"title":"SpeakV2_SpeakV2SpeechMetadata"},"ChannelsSpeakV2MessagesSpeakV2SpeechInterruptedMetadataControlsApplied":{"type":"object","properties":{"pronunciations_applied":,"breaks_applied":,"pronunciation_warnings":},"required":["pronunciations_applied","breaks_applied","pronunciation_warnings"],"description":"Counts of the inline controls the server acted on during the turn. Inline pause and pronunciation controls are not applied at launch — support is coming soon — so every count is currently 0.","title":"ChannelsSpeakV2MessagesSpeakV2SpeechInterruptedMetadataControlsApplied"},"ChannelsSpeakV2MessagesSpeakV2SpeechInterruptedMetadata":{"type":"object","properties":{"speech_id":,"audio_duration_ms":,"input_character_count":,"billable_character_count":,"controls_applied":},"required":["speech_id","audio_duration_ms","input_character_count","billable_character_count","controls_applied"],"description":"Billing and timing for a single turn.","title":"ChannelsSpeakV2MessagesSpeakV2SpeechInterruptedMetadata"},"SpeakV2_SpeakV2SpeechInterrupted":{"type":"object","properties":{"type":,"audio_played_ms":,"text_spoken":,"text_remaining":,"metadata":},"required":["type","audio_played_ms","metadata"],"title":"SpeakV2_SpeakV2SpeechInterrupted"},"SpeakV2_SpeakV2Flushed":{"type":"object","properties":{"type":,"speech_id":},"required":["type","speech_id"],"title":"SpeakV2_SpeakV2Flushed"},"SpeakV2_SpeakV2SessionMetadata":{"type":"object","properties":{"type":,"total_audio_duration_ms":,"total_input_character_count":,"total_billable_character_count":},"required":["type","total_audio_duration_ms","total_input_character_count","total_billable_character_count"],"title":"SpeakV2_SpeakV2SessionMetadata"},"SpeakV2SpeedValue":,"ChannelsSpeakV2MessagesSpeakV2ConfigureSuccessApplied":{"type":"object","properties":{"speed":},"description":"Synthesis configuration. A field is present only when it has been set on this session.","title":"ChannelsSpeakV2MessagesSpeakV2ConfigureSuccessApplied"},"SpeakV2_SpeakV2ConfigureSuccess":{"type":"object","properties":{"type":,"applied":},"required":["type","applied"],"title":"SpeakV2_SpeakV2ConfigureSuccess"},"ChannelsSpeakV2MessagesSpeakV2ConfigureFailureCode":,"ChannelsSpeakV2MessagesSpeakV2ConfigureFailureField":,"SpeakV2_SpeakV2ConfigureFailure":{"type":"object","properties":{"type":,"code":,"field":,"value":,"description":},"required":["type","code","description"],"title":"SpeakV2_SpeakV2ConfigureFailure"},"SpeakV2_SpeakV2Warning":{"type":"object","properties":{"type":,"code":,"description":},"required":["type","code","description"],"title":"SpeakV2_SpeakV2Warning"},"ChannelsSpeakV2MessagesSpeakV2ErrorCode":,"SpeakV2_SpeakV2Error":{"type":"object","properties":{"type":,"code":,"description":},"required":["type","code","description"],"title":"SpeakV2_SpeakV2Error"},"SpeakV2_SpeakV2Speak":{"type":"object","properties":{"type":,"text":},"required":["type","text"],"title":"SpeakV2_SpeakV2Speak"},"SpeakV2_SpeakV2Flush":{"type":"object","properties":{"type":},"required":["type"],"title":"SpeakV2_SpeakV2Flush"},"ChannelsSpeakV2MessagesSpeakV2InterruptPlaybackOffset":{"type":"object","properties":{"type":,"value":},"required":["type","value"],"description":"How much audio the client had played when the user barged in. Optional: without it the server cannot split the turn's text, so SpeechInterrupted omits text_spoken and text_remaining.\n\nThe offset is cumulative from the start of the session, not from the start of the current turn. Each Interrupt must advance past the position the previous one established.","title":"ChannelsSpeakV2MessagesSpeakV2InterruptPlaybackOffset"},"SpeakV2_SpeakV2Interrupt":{"type":"object","properties":{"type":,"playback_offset":},"required":["type"],"title":"SpeakV2_SpeakV2Interrupt"},"SpeakV2_SpeakV2Configure":{"type":"object","properties":{"type":,"speed":},"required":["type"],"title":"SpeakV2_SpeakV2Configure"},"SpeakV2_SpeakV2Close":{"type":"object","properties":{"type":},"required":["type"],"title":"SpeakV2_SpeakV2Close"}}}}

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu