Get a call
The full call record, including the transcript with per-turn latency, the aggregated metrics, and per-model usage.
Authorization
personalAccessToken Personal Access Token of a Dynamiq user — the only credential accepted by the management API (api.*). Prefix dyn_pat_ (legacy uak_ tokens still authenticate). Send as Authorization: Bearer <token>.
In: header
Path Parameters
Voice agent UUID.
Voice call UUID.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/agents/voice/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08/calls/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "pending",
"kind": "web",
"direction": "inbound",
"caller_number": "string",
"started_at": "2019-08-24T14:15:22Z",
"ended_at": "2019-08-24T14:15:22Z",
"duration_ms": 0,
"ended_reason": "string",
"recording_status": "disabled",
"created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
"metrics_summary": {
"latency_ms_p50": 0,
"interruption_count": 0,
"turn_count": 0
},
"agent_number": "string",
"participant_identity": "string",
"error": "string",
"transcript": [
{
"role": "user",
"content": "string",
"timestamp": 0,
"interrupted": true,
"tool_name": "string",
"latency": {
"transcription_delay_ms": 0,
"end_of_turn_delay_ms": 0,
"llm_ttft_ms": 0,
"tts_ttfb_ms": 0,
"end_to_end_ms": 0
}
}
],
"metrics": {
"turn_count": 0,
"user_turn_count": 0,
"interruption_count": 0,
"tool_call_count": 0,
"latency_ms": {
"avg": 0,
"p50": 0,
"p95": 0,
"max": 0
},
"latency_kind": "e2e"
},
"usage": [
{
"model": "string",
"input_tokens": 0,
"output_tokens": 0,
"cached_tokens": 0,
"stt_audio_seconds": 0,
"tts_characters": 0
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"error": {
"code": "not_found",
"message": "Not Found"
}
}List calls
Every call the agent handled — web, phone, and WebSocket — most recently started first. Calls that were reserved but never connected are excluded.
Get a call recording URL
Returns a short-lived signed URL for the call's audio. Available only when recording was enabled for the call and the recording has finished processing (`recording_status` is `available`).