Get Call Logs
Retrieve call logs with filtering and pagination.
Endpoint
https://www.tabbly.io/dashboard/agents/endpoints/call-logs-v2
Get Call Logs
Retrieve paginated call logs for your organization. Returns processed call records with transcripts, summaries, and recording URLs. In-progress calls and incomplete answered calls are excluded.
Endpoint
http
GET https://www.tabbly.io/dashboard/agents/endpoints/call-logs-v2Authentication
See Introduction. This is a GET endpoint — send your API key in the Authorization: Bearer header. Pass organization_id as a query parameter — it must match the organization linked to your API key.
http
Authorization: Bearer YOUR_API_KEYQuery parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organization_id |
string | Yes | Your organization ID |
date_from |
string | No | Start date filter (YYYY-MM-DD) |
date_to |
string | No | End date filter (YYYY-MM-DD) |
call_status |
string | No | Exact match on stored status (e.g. Call Answered, Not Answered, Voicemail) |
campaign_id |
string | No | Filter by campaign ID |
use_agent_id |
string | No | Filter by agent ID |
custom_identifiers |
string | No | Filter by custom identifier string |
limit |
integer | No | Page size (default: 100) |
offset |
integer | No | Records to skip (default: 0) |
Example request
bash
curl -G "https://www.tabbly.io/dashboard/agents/endpoints/call-logs-v2" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "organization_id=3282" \
--data-urlencode "limit=50" \
--data-urlencode "offset=0"Response
Success (200)
json
{
"status": "success",
"message": "Call logs retrieved successfully",
"total_records": 150,
"filtered_records": 50,
"page_size": 50,
"page_offset": 0,
"data": [
{
"participant_identity": "user-abc123",
"use_agent_id": "6355",
"called_to": "+917219552473",
"called_time": "2026-06-23 14:30:00",
"custom_identifiers": "user_id=12345",
"campaign_id": "2744",
"call_status": "Call Answered",
"call_duration": 245,
"start_time": "2026-06-23 14:30:00",
"end_time": "2026-06-23 14:34:05",
"call_transcript": "Transcript of the call...",
"call_summary": "Summary of the call...",
"call_sentiment": "positive",
"call_json_output": "{\"key\":\"value\"}",
"call_recording_url": "https://tabblydatastorage.sfo3.cdn.digitaloceanspaces.com/merged-user-abc123.mp3",
"total_call_cost": "0.98",
"telco_pricing": "0.015",
"agent_cost": 0.326,
"organization_id": "3282",
"call_direction": "outbound"
}
]
}Error responses
| HTTP status | When |
|---|---|
| 400 | Missing API key or organization_id, invalid date format |
| 401 | Invalid API key |
| 500 | Database connection failed |
Notes
- Results are sorted by ID descending (newest first).
- Only calls with a completed summary are returned (
details_added_cron = yesand non-emptycall_summary). call_recording_urlis built fromparticipant_identityusing the Tabbly CDN path shown above.call_directionisinboundoroutbound.