API
Call object reference
Normalized call record structure returned by REST endpoints and webhooks.
Complete payload example
json
{
"call": {
"id": "6702b3c4d5e6f7a8b9c0d1e2",
"agentId": "6701a2b3c4d5e6f7a8b9c0d1",
"agentName": "Clinical Appointment Coordinator",
"direction": "outbound",
"status": "completed",
"callerNumber": "+918000000001",
"calledNumber": "+919876543210",
"voip": {
"from": "+918000000001",
"to": "+919876543210",
"direction": "outbound"
},
"startedAt": "2026-09-18T10:15:00.000Z",
"endedAt": "2026-09-18T10:16:32.000Z",
"durationSeconds": 92,
"transcription_text": "Customer: Hello?\n\nAgent: Hi, this is Dr. Patel's clinic calling to confirm your appointment for tomorrow at 4 PM.\n\nCustomer: Yes, I will be there.\n\nAgent: Great, thank you!",
"transcript": [
{
"role": "assistant",
"text": "Hi, this is Dr. Patel's clinic calling to confirm your appointment for tomorrow at 4 PM.",
"timestamp": "2026-09-18T10:15:02.000Z",
"interrupted": false
},
{
"role": "user",
"text": "Yes, I will be there.",
"timestamp": "2026-09-18T10:15:12.000Z",
"interrupted": false
}
],
"recordingUrl": "https://api.vozon.ai/api/v1/calls/6702b3c4d5e6f7a8b9c0d1e2/recording",
"providers": {
"llm": { "provider": "openai", "model": "gpt-4o-mini", "totalTokens": 1240 },
"stt": { "provider": "sarvam", "model": "saarika:v2", "seconds": 92 },
"tts": { "provider": "sarvam", "model": "bulbul:v1", "characters": 540 }
},
"usage": {
"llmTokens": 1240,
"sttSeconds": 92,
"ttsCharacters": 540,
"avgResponseLatencyMs": 410,
"responseLatencyP50Ms": 380,
"responseLatencyP90Ms": 590,
"responseLatencyP95Ms": 680,
"responseLatencyP99Ms": 820
},
"billing": {
"chargedCredits": 4.5,
"providerCost": 2.1,
"platformFee": 2.4,
"currency": "INR"
},
"sentiment": { "score": 0.88, "label": "positive" },
"endReason": "agent_completed",
"structuredOutput": {
"confirmed": true,
"rescheduled": false,
"appointmentTime": "2026-09-19T16:00:00Z"
},
"metadata": { "customerId": "cust_8829" }
}
}Detailed field reference
| Field | Type | Description |
|---|---|---|
| id | string | Stable unique call identifier. |
| direction | string | 'inbound', 'outbound', or 'web'. |
| status | string | 'completed', 'failed', 'in-progress', 'ringing', 'busy', 'no-answer', 'canceled'. |
| durationSeconds | integer | Total connected call duration in seconds. |
| voip | object | Caller and called numbers with E.164 formatting. |
| transcription_text | string | Full concatenated conversation transcript. |
| transcript | array | Timestamped dialog turns with role, content, and interruption flags. |
| recordingUrl | string | Direct streaming URL for call audio recording with Range header support. |
| usage | object | LLM tokens, STT seconds, TTS characters, and latency percentiles (p50/p90/p95/p99). |
| billing.chargedCredits | number | Exact wallet deduction in organization currency (e.g. INR). |
| sentiment | object | Sentiment score (-1.0 to 1.0) and label (positive, neutral, negative). |
| structuredOutput | object | Data extracted by the agent (e.g. dates, booking status, custom entities). |
| metadata | object | Arbitrary correlation keys provided when triggering the call. |