Documentation Index
Fetch the complete documentation index at: https://docs.getsmartalex.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Calls API gives you read access to call records, transcripts, and metadata for every call SmartAlex has handled in your workspace.
Outbound calls are placed via Campaigns, not by directly creating calls through this API. Web-call sessions for embedded widgets are handled by the embeddable widget itself, not via a programmatic API.
List Calls
Get call records with optional filtering.
curl -X GET "https://api.getsmartalex.com/v1/calls?page=1&per_page=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Query Parameters
| Parameter | Type | Description |
|---|
status | string | Filter by call_status (e.g. completed, failed) |
since_hours | integer | Restrict to calls within the last N hours |
page | integer | Page number (default: 1) |
per_page | integer | Items per page (default: 20) |
Response
{
"data": [
{
"id": "call_abc123",
"agent_id": "agent_def456",
"contact_id": "contact_xyz789",
"direction": "inbound",
"call_status": "completed",
"duration_seconds": 245,
"sentiment": "positive",
"cost": 0.45,
"start_timestamp": "2026-01-15T14:30:00Z",
"end_timestamp": "2026-01-15T14:34:05Z"
}
],
"meta": {
"total": 150,
"page": 1,
"per_page": 20
}
}
Get Call
Retrieve full detail for a specific call, including transcript.
curl -X GET "https://api.getsmartalex.com/v1/calls/call_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
"data": {
"id": "call_abc123",
"agent_id": "agent_def456",
"contact_id": "contact_xyz789",
"campaign_id": null,
"direction": "inbound",
"call_status": "completed",
"duration_seconds": 245,
"sentiment": "positive",
"cost": 0.45,
"summary": "Caller requested to schedule an appointment for next Tuesday at 2pm. Collected contact information and confirmed booking.",
"transcript": [
{
"speaker": "agent",
"text": "Hello, thank you for calling ABC Company. This is Alex, how can I help you today?",
"timestamp": 0
},
{
"speaker": "caller",
"text": "Hi, I'd like to schedule an appointment.",
"timestamp": 5
}
],
"start_timestamp": "2026-01-15T14:30:00Z",
"end_timestamp": "2026-01-15T14:34:05Z"
}
}
Call Direction
| Value | Meaning |
|---|
inbound | The caller dialled your SmartAlex phone number |
outbound | The agent placed the call (e.g. via a campaign) |
web | The call came from a SmartAlex widget on your website |
Call Status
| Value | Description |
|---|
completed | Call ended normally |
voicemail | Reached voicemail |
no_answer | No one answered |
busy | Line was busy |
failed | Call could not be completed |
Sentiment
| Value | Meaning |
|---|
positive | Caller expressed satisfaction or interest |
neutral | Standard informational exchange |
negative | Caller frustrated or dissatisfied |
Recordings and transcripts
Call recordings and transcripts are accessible from the dashboard under Call Logs. The API returns the transcript inline with GET /calls/:id. Audio recording URLs are available from the dashboard with role-gated access; programmatic recording access is on the roadmap — contact support if you need it.
Error Codes
| Code | Description |
|---|
call_not_found | Call ID doesn’t exist |