This request will return a list of all CDR of customers related to specific reseller. Checks of CDR older than 6 months can't be made and it can only be within a time window of one month.
| URL | https://api.telecomx.dk/customer/cdrs | |
|---|---|---|
| Method | GET | |
| Access level | RESELLER, RESELLER_ADMIN or ADMIN | |
| Query | offset | [optional] Index of the first CDR to return, default 0. |
| limit | [optional] The number of CDR return, default 10000, min 1, max 10000. |
|
| fromDate | To filter CDR from specific date. Format: YYYY-MM-DD | |
| toDate | [optional] To filter CDR to specific date. Default one month from fromDate. Format: YYYY-MM-DD |
|
| type | [optional] Type of calls to check for. INBOUND or OUTBOUND |
|
https://api.telecomx.dk/customer/cdrs?fromDate=2025-08-01 https://api.telecomx.dk/customer/cdrs?fromDate=2025-08-01&offset=0&limit=10000 https://api.telecomx.dk/customer/cdrs?fromDate=2025-08-01&toDate=2025-08-21&offset=0&limit=10000 https://api.telecomx.dk/customer/cdrs?fromDate=2025-08-01&toDate=2025-08-21&type=INBOUND&offset=0&limit=10000
| Response object (JSON) | ||
|---|---|---|
| offset | Number | Current pagination offset for CDR. |
| limit | Number | Number of CDR requested per page (max 10000). |
| count | Number | Total number of CDR found. |
| cdrs | Array | Array of CDR objects |
| CDR object | ||
| cdrs[]._id | Id | Unique CDR id. |
| cdrs[].aNumber | String | A-number (calling party). Returns empty string if aNumber is secret |
| cdrs[].aNumberSecret | Boolean | True if the A-number is secret (aNumber is then an empty string). |
| cdrs[].bNumber | String | B-number (called party). |
| cdrs[].customer | Id | Customer id the CDR belongs to. |
| cdrs[].talkLength | Number | Duration of the call in seconds. |
| cdrs[].terminatedBy | String | Party that terminated the call: A, B or S (system). |
| cdrs[].terminationCause | String | Reason for call termination: HANGUP, BUSY, NO_ANSWER, BLACKLISTED, BLOCKED, ERROR or NOT_FOUND. |
| cdrs[].minutesWholeSale | Number | Wholesale cost in minutes. |
| cdrs[].minutesPrice | Number | Retail price in minutes. |
| cdrs[].start | Date | Call start timestamp (ISO format). |
| cdrs[].type | String | Type of call. Can be MVNO_OUTBOUND, MVNO_INBOUND, SIP_OUTBOUND and SIP_INBOUND |
| cdrs[].destination | Object | Destination details. |
| cdrs[].destination.country | String | ISO country code (e.g., DK, SE). |
| cdrs[].destination.type | String | Destination type (e.g., mobile). |
| cdrs[].destination.name | String | Destination name (null if not available). |
{ "offset": 0, "limit": 10000, "count": 9217, "cdrs": [ { "_id": "650000000000000000000901", "aNumber": "+4512345678", "aNumberSecret": false, "bNumber": "+4587654321", "destination": { "country": "DK", "type": "mobile", "name": null }, "customer": "650000000000000000000101", "talkLength": 183, "terminatedBy": "A", "terminationCause": "HANGUP", "minutesWholeSale": 0.02, "minutesPrice": 0.15, "start": "2025-12-15T14:32:18.000Z", "type": "MVNO_OUTBOUND" }, { "_id": "650000000000000000000902", "aNumber": "", "aNumberSecret": true, "bNumber": "+46701234567", "destination": { "country": "SE", "type": "mobile", "name": null }, "customer": "650000000000000000000101", "talkLength": 425, "terminatedBy": "B", "terminationCause": "HANGUP", "minutesWholeSale": 0.05, "minutesPrice": 0.25, "start": "2025-12-15T10:15:42.000Z", "type": "SIP_INBOUND" } ] }
| Error code | Message | Description |
|---|---|---|
| 404 | fromDate | From date is missing |
| 422 | fromDate | From date is invalid or older than six months |
| 422 | toDate | To date is invalid or before from date |
| 422 | toDate | Date range cannot exceed one month |
| 404 | reseller | Reseller not found |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |