Voice Calls
AI voice bot interactions including IVR and outbound campaigns.
Endpoints
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /api/v1/voice-calls | voice:read | List voice calls with filters |
| GET | /api/v1/voice-calls/{id} | voice:read | Get a voice call with full transcript |
| GET | /api/v1/voice-calls/{id}/recording-url | audio:download | Generate recording SAS URL (15 min expiry) |
| GET | /api/v1/voice-calls/{id}/epa-results | voice:read | Get post-call survey results |
Query Parameters (List Endpoint)
| Parameter | Type | Description |
|---|---|---|
| campaignId | string | Filter by campaign ID |
| state | string | Filter by call state (e.g., Completed, Busy, NoAnswer) |
| direction | string | Filter by direction (Inbound or Outbound) |
| dateFrom | datetime | Start of date range |
| dateTo | datetime | End of date range |
| page | int | Page number for pagination |
| pageSize | int | Number of results per page |
Voice Call Object
{
"id": "vc_abc123",
"campaignId": "camp_456",
"direction": "Outbound",
"state": "Completed",
"startTime": "2024-01-15T10:30:00Z",
"endTime": "2024-01-15T10:35:12Z",
"durationSeconds": 312,
"talkTimeSeconds": 287,
"outcome": "Successful",
"transcript": [
{ "role": "agent", "text": "Hello, this is...", "timestamp": "00:00:01" },
{ "role": "customer", "text": "Hi, yes...", "timestamp": "00:00:04" }
],
"epaResults": {
"state": "Completed",
"completionReason": "AllAnswered",
"totalQuestions": 3,
"questionsAnswered": 3,
"calculatedScore": 85.5,
"responses": [
{ "question": "How satisfied are you?", "answer": "Very satisfied", "score": 5 }
]
},
"createdAt": "2024-01-15T10:30:00Z"
}EPA Results (Post-Call Survey)
EPA (Encuesta Post-Atención) results are available when a post-call survey is configured for the campaign. Use the /epa-results endpoint or access them inline via the voice call object.
| Field | Type | Description |
|---|---|---|
| state | string | Survey state (e.g., Completed, Partial, NotStarted) |
| completionReason | string | Why the survey ended (e.g., AllAnswered, HangUp, Timeout) |
| totalQuestions | int | Total number of survey questions |
| questionsAnswered | int | Number of questions the caller answered |
| calculatedScore | number | Aggregated satisfaction score |
| responses | array | Individual question/answer/score entries |
Recording Download Flow
Audio recordings are accessed via temporary signed URLs. Follow this three-step process:
# 1. Get voice call list
GET /api/v1/voice-calls?state=Completed&direction=Outbound
Authorization: Bearer <token>
# 2. Request a recording SAS URL (valid for 15 minutes)
GET /api/v1/voice-calls/vc_abc123/recording-url
Authorization: Bearer <token>
Response:
{
"recordingUrl": "https://storage.blob.core.windows.net/recordings/vc_abc123.wav?sv=...&se=...",
"expiresAt": "2024-01-15T10:45:00Z"
}
# 3. Download the recording (no auth required, URL is pre-signed)
GET https://storage.blob.core.windows.net/recordings/vc_abc123.wav?sv=...&se=...Full voice call docs coming soon
Detailed transcript schemas, webhook events for call state changes, and batch export capabilities are being documented.
Request API Access