Search Specific CDR
Search specific CDR from the CDR list.
Request URL
GET {base_url}/{api_path}/cdr/search?access_token={access_token}
Request parameters
Note: To perform a fuzzy search for the phone number, you can enable the fuzzy search feature using the Edit CDR Options interface.
| Parameter | Required | Type | Description |
|---|---|---|---|
| page | No | Integer | Define which page is displayed. Note: If this parameter is left blank, the response result will return the first page by default. |
| page_size | No | Integer | Define how many records per page. Maximum value: 10,000 Note: If this parameter is left blank, the response result will return 10,000 records per page by default. |
| start_time | No | String | Specify the start time to filter CDR. Note:
|
| end_time | No | String | Specify the end time to filter CDR. Note:
|
| call_from | No | String | The number of caller. |
| call_to | No | String | The number of callee. |
| pin_code | No | String | The PIN code used to make outbound calls via a PIN-restricted outbound route and recorded in the CDR. Note:
|
| extension_group | No | Integer | The unique ID of the extension group to only query group member's calls. Note: You can query the extension group's ID using Get Menu Options. |
| disposition_code_list | No | String | The ID(s) of the call disposition code(s) of call notes. Note:
|
| call_note_remark | No | String | The remark of call notes. |
| status | No | String | call status. Valid value:
|
| did | No | String | Specify the DID to filter the CDR. Valid value: {did_number}: trunk_name} or {did_name}:{trunk_name} Note:
|
Response parameters
| Parameter | Type | Description |
|---|---|---|
| errcode | Integer | Returned error code.
|
| errmsg | String | Returned message.
|
| total_number | Integer | The total number of the searched CDR. |
| data | Array<CDR_Details> | The detailed information of the CDR. |
CDR_Details
| Parameter | Type | Description |
|---|---|---|
| id | Integer | The sequence number of the record. Note: This parameter is returned only for legacy CDRs generated on version 83.21.0.66 or earlier. |
| new_id | String | The primary key ID of the record. Note: This parameter is returned only for new CDRs generated on version 83.21.0.117 or earlier. |
| time | String | The time the call was made or received. |
| call_from | String | The number or/and the name of the caller. |
| call_to | String | The number or/and the name of the callee. |
| pin_code | String | The PIN code used to make the outbound call. |
| timestamp | Integer | The timestamp of the time that the call was made or received. |
| uid | String | The unique ID of the CDR. |
| src_addr | String | The IP address of the caller's device. |
| src_trunk | String | The call was received via which trunk. |
| dst_trunk | String | The call was sent out via which trunk. |
| duration | Integer | The time between the call started and the call ended. |
| ring_duration | Integer | The time between the call started and the call answered. |
| talk_duration | Integer | The time between the call answered and the call ended. |
| disposition | String | Call status.
|
| call_type | String | Communication type.
|
| did_number | String | The phone number that the caller dialed. |
| dod_number | String | The phone number that was displayed on the callee's phone. |
| record_file | String | The name of the call recording file. |
| reason | String | The reason why the call was ended. Note: This parameter is returned only for legacy CDRs generated on version 83.21.0.66 or earlier. |
| call_from_number | String | The number of the caller. |
| call_from_name | String | The name of the caller. |
| call_to_number | String | The number of the callee. |
| call_to_name | String | The name of the callee. |
| call_id | String | The unique ID of the call. |
| call_note | Object<Call_Note> | The call note of the call. |
| call_note_id | String | The unique ID of the call note. |
| enb_call_note | Integer | Whether call note can be edited or not.
|
| did | String | The phone number that the caller dialed and the associated name. |
| did_name | String | The name associated with the phone number that the caller dialed. |
Call_Note
| Parameter | Type | Description |
|---|---|---|
| id | String | The unique ID of the call note. |
| group_id | String | The group ID of the call note. |
| disposition_code_list | Array<Disposition_Codes> | The disposition code(s) selected in the call note. |
| remark | String | The remark of the call note. |
| agent_name | String | The name of the extension user who adds the call note. |
| registration_time | Long | The time when the extension user adds the call note. |
| update_entry | String | The scenario in which the call note is modified.
|
Disposition_Codes
| Parameter | Type | Description |
|---|---|---|
| id | Integer | The unique ID of the call disposition code. |
| name | String | The label of the call disposition code. |
| description | String | The description of the call disposition code |
Examples
Request example
Query the record details of the calls made by extension 1001 during 2025/12/19 10:40:00-2025/12/19 10:45:00.
Important: If you want to filter CDR by date and time, the format of start_time and end_time MUST follow the date and time display format of your PBX, otherwise the response will not return any CDR records.
GET /openapi/v1.0/cdr/search?start_time=2025/12/19 10:40:00&end_time=2025/12/19 10:45:00&access_token=nK3qIHTzFCquRnXz6l1NPB4rVecNXmD6&call_from=1001 HTTP/1.1 192.168.5.150:8088
Response example
HTTP/1.1 200 OK
{
"errcode": 0,
"errmsg": "SUCCESS",
"total_number": 3,
"data": [
{
"time": "2025/12/19 10:40:07",
"call_from": "Phillip Huff<1001>",
"call_to": "Call Flow aaa<6901>",
"timestamp": 1766112007,
"uid": "2025121910400711733",
"src_addr": "192.168.28.44:5062",
"duration": 10,
"talk_duration": 10,
"disposition": "ANSWERED",
"call_type": "Internal",
"call_from_number": "1001",
"call_from_name": "Phillip Huff",
"call_to_number": "6901",
"call_to_name": "aaa",
"call_id": "1766112007.0",
"call_note": null,
"call_note_id": "",
"enb_call_note": 0,
"did": "",
"did_name": "",
"pin_code": "",
"new_id": "66CD1EAE-AF80033C"
},
{
"time": "2025/12/19 10:40:26",
"call_from": "Phillip Huff<1001>",
"call_to": "Call Flow aaa<6901>",
"timestamp": 1766112026,
"uid": "2025121910402635715",
"src_addr": "192.168.28.44:5062",
"duration": 11,
"talk_duration": 11,
"disposition": "ANSWERED",
"call_type": "Internal",
"call_from_number": "1001",
"call_from_name": "Phillip Huff",
"call_to_number": "6901",
"call_to_name": "aaa",
"call_id": "1766112026.2",
"call_note": null,
"call_note_id": "",
"enb_call_note": 0,
"did": "",
"did_name": "",
"pin_code": "",
"new_id": "66CD1EC2-2E0000E6"
},
{
"id": 2710,
"time": "05/30/2022 14:53:41",
"call_from": "Kristin Hale<2005>",
"call_to": "1000",
"pin_code": "1111",
"timestamp": 1653893621,
"uid": "202205301453416CEAB",
"src_addr": "192.168.28.25",
"dst_trunk": "peer-to-34",
"duration": 7,
"talk_duration": 7,
"disposition": "ANSWERED",
"call_type": "Outbound",
"dod_number": "2005",
"reason": "src hangup ",
"call_from_number": "2005",
"call_from_name": "Kristin Hale",
"call_to_number": "1000",
"call_to_name": " ",
"call_id": "1718690912.7",
"call_note": {
"id": "20220530160214-24CE3",
"group_id": "1745395229.3",
"disposition_code_list": [
{
"id": 21,
"name": "Transferred to Another Department",
"description": "The call was transferred to the appropriate team or department."
}
],
"remark": "User encountered xx issue, needs resolution from the tech support department",
"agent_name": "Madison Cooper",
"registration_time": 1741226653,
"update_entry": ""
},
"call_note_id": "20220530160214-24CE3",
"enb_call_note": 8,
"did": "123456",
"did_name": ""
}
]
}