Skip to main content
GET
/
api
/
v1
/
Account
/
{auth_id}
/
cdr
/
export
Export CDRs as CSV
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>"
The export endpoint returns text/csv content. Do not send Accept: application/json on this request - pipe the response directly to a file with curl -o cdrs.csv.
Export streams the matching CDRs as a CSV file - one row per call - for billing reconciliation, compliance auditing, and offline analysis.

Filters

Export accepts the same filters as the list endpoint, minus paging. There is no page or per_page; the file contains every matching row.
ParameterTypeNotes
from_numberstringOriginating (caller) number. Substring or full E.164.
to_numberstringDestination (callee) number.
start_datestring YYYY-MM-DDRequired together with end_date.
end_datestring YYYY-MM-DDRequired together with start_date.
call_directionenuminbound or outbound.
min_durationintegerSeconds; excludes shorter calls.
Because there is no paging, always scope the export with 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 200 with a header-only (or empty) CSV body - not a 404.

Example

cURL
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
To receive a large recordings archive by email instead of a synchronous CSV, see Export Historical Recordings. For per-call JSON, use List CDRs.

Authorizations

X-Auth-ID
string
header
required

Your Vobiz account Auth ID

X-Auth-Token
string
header
required

Your Vobiz account Auth Token

Path Parameters

auth_id
string
required

Your account Auth ID

Example:

"MA_XXXXXX"

Query Parameters

from_number
string

Filter by the originating phone number (caller).

Example:

"9876543210"

to_number
string

Filter by the destination phone number (callee).

Example:

"1234567890"

start_date
string<date>

Beginning of the search period (YYYY-MM-DD). Required when using end_date.

Example:

"2026-03-01"

end_date
string<date>

End of the search period (YYYY-MM-DD). Required when using start_date.

Example:

"2026-03-17"

call_direction
enum<string>

Filter by direction.

Available options:
inbound,
outbound
min_duration
integer

Minimum call duration in seconds. Excludes calls shorter than this value.

Example:

10

sip_call_id
string

Filter by the SIP Call-ID of the call (matches the cdr's sip_call_id field).

Example:

"dD1qwu5VZ5iK3ed5u3uspjY5RKL"

bridge_uuid
string

Filter by the UUID of the bridged leg (matches the cdr's bridge_uuid field).

Example:

"4b7ae653-f40d-42f1-b582-6b05dfcd0c0a"

hangup_cause
string

Filter by telephony hangup cause, e.g. NORMAL_CLEARING.

Example:

"NORMAL_CLEARING"

hangup_disposition
string

Filter by how the leg was released, e.g. send_refuse.

Example:

"send_refuse"

context
string

Filter by the call context, e.g. sip-trunking.

Example:

"sip-trunking"

campaign_id
string

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.