List CDRs
Retrieve paginated Vobiz call detail records with filters for date range, number, direction, and duration - the primary endpoint for call analytics and billing review.
pagination block for paging and a summary block of aggregate metrics across the filtered set. A CDR is written only after a call completes, so very recent calls may take a few seconds to appear.
Filters
All filters are optional and combine with AND. Apply them as query-string parameters.| Parameter | Type | Default | Notes |
|---|---|---|---|
from_number | string | - | Originating (caller) number. Substring or full E.164, e.g. 9876543210. |
to_number | string | - | Destination (callee) number. Substring or full E.164. |
start_date | string YYYY-MM-DD | - | Beginning of the period. Required together with end_date. |
end_date | string YYYY-MM-DD | - | End of the period. Required together with start_date. |
call_direction | enum | - | inbound or outbound only. |
min_duration | integer | - | Seconds. Excludes calls shorter than this value. |
sip_call_id | string | - | The SIP Call-ID of the call, e.g. dD1qwu5VZ5iK3ed5u3uspjY5RKL. Matches the sip_call_id field on the CDR. |
bridge_uuid | string | - | UUID of the bridged leg, e.g. 4b7ae653-f40d-42f1-b582-6b05dfcd0c0a. Matches the bridge_uuid field on the CDR. |
hangup_cause | string | - | Telephony hangup cause, e.g. NORMAL_CLEARING. See Hangup Causes. |
hangup_disposition | string | - | How the leg was released, e.g. send_refuse. |
context | string | - | Call context, e.g. sip-trunking. |
campaign_id | string | - | Campaign identifier associated with the call. |
search | string | - | Free-text search across CDR fields (numbers, IDs, etc.). |
page | integer | 1 | Page number. |
per_page | integer | 20 | Records per page. Max 100. |
from_number / to_number filters map to the caller_id_number / destination_number fields on the returned CDR object — filter on the former, read the latter. The other filters (sip_call_id, bridge_uuid, hangup_cause, hangup_disposition, context, campaign_id) match the same-named CDR fields directly.Pagination
Thepagination object is { page, per_page, total, pages, has_next, has_prev } - not current_page / total_records. total is the count across all pages and pages = ceil(total / per_page). Loop while has_next is true, incrementing page.
Reading the summary
summary is computed over the filtered set, not your whole account:
totalCalls,answeredCalls,answerRate(percent)avgCallDurationis a string like"28s"- parse it, don’t do arithmetic on it. For numeric work usetotal_duration_secondsandtotal_billable_seconds.total_costis in the accountcurrency;last_call_atis ISO 8601.
Edge cases
- No matches: a valid request that matches nothing returns
200withdata: [],count: 0, and a zeroedsummary- not a404. - Quality metrics on unanswered calls:
mos,jitter, andpacket_lossare often0(ornull) for calls that never carried media. Treatmos: 0as “no media”, not “worst quality”. - Unanswered calls have
answer_time: nullandbillsec: 0. - Casing:
Accountis capitalized andcdris lowercase in the path.
Example
hangup_cause / hangup_cause_code.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.).
Page number for paginated results.
Number of records per page. Max: 100.
x <= 100