Export CDRs as CSV
Export Vobiz call detail records as a CSV file for billing reconciliation, compliance auditing, and traffic analysis - returns text/csv content directly.
curl --request GET \
--url https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>'import requests
url = "https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export"
headers = {
"X-Auth-ID": "<api-key>",
"X-Auth-Token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Auth-ID': '<api-key>', 'X-Auth-Token': '<api-key>'}
};
fetch('https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<string>text/csv content. Do not send Accept: application/json on this request - pipe the response directly to a file with curl -o cdrs.csv.Filters
Export accepts the same filters as the list endpoint, minus paging. There is nopage or per_page; the file contains every matching row.
| Parameter | Type | Notes |
|---|---|---|
from_number | string | Originating (caller) number. Substring or full E.164. |
to_number | string | Destination (callee) number. |
start_date | string YYYY-MM-DD | Required together with end_date. |
end_date | string YYYY-MM-DD | Required together with start_date. |
call_direction | enum | inbound or outbound. |
min_duration | integer | Seconds; excludes shorter calls. |
start_date/end_date (and any other filter) to keep the file size manageable for high-volume accounts.Response
- Content type is
text/csv. The columns mirror the CDR object fields (see the field glossary). - An empty match still returns
200with a header-only (or empty) CSV body - not a404.
Example
curl -G "https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export" \
--data-urlencode "start_date=2026-03-01" \
--data-urlencode "end_date=2026-03-17" \
--data-urlencode "call_direction=outbound" \
-H "X-Auth-ID: {auth_id}" \
-H "X-Auth-Token: {auth_token}" \
-o cdrs.csv
Authorizations
Your Vobiz account Auth ID
Your Vobiz account Auth Token
Path Parameters
Your account Auth ID
"MA_XXXXXX"
Query Parameters
Filter by the originating phone number (caller).
"9876543210"
Filter by the destination phone number (callee).
"1234567890"
Beginning of the search period (YYYY-MM-DD). Required when using end_date.
"2026-03-01"
End of the search period (YYYY-MM-DD). Required when using start_date.
"2026-03-17"
Filter by direction.
inbound, outbound Minimum call duration in seconds. Excludes calls shorter than this value.
10
Filter by the SIP Call-ID of the call (matches the cdr's sip_call_id field).
"dD1qwu5VZ5iK3ed5u3uspjY5RKL"
Filter by the UUID of the bridged leg (matches the cdr's bridge_uuid field).
"4b7ae653-f40d-42f1-b582-6b05dfcd0c0a"
Filter by telephony hangup cause, e.g. NORMAL_CLEARING.
"NORMAL_CLEARING"
Filter by how the leg was released, e.g. send_refuse.
"send_refuse"
Filter by the call context, e.g. sip-trunking.
"sip-trunking"
Filter by the campaign identifier associated with the call.
Free-text search across CDR fields (numbers, IDs, etc.).
Response
CSV file containing CDR rows
The response is of type file.
Was this page helpful?
curl --request GET \
--url https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>'import requests
url = "https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export"
headers = {
"X-Auth-ID": "<api-key>",
"X-Auth-Token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Auth-ID': '<api-key>', 'X-Auth-Token': '<api-key>'}
};
fetch('https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<string>