Calls & Recordings
Access voice call data, transcripts, and recordings via the Aurion API.
Calls & Recordings
The Calls API provides access to voice call sessions, transcripts, and recordings. Every AI voice conversation — whether from phone, mobile app, or web widget — is tracked as a call record.
List Calls
curl "https://apps.aurionai.net/api/v1/calls?limit=10&sort_by=started_at&sort_order=desc" \
-H "X-API-Key: ak_live_xxxx"import requests
response = requests.get(
"https://apps.aurionai.net/api/v1/calls",
headers={"X-API-Key": "ak_live_xxxx"},
params={"limit": 10, "sort_by": "started_at", "sort_order": "desc"},
)
calls = response.json()const response = await fetch(
"https://apps.aurionai.net/api/v1/calls?limit=10&sort_by=started_at&sort_order=desc",
{
headers: { "X-API-Key": "ak_live_xxxx" },
}
);
const calls = await response.json();Response:
{
"data": [
{
"id": "call_abc123",
"caller_id": "+33612345678",
"channel": "phone",
"status": "completed",
"duration_seconds": 185,
"language": "fr-FR",
"started_at": "2026-03-08T10:30:00Z",
"ended_at": "2026-03-08T10:33:05Z",
"requester_id": 42,
"tickets_created": [1042],
"authenticated": true
}
],
"total": 234,
"limit": 10,
"offset": 0
}Query Parameters:
| Parameter | Type | Description |
|---|---|---|
limit | integer | Results per page (default: 20, max: 100) |
offset | integer | Number of results to skip |
sort_by | string | Sort field: started_at, duration_seconds |
sort_order | string | asc or desc (default: desc) |
Get Call Details
curl "https://apps.aurionai.net/api/v1/calls/call_abc123" \
-H "X-API-Key: ak_live_xxxx"Response:
{
"id": "call_abc123",
"caller_id": "+33612345678",
"channel": "phone",
"status": "completed",
"duration_seconds": 185,
"language": "fr-FR",
"started_at": "2026-03-08T10:30:00Z",
"ended_at": "2026-03-08T10:33:05Z",
"requester_id": 42,
"requester_name": "Jean Dupont",
"tickets_created": [1042],
"authenticated": true,
"escalated": false,
"sentiment": "positive",
"tools_used": ["search_tickets", "create_ticket", "search_kb"]
}Get Transcript
Retrieve the full conversation transcript for a call:
curl "https://apps.aurionai.net/api/v1/calls/call_abc123/transcript" \
-H "X-API-Key: ak_live_xxxx"Response:
{
"call_id": "call_abc123",
"segments": [
{
"speaker": "agent",
"text": "Hello, this is Aurion IT support. How can I help you today?",
"timestamp": "2026-03-08T10:30:05Z"
},
{
"speaker": "caller",
"text": "Hi, my VPN is not connecting since this morning.",
"timestamp": "2026-03-08T10:30:12Z"
}
]
}Get Recording URL
Retrieve a signed URL for the call recording (expires in 1 hour):
curl "https://apps.aurionai.net/api/v1/calls/call_abc123/recording" \
-H "X-API-Key: ak_live_xxxx"Response:
{
"url": "https://s3.eu-west-3.amazonaws.com/recordings/call_abc123.ogg?X-Amz-...",
"format": "ogg",
"duration_seconds": 185,
"expires_at": "2026-03-08T11:30:00Z"
}Recordings are stored encrypted (AES-256) and retained according to your tenant's retention policy (default: 90 days).
Call Channels
| Channel | Source | Description |
|---|---|---|
phone | PSTN/Twilio | Traditional phone calls via Twilio |
mobile | Mobile app | Calls from the Aurion mobile app |
widget | Web widget | Calls from the embedded voice widget |
Call Statuses
| Status | Description |
|---|---|
active | Call is in progress |
completed | Call ended normally |
escalated | Call was escalated to a human agent |
failed | Call failed (network issue, timeout) |
abandoned | Caller hung up before resolution |
Webhook Events
Subscribe to call events via webhooks:
| Event | Description |
|---|---|
call.started | A voice call session started |
call.completed | A voice call session ended |
call.escalated | A call was escalated to a human agent |
Related Guides
- Voice Widget — Embed AI voice support on your website
- Conversations — Voice calls linked to conversations
- End-User API — Voice token generation for mobile app and widget
- Webhooks — Subscribe to
call.*events
Required Scope
API key requires the calls:read scope to access call endpoints.