Conversations

List all conversations (voice + text)

get
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Query parameters
channel_kindany ofOptional

Filter by channel

string · enumOptionalPossible values:
or
nullOptional
statusany ofOptional

Filter by status

string · enumOptionalPossible values:
or
nullOptional
limitinteger · min: 1 · max: 100OptionalDefault: 20
offsetintegerOptionalDefault: 0
Responses
chevron-right
200

Successful Response

application/json
totalintegerRequired
has_morebooleanRequired
get
/v1/{workspace_id}/conversations

Create a new text conversation

post
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body
service_idstring · uuidRequired
entity_idany ofOptional
string · uuidOptional
or
nullOptional
start_modestring · enumOptionalDefault: user_firstPossible values:
contextany ofOptional

Injected into the agent's prompt as caller/patient context for this conversation.

string · max: 5000Optional
or
nullOptional
viewport_widthany ofOptional
integer · min: 20 · max: 500Optional
or
nullOptional
viewport_heightany ofOptional
integer · min: 5 · max: 500Optional
or
nullOptional
Responses
post
/v1/{workspace_id}/conversations

Get conversation detail (voice or text)

get
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
conversation_idstring · uuidRequired
Responses
chevron-right
200

Successful Response

application/json
idstring · uuidRequired
channel_kindstring · enumRequiredPossible values:
statusstring · enumRequiredPossible values:
lifecyclestring · enumRequiredPossible values:
entity_idany ofOptional
string · uuidOptional
or
nullOptional
service_idany ofOptional
string · uuidOptional
or
nullOptional
directionany ofOptional
stringOptional
or
nullOptional
turn_countintegerOptionalDefault: 0
duration_secondsany ofOptional
numberOptional
or
nullOptional
created_atstringRequired
updated_atstringRequired
call_sidany ofOptional
stringOptional
or
nullOptional
caller_idany ofOptional
stringOptional
or
nullOptional
phone_numberany ofOptional
stringOptional
or
nullOptional
quality_scoreany ofOptional
numberOptional
or
nullOptional
has_recordingany ofOptional
booleanOptional
or
nullOptional
completion_reasonany ofOptional
stringOptional
or
nullOptional
escalation_statusany ofOptional
stringOptional
or
nullOptional
final_stateany ofOptional
stringOptional
or
nullOptional
sourceany ofOptional
stringOptional
or
nullOptional
planany ofOptional
stringOptional
or
nullOptional
voiceany ofOptional
or
nullOptional
get
/v1/{workspace_id}/conversations/{conversation_id}

Close a conversation

delete
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
conversation_idstring · uuidRequired
Responses
delete
/v1/{workspace_id}/conversations/{conversation_id}

No content

Send a message and get the agent's response

post

Send a user message and receive the agent's response. Set Accept: text/event-stream to receive an SSE stream of typed TurnStreamEvent frames (token, tool_call_started, tool_call_completed, thinking, message, done, error) instead of the synchronous JSON response. For new integrations prefer POST /turns/stream, which is always SSE.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
conversation_idstring · uuidRequired
Query parameters
include_tool_callsbooleanOptional

Include tool call details in response

Default: false
Body
messagestring · min: 1 · max: 10000Required
contentany ofOptional
or
nullOptional
media_urlany ofOptional
string · max: 2048Optional
or
nullOptional
media_typeany ofOptional
string · max: 128Optional
or
nullOptional
contextany ofOptional

Injected into the agent's prompt as caller/patient context for this turn.

string · max: 5000Optional
or
nullOptional
viewport_widthany ofOptional
integer · min: 20 · max: 500Optional
or
nullOptional
viewport_heightany ofOptional
integer · min: 5 · max: 500Optional
or
nullOptional
Responses
chevron-right
200

Successful Response

turn_idstringRequired
post
/v1/{workspace_id}/conversations/{conversation_id}/turns

Send a message and receive a streamed agent response

post

Streaming variant of POST /turns. Always returns text/event-stream regardless of the Accept header — no JSON fallback. Each frame is a TurnStreamEvent discriminated by the event field (token, tool_call_started, tool_call_completed, thinking, message, done, error). Use this endpoint for new integrations; the Accept-sniffing variant remains for backward compatibility.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
conversation_idstring · uuidRequired
Query parameters
include_tool_callsbooleanOptional

Include tool_call_started / tool_call_completed frames in the stream

Default: false
Body
messagestring · min: 1 · max: 10000Required
contentany ofOptional
or
nullOptional
media_urlany ofOptional
string · max: 2048Optional
or
nullOptional
media_typeany ofOptional
string · max: 128Optional
or
nullOptional
contextany ofOptional

Injected into the agent's prompt as caller/patient context for this turn.

string · max: 5000Optional
or
nullOptional
viewport_widthany ofOptional
integer · min: 20 · max: 500Optional
or
nullOptional
viewport_heightany ofOptional
integer · min: 5 · max: 500Optional
or
nullOptional
Responses
chevron-right
200

SSE stream of TurnStreamEvent frames

anyOptional
post
/v1/{workspace_id}/conversations/{conversation_id}/turns/stream

No content

Last updated

Was this helpful?