Agent Voice Conversation Engine
Connect to a hosted voice conversation engine
Establishes a WebSocket connection to a hosted voice conversation engine. The client must send an HTTP GET
with Upgrade: websocket headers. The target hosted agent must declare voice_conversation_engine version
1.0.0. An invocations_ws declaration is neither required nor a fallback. Both protocols may be
declared independently during migration; this operation always selects voice_conversation_engine.
The service resolves or creates a hosted session and forwards the connection to
ws://container:8088/voice_conversation_engine without rewriting the protocol path. The AgentServer SDK
exposes that container endpoint only when a Voice Bridge handler is registered.
The declared voice_conversation_engine version 1.0.0 identifies the Voice Live Bridge
protocol. Its container protocol version is independent of Bridge message version 1.0 and
Hosted Agents API version v1.
Voice Live owns audio, STT, TTS, turn detection, and interruption. The engine reuses the existing
Bridge Protocol 1.0 wire semantics. Voice Live sends session.start with protocol_version: "1.0";
the engine acknowledges activation with session.ready or rejects it with session.rejected.
Caller input uses user.message. The engine opens a response with response.created, emits
response.output_text.delta and response.output_text.done for text or response.output_data.done
for non-audio structured output, and completes generation with response.done. response.none
consumes input without opening a response; failures use error.
Messages carry envelope id and ts fields. Inputs and output items use item_id; responses use
response_id, and replies correlate consumed inputs through ordered-prefix in_reply_to values.
Voice Live reports interruption through user.barge_in, including heard_text. An engine-initiated
response.cancel is acknowledged by Voice Live with response.cancelled after playback stops.
Existing bounded-message, timeout, and proactive-response admission semantics are retained.
Reconnection obtains fresh authentication and reattaches through the same agent_session_id, then
sends session.start with reconnect: true and waits for session.ready. In-flight response state
is abandoned, not replayed; there is no sequence acknowledgement or cursor-based recovery.
Audio transport is outside this contract. The service relays frames without changing their message
semantics; WebSocket close codes and ping/pong are preserved. Authorization, throttling, metrics,
and tracing are applied to the selected voice-conversation-engine protocol.
Path parameters
agent_name
string
required
The name of the target hosted voice conversation engine in the current project.
Query parameters
agent_session_id
string
Optional hosted session ID. Supply the same ID to reconnect to an existing session; omit it to create a session with an automatically generated ID.
api-version
string
required
The API version to use for this operation.
Responses
Informational
Headers
x-agent-session-id
string
required
The resolved hosted session ID, either the supplied ID or an automatically generated one.
Request
GET /agents/{agent_name}/endpoint/protocols/voice_conversation_engine HTTP/1.1
Response
Status: 101
Status: 4XX
Content-Type: application/json
Status: 5XX
Content-Type: application/json