Call Detail Records (CDR)
Retrieve detailed call logs and usage data for your account. CDRs contain everything about a completed call — participants, duration, direction, status, cost, and hangup reason. Use them for billing reconciliation, traffic analysis, fraud detection, and compliance reporting.
The CDR API provides multiple endpoints depending on your use case — listing CDRs with filters, fetching a single record by call ID, searching with a filter summary, retrieving the most recent calls, or exporting data as CSV.
Authentication: All CDR endpoints use API key authentication. Pass X-Auth-ID and X-Auth-Token in your request headers.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/account/{account_id}/cdr | List all CDRs with optional filters |
| GET | /api/v1/account/{account_id}/cdr/{call_id} | Fetch a single CDR by call ID |
| GET | /api/v1/account/{account_id}/cdr/search | Search CDRs — same filters, adds filter summary in response |
| GET | /api/v1/account/{account_id}/cdr/recent | Get the most recent CDRs (last 20 by default) |
| GET | /api/v1/account/{account_id}/cdr/export | Export CDRs as a CSV file |
List CDRs
https://api.vobiz.ai/api/v1/account/{account_id}/cdrReturns all CDRs for your account. Supports filtering by phone numbers, date range, call direction, duration, and pagination.
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr?start_date=2026-03-01&end_date=2026-03-17" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr?from_number=9876543210&to_number=1234567890" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr?from_number=9876543210&call_direction=outbound&min_duration=10&start_date=2026-03-01&end_date=2026-03-17&page=1&per_page=20" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Get Single CDR
https://api.vobiz.ai/api/v1/account/{account_id}/cdr/{call_id}Retrieve the CDR for a specific completed call using its call ID. Useful when you have a call_id from a callback or previous API response and want full detail on that call.
account_idRequiredYour Vobiz account IDcall_idRequiredThe unique call ID of the completed callcurl --location 'https://api.vobiz.ai/api/v1/account/{auth_id}/cdr/{call_id}' \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Search CDRs
https://api.vobiz.ai/api/v1/account/{account_id}/cdr/searchIdentical filters to the list endpoint, but the response also includes a filter_summary object describing the active filters applied. Useful for building search UIs where you need to display active filter state back to the user.
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr/search?from_number=9876543210&to_number=1234567890&page=1&per_page=50" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Recent CDRs
https://api.vobiz.ai/api/v1/account/{account_id}/cdr/recentReturns the most recent CDRs for your account without requiring a date range. Returns the last 20 records by default. Use the limit parameter to retrieve up to a larger set of recent calls quickly.
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr/recent?limit=50" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Export as CSV
https://api.vobiz.ai/api/v1/account/{account_id}/cdr/exportReturns CDR data as a downloadable CSV file. Supports the same filters as the list endpoint. Use the -o flag in curl to save directly to a file. Ideal for billing reconciliation and offline reporting workflows.
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr/export?from_number=9876543210&to_number=1234567890" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
-o cdrs.csvtext/csv content — do not send an Accept: application/json header on this request.Query Parameters
Path Parameters
| Parameter | Type | Description |
|---|---|---|
account_idrequired | string | Your unique Vobiz account identifier. Must match your X-Auth-ID header. |
Filter Parameters (all endpoints)
| Parameter | Type | Description |
|---|---|---|
from_numberoptional | string | Filter by the originating phone number (e.g. 9876543210). Matches the caller's number. |
to_numberoptional | string | Filter by the destination phone number. Matches the called number. |
start_dateoptional | string (YYYY-MM-DD) | Beginning of the search period. Required when using end_date. |
end_dateoptional | string (YYYY-MM-DD) | End of the search period. Required when using start_date. |
call_directionoptional | string | Filter by direction: "inbound" or "outbound". |
min_durationoptional | integer | Minimum call duration in seconds. Excludes calls shorter than this value. |
pageoptional | integer | Page number for paginated results. Default: 1. |
per_pageoptional | integer | Number of records per page. Default: 20. Max: 100. |
Recent endpoint only
| Parameter | Type | Description |
|---|---|---|
limitoptional | integer | Number of recent CDRs to return. Default: 20. |
Response
A successful request returns a 200 OK status with a JSON body containing an array of call records and pagination metadata.
{
"data": [
{
"call_id": "abc123-def456-ghi789",
"from_number": "+912271264217",
"to_number": "+919876543210",
"direction": "outbound",
"duration": 125,
"status": "completed",
"start_time": "2026-03-17T10:30:00Z",
"end_time": "2026-03-17T10:32:05Z",
"cost": 0.05,
"currency": "INR",
"trunk_id": "e3e55a78-1234-5678-90ab-cdef12345678",
"caller_id": "+912271264217",
"hangup_cause": "NORMAL_CLEARING"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total_records": 150,
"total_pages": 8
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| call_id | string | Unique identifier for the call |
| from_number | string | Originating phone number (E.164 format) |
| to_number | string | Destination phone number (E.164 format) |
| direction | string | "inbound" or "outbound" |
| duration | integer | Call length in seconds |
| status | string | "completed", "no-answer", "busy", "failed" |
| start_time | string (ISO 8601) | Call start timestamp in UTC |
| end_time | string (ISO 8601) | Call end timestamp in UTC |
| cost | number | Cost of the call |
| currency | string | Currency of the cost field |
| trunk_id | string | ID of the SIP trunk used for this call |
| caller_id | string | Caller ID presented to the recipient |
| hangup_cause | string | Reason the call ended (e.g. NORMAL_CLEARING, NO_ANSWER) |
Examples
Filter by number + date range
Get all calls from a specific number within a date window
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr?from_number=9876543210&start_date=2026-03-01&end_date=2026-03-17" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Outbound calls only, minimum 10 seconds
Useful for filtering out unanswered or very short calls
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr?call_direction=outbound&min_duration=10&start_date=2026-03-01&end_date=2026-03-17&page=1&per_page=20" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Get a single call's CDR
Fetch full detail for one call using its call_id from a callback or previous response
curl --location 'https://api.vobiz.ai/api/v1/account/{auth_id}/cdr/abc123-def456-ghi789' \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Export to CSV
Download filtered CDRs directly to a file for billing or reporting
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr/export?from_number=9876543210&to_number=1234567890" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
-o cdrs.csvRecent calls (no date required)
Quickly check the last N calls without specifying a date range
curl -X GET \
"https://api.vobiz.ai/api/v1/account/{account_id}/cdr/recent?limit=50" \
--header 'X-Auth-ID: {auth_id}' \
--header 'X-Auth-Token: {auth_token}' \
--header 'Accept: application/json'Quick Reference — All Supported Filters
| Parameter | Example | Works on |
|---|---|---|
| from_number | 9876543210 | list, search, export |
| to_number | 1234567890 | list, search, export |
| start_date | 2026-03-01 | list, search, export |
| end_date | 2026-03-17 | list, search, export |
| call_direction | outbound | list, search, export |
| min_duration | 10 | list, search, export |
| page | 1 | list, search |
| per_page | 50 | list, search |
| limit | 50 | recent only |