Skip to main content
GET
/
api
/
v1
/
Account
/
{auth_id}
/
cdr
List call records
curl --request GET \
  --url https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr \
  --header 'X-Auth-ID: <api-key>' \
  --header 'X-Auth-Token: <api-key>'
{
  "account_id": "MA_XXXXXXXX",
  "count": 2,
  "data": [
    {
      "account_id": "MA_XXXXXXXX",
      "answer_time": "2026-03-25T10:00:01Z",
      "billsec": 42,
      "bridge_uuid": "aabbccdd-1234-5678-90ab-cdef12345678",
      "call_direction": "outbound",
      "caller_id_name": "John Doe",
      "caller_id_number": "+919876543210",
      "campaign_id": null,
      "carrier_ip": "10.0.0.1",
      "codec": "PCMU",
      "context": "voice-api",
      "cost": 0.45,
      "created_at": "2026-03-25T10:00:42Z",
      "currency": "INR",
      "customer_endpoint": null,
      "destination_number": "+918012345678",
      "duration": 47,
      "end_time": "2026-03-25T10:00:42Z",
      "failure_code": null,
      "failure_reason": null,
      "hangup_cause": "NORMAL_CLEARING",
      "hangup_cause_code": 4000,
      "hangup_cause_name": "Normal Hangup",
      "hangup_disposition": "send_bye",
      "hangup_source": "Caller",
      "id": 18000000,
      "jitter": 0.2,
      "mos": 4.5,
      "network_addr": "10.0.0.1",
      "origination_region": "mumbai",
      "packet_loss": 0.1,
      "progress_time": "2026-03-25T10:00:00Z",
      "region": "ap-south-1",
      "ring_time": 5,
      "sip_call_id": "11223344-5566-7788-99aa-bbccddeeff00",
      "sip_user_agent": "Vobiz",
      "start_time": "2026-03-25T10:00:00Z",
      "streaming_cost": 0,
      "terminated_to": null,
      "total_cost": 0.45,
      "trunk_id": null,
      "updated_at": "2026-03-25T10:00:42Z",
      "uuid": "aabbccdd-1234-5678-90ab-cdef12345678"
    },
    {
      "account_id": "MA_XXXXXXXX",
      "answer_time": null,
      "billsec": 0,
      "bridge_uuid": null,
      "call_direction": "inbound",
      "caller_id_name": "",
      "caller_id_number": "+919876543210",
      "campaign_id": null,
      "carrier_ip": null,
      "codec": "PCMU",
      "context": "voice-api",
      "cost": 0,
      "created_at": "2026-03-25T09:30:12Z",
      "currency": "INR",
      "customer_endpoint": null,
      "destination_number": "+918012345678",
      "duration": 12,
      "end_time": "2026-03-25T09:30:12Z",
      "failure_code": "16",
      "failure_reason": "NO_ANSWER",
      "hangup_cause": "NO_ANSWER",
      "hangup_cause_code": 4100,
      "hangup_cause_name": "No Answer",
      "hangup_disposition": "send_cancel",
      "hangup_source": "Callee",
      "id": 18000001,
      "jitter": 0,
      "mos": 0,
      "network_addr": "10.0.0.1",
      "origination_region": "mumbai",
      "packet_loss": 0,
      "progress_time": "2026-03-25T09:30:00Z",
      "region": "ap-south-1",
      "ring_time": 12,
      "sip_call_id": "99887766-5544-3322-1100-aabbccddeeff",
      "sip_user_agent": "Vobiz",
      "start_time": "2026-03-25T09:30:00Z",
      "streaming_cost": 0,
      "terminated_to": null,
      "total_cost": 0,
      "trunk_id": null,
      "updated_at": "2026-03-25T09:30:12Z",
      "uuid": "11223344-5566-7788-99aa-bbccddeeff00"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 4500,
    "pages": 225,
    "has_next": true,
    "has_prev": false
  },
  "success": true,
  "summary": {
    "answerRate": 48.2,
    "answeredCalls": 2171,
    "avgCallDuration": "28s",
    "last_call_at": "2026-03-25T10:00:00Z",
    "totalCalls": 4500,
    "total_billable_seconds": 61211,
    "total_cost": 1564.51,
    "total_duration_seconds": 118234
  }
}
This is the primary endpoint for call analytics and billing review. It returns CDRs newest-first, with a 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.
ParameterTypeDefaultNotes
from_numberstring-Originating (caller) number. Substring or full E.164, e.g. 9876543210.
to_numberstring-Destination (callee) number. Substring or full E.164.
start_datestring YYYY-MM-DD-Beginning of the period. Required together with end_date.
end_datestring YYYY-MM-DD-End of the period. Required together with start_date.
call_directionenum-inbound or outbound only.
min_durationinteger-Seconds. Excludes calls shorter than this value.
pageinteger1Page number.
per_pageinteger20Records per page. Max 100.
The filter params are from_number / to_number, but on the returned CDR object the corresponding fields are caller_id_number / destination_number. Filter on the former, read the latter.

Pagination

The pagination 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)
  • avgCallDuration is a string like "28s" - parse it, don’t do arithmetic on it. For numeric work use total_duration_seconds and total_billable_seconds.
  • total_cost is in the account currency; last_call_at is ISO 8601.

Edge cases

  • No matches: a valid request that matches nothing returns 200 with data: [], count: 0, and a zeroed summary - not a 404.
  • Quality metrics on unanswered calls: mos, jitter, and packet_loss are often 0 (or null) for calls that never carried media. Treat mos: 0 as “no media”, not “worst quality”.
  • Unanswered calls have answer_time: null and billsec: 0.
  • Casing: Account is capitalized and cdr is lowercase in the path.

Example

cURL
curl -G "https://api.vobiz.ai/api/v1/Account/{auth_id}/cdr" \
  --data-urlencode "start_date=2026-03-01" \
  --data-urlencode "end_date=2026-03-17" \
  --data-urlencode "call_direction=outbound" \
  --data-urlencode "min_duration=10" \
  --data-urlencode "page=1" --data-urlencode "per_page=50" \
  -H "X-Auth-ID: {auth_id}" \
  -H "X-Auth-Token: {auth_token}"
See the CDR overview for the complete 43-field glossary and the Hangup Causes reference for decoding hangup_cause / hangup_cause_code.

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

page
integer
default:1

Page number for paginated results.

per_page
integer
default:20

Number of records per page. Max: 100.

Required range: x <= 100

Response

200 - application/json

Paginated list of CDRs

account_id
string
required
count
integer
required
data
object[]
required
pagination
object
required
success
boolean
required
summary
object
required