Get CDR 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_at and ended_at
    When the event started and ended.
  • duration
    Event duration in seconds, when available.
  • Optional context such as user, queue, and manager.

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_at and duration can be null for events that are still in progress or do not produce a duration.
  • user and queue can be null depending on the event type.
  • event values include voice and digital channel events, such as dialing, 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:

429 Too many requests

What to do:

  • Reduce request frequency and retry with backoff.
Path Params
uuid
required

The unique identifier of the CDR.

Query Params
integer
0 to 1000
Defaults to 100

The number of items to return.

integer
≥ 0
Defaults to 0

The number of items to skip before starting to collect the result set.

Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json