The loop, end to end
Launch a call with a question that matters today. The agent asks it, records the answer,
and, for an enabled event, queues a signed result to your configured endpoint.
POST /v1/calls
{
"agent_id": "agnt_01J9…",
"contact_id": "cont_01J9…",
"questions": [{
"id": "q_delivered",
"prompt": "Did yesterday's delivery arrive on time?",
"scoring": { "scale": "boolean", "mapping": { "true": 1, "false": 0 } }
}],
"context": { "order_number": "A-1009" }
}
# when call.ended is enabled, an HMAC-signed event is queued at completion:
{
"type": "call.ended",
"data": {
"disposition": "completed_no_goal",
"duration_ms": 93000,
"survey_response": {
"score": 1.0,
"answers": { "q_delivered": { "answer": true, "verbatim_quote": "yes it did" } }
},
"transcript_url": "/v1/calls/call_01J9…/transcript"
}
}
Test keys route telephony to a mock provider, so your team can safely iterate on the
integration without a carrier call.