get
https://{defaultHost}/api/v4/reporting/cdrs//events
Returns paginated list of events for a specific CDR.
The Get CDR events endpoint returns the timeline events for a single CDR. Use it to understand how an interaction progressed, for example dialing, queueing, talk, hold, transfers, monitoring, or digital channel events.
Requirements: Base URL, Authentication, Error codes
Scope: reporting.cdrs.read
What this does
When you send a Get CDR events request with a CDR ID,
Voiso
returns a paginated list of timeline events for that CDR.
Each event includes:
event
The event name.started_atandended_at
When the event started and ended.duration
Event duration in seconds, when available.- Optional context such as
user,queue, andmanager.
When to use it
- Build a call timeline in an external reporting tool
- Troubleshoot why a call ended, waited in queue, or was transferred
- Audit monitoring actions such as listen, whisper, or barge in
Endpoint
GET /api/v4/reporting/cdrs/{cdr_id}/events
Request parameters
Path parameters
- cdr_id
The unique identifier of the CDR (UUID).
Query parameters
All query parameters are optional.
- limit
The number of items to return. Default is 100. Maximum is 100. - offset
The number of items to skip before collecting results. Default is 0.
Examples
Minimal request
curl -X GET "https://{cluster_id}.voiso.com/api/v4/reporting/cdrs/7d7f8c74-da08-4eb3-b779-41364c129d8a/events" \
-H "Authorization: Bearer <contact_center_api_key>" \
-H "Content-Type: application/json"Request the third page of results (20 per page)
curl -X GET "https://{cluster_id}.voiso.com/api/v4/reporting/cdrs/7d7f8c74-da08-4eb3-b779-41364c129d8a/events?limit=20&offset=40" \
-H "Authorization: Bearer <contact_center_api_key>" \
-H "Content-Type: application/json"Response
If successful, the API returns an array of CDR events and pagination metadata.
{
"cdr_events": [
{
"id": "7d7f8c74-da08-4eb3-b779-41364c129d8a:1737775657101:dialing",
"event": "dialing",
"duration": 5.783,
"user": {
"id": "0b97ce11-b6e0-49b4-8f92-68040aa324bf",
"name": "Jane Doe",
"email": "[email protected]"
},
"queue": null,
"manager": false,
"started_at": "2026-02-05T11:32:43.413Z",
"ended_at": "2026-02-05T11:32:49.196Z"
},
{
"id": "7d7f8c74-da08-4eb3-b779-41364c129d8a:1737775669196:queue",
"event": "queue",
"duration": 10.796,
"user": {
"id": "0b97ce11-b6e0-49b4-8f92-68040aa324bf",
"name": "Jane Doe",
"email": "[email protected]"
},
"queue": {
"id": 1,
"name": "Technical Support"
},
"manager": false,
"started_at": "2026-02-05T11:32:49.196Z",
"ended_at": "2026-02-05T11:33:00. -Z"
},
{
"id": "7d7f8c74-da08-4eb3-b779-41364c129d8a:1737775680000:talk",
"event": "talk",
"duration": 21.835,
"user": {
"id": "0b97ce11-b6e0-49b4-8f92-68040aa324bf",
"name": "Jane Doe",
"email": "[email protected]"
},
"queue": {
"id": 1,
"name": "Technical Support"
},
"manager": false,
"started_at": "2026-02-05T11:33:00.000Z",
"ended_at": "2026-02-05T11:33:21.835Z"
},
{
"id": "7d7f8c74-da08-4eb3-b779-41364c129d8a:1737775685000:listen",
"event": "listen",
"duration": 8.0,
"user": {
"id": "0b97ce11-b6e0-49b4-8f92-68040aa324bf",
"name": "Jane Doe",
"email": "[email protected]"
},
"queue": {
"id": 1,
"name": "Technical Support"
},
"manager": {
"id": "b3a1d2e3-aaaa-bbbb-cccc-1234567890ab",
"name": "Supervisor One",
"email": "[email protected]"
},
"started_at": "2026-02-05T11:33:05.000Z",
"ended_at": "2026-02-05T11:33:13.000Z"
}
],
"metadata": {
"total": 4
}
}Notes
ended_atanddurationcan be null for events that are still in progress or do not produce a duration.userandqueuecan be null depending on the event type.eventvalues include voice and digital channel events, such asdialing,talk,hold,blind_transfer,conference,listen,whisper,accept,disconnect, and others.
Troubleshooting
401 Unauthorized
What to check:
- You are sending
Authorization: Bearer <contact_center_api_key>. - Your Base URL includes the correct
{cluster_id}.
403 Forbidden
What to check:
- The API key is valid, but does not have access to reporting resources in this contact center.
404 Not found
This usually means the CDR ID does not exist, or you do not have access to it.
What to check:
- Confirm the CDR ID using Get list of CDRs.
429 Too many requests
What to do:
- Reduce request frequency and retry with backoff.