Skip to main content
POST
Web Call

Authorizations

x-api-key
string
header
required

Body

application/json

Browser-initiated test call against an agent or team.

Mints a short-lived LiveKit access token whose RoomConfiguration embeds an agent_dispatch directive — when the browser connects, the voice-worker is auto-dispatched into the freshly-created room. The server signs the selected principal into token metadata so the browser cannot tamper with what it is testing. Single-agent calls resolve the selected revision's bound workflow or open AgentNode fallback. Team calls pin the current active team revision and roster; an unpinned member's assistant revision resolves through the normal active-revision rule.

agent_id
string<uuid> | null

Agent whose VoicePipelineConfig drives the call. Provide this XOR team_id.

assistant_revision_id
string<uuid> | null

Optional: pin a specific revision for this test call (draft testing) instead of following the agent's active revision. Only valid alongside agent_id; must belong to that agent. Mirrors TestChatStartRequest.assistant_revision_id so a draft can be exercised over voice and chat without promoting it.

team_id
string<uuid> | null

Team to test against — the team-level VoicePipelineConfig drives the call and the team's default active agent (initial member) answers/greets. Provide this XOR agent_id.

context_variables
Context Variables · object | null

Optional seed values for the bound agent's typed context variables, applied once at session bootstrap (same contract as the outbound-call door). Unknown key / uncoercible value → 422. Single-agent bindings only in v1 (ignored for team-bound test calls).

test_features
TestSessionFeatureInput · object | null

Optional test-session feature toggles (identity resolution, memory, summarization, extraction, evaluations, knowledge-gap analysis). Omitted / null resolves to all-off. Mirrors TestChatStartRequest.test_features.

Response

Successful Response

livekit_url
string
required

wss:// URL the browser passes to livekit-client.connect().

access_token
string
required

Short-lived (5 min) LiveKit JWT. Embeds RoomAgentDispatch so the voice-worker auto-joins when the browser connects.

room_name
string
required
session_id
string<uuid>
required
end_user_id
string<uuid>
required

The EndUser this call's conversation is bound to. A throwaway random id when test_features.identity_resolution is false; the caller's resolved internal:<clerk_user_id> EndUser when true. Parity with TestChatStartResponse.end_user_id.

test_features
TestSessionFeatures · object
required

The resolved test-session feature snapshot for this call.