AurionAI Docs

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
curl "https://apps.aurionai.net/api/v1/calls?limit=10&sort_by=started_at&sort_order=desc" \
  -H "X-API-Key: ak_live_xxxx"
Python
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()
TypeScript
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:

ParameterTypeDescription
limitintegerResults per page (default: 20, max: 100)
offsetintegerNumber of results to skip
sort_bystringSort field: started_at, duration_seconds
sort_orderstringasc 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

ChannelSourceDescription
phonePSTN/TwilioTraditional phone calls via Twilio
mobileMobile appCalls from the Aurion mobile app
widgetWeb widgetCalls from the embedded voice widget

Call Statuses

StatusDescription
activeCall is in progress
completedCall ended normally
escalatedCall was escalated to a human agent
failedCall failed (network issue, timeout)
abandonedCaller hung up before resolution

Webhook Events

Subscribe to call events via webhooks:

EventDescription
call.startedA voice call session started
call.completedA voice call session ended
call.escalatedA call was escalated to a human agent

Required Scope

API key requires the calls:read scope to access call endpoints.

On this page