Query CDR Detail (v2.0)
Query CDR details.
Note: This interface is only available in API version
2.0.
Request URL
GET {base_url}/{api_path}/cdr/detail?access_token={access_token}
Request parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| uid | Yes | String | The unique ID of the CDR. Note: You can query CDR ID using Search Specific CDR (v2.0)
interface.
|
Response parameters
| Parameter | Type | Description |
|---|---|---|
| errcode | Integer | Returned error code.
Note: You can check the error code and
error message in Error Code and Error Message.
|
| errmsg | String | Returned message.
|
| data | Object<CDR_Detail> | The CDR details. |
- CDR_Detail
-
Parameter Type Description basic Object<Basic_Info> The basic information of CDR. call_notes Object<Call_Note> The information of call note. timeline Array<Timeline_Info> The information of timeline data.
| Parameter | Type | Description |
|---|---|---|
| id | Integer | The sequence number of the record. |
| uid | String | The unique ID of the CDR. |
| time | String | The time when the call was made or received. |
| call_type | String | Communication type.
|
| call_from | String | The number and name of the caller. |
| call_from_name | String | The name of the caller. |
| call_from_number | String | The number of the caller. |
| call_from_avatar | String | The file ID of caller's extension avatar. |
| call_to | String | The number and name of the callee. |
| call_to_name | String | The name of the callee. |
| call_to_number | String | The number of the callee. |
| call_to_avatar | String | The file ID of callee's extension avatar. |
| last_participant | String | The callee in the last call leg. |
| last_participant_name | String | The name of the callee in the last call leg. |
| last_participant_number | String | The number of the callee in the last call leg. |
| last_participant_avatar | String | The file ID of callee's extension avatar in the last call leg. |
| last_status | String | The final status of the call.
|
| call_duration | Integer | The time between the call started and the call ended. |
| routing_duration | Integer | The time between the call started and the call answered. |
| ivr_duration | Integer | The time spent in IVR. |
| call_flow_duration | Integer | The time spent in call flow. |
| ring_duration | Integer | The time between the call started and the call answered. |
| handling_duration | Integer | The time between the call answered and the call ended, including any hold time. |
| talk_duration | Integer | The time between the call answered and the call ended. |
| hold_duration | Integer | The time during which the call is placed on hold. |
| disconnected_by | String | The party that terminated the call.
|
| enb_timeline | Integer | Whether call timeline is enabled.
|
| Parameter | Type | Description |
|---|---|---|
| Leg_{number} | Array<Call_Note_for_Leg> | The call notes associated with specific call leg. |
| 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. |
| 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 |
Timeline_Info
| Parameter | Type | Description |
|---|---|---|
| leg | Integer | The sequence number of the record. |
| transaction_id | String | The ID of the call leg. |
| time | String | The time the call was made or received. |
| call_type | String | Communication type.
|
| call_from | String | The number and name of the caller. |
| call_from_avatar | String | The file ID of caller's extension avatar. |
| call_to | String | The number and name of the callee. |
| call_to_avatar | String | The file ID of callee's extension avatar. |
| status | String | Call status.
|
| call_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. |
| hold_duration | Integer | The time during which the call is placed on hold. |
| src_trunk | String | The call was received via which trunk. |
| dst_trunk | String | The call was sent out via which trunk. |
| did | String | The phone number that the caller dialed and the associated name. |
| dod | String | The phone number that was displayed on the callee's phone. |
| src_addr | String | The IP address of the caller's device. |
| account_code | String | The PIN code used to make outbound calls via a PIN-restricted outbound route and recorded in the CDR. |
| event_list | Array<Event_List> | The information of call events. |
| call_from_ext_id | Integer | The ID of the caller extension. |
| call_to_ext_id | Integer | The ID of the callee extension. |
| has_ai_summary | Integer | Whether the CDR includes an AI-generated summary.
|
| cdr_id | String | The ID of the specific call leg from the desired CDR. |
| shaken | String | The SHAKEN attestation level or signature verification result.
|
| call_from_number | String | The number of the caller. |
| call_to_number | String | The number of the callee. |
| ai_receptionist_status | String | The processing result of calls handled by AI receptionists.
|
| call_quality_list | Array<Call_Quality> | The information of call quality. |
| Parameter | Type | Description |
|---|---|---|
| call_score | Object<call_score> | Information about the lowest-scoring call scenario. |
| callee_info | Object<callee_info> | Call information for callee side. |
| caller_info | Object<caller_info> | Call information for caller side. |
| performance_metrics | Object<performance_metrics> | QoS metrics for different call scenarios. |
call_score
| Parameter | Type | Description |
|---|---|---|
| lowest_scenario | String | The call scenario with the lowest MOS score.
|
| lowest_score | String | The lowest MOS score. |
| Parameter | Type | Description |
|---|---|---|
| name | String | Extension name and number. |
| duration | Integer | The duration during which call quality is monitored. |
| codec | String | The codec used for the call. |
| terminal_equipment | Array<terminal_equipment> | The client or device used for the call. |
| round_trip_time | Integer | The round-trip transmission time for audio packets. |
| local_address | Array | The local IP address used by the client for the call. |
| public_address | Array | The public IP address used by the client for the call. |
| network_type | Array<network_type> | The network connection type used by the client during the call. |
network_type
| Parameter | Type | Description |
|---|---|---|
| percentage | Integer | The percentage of the network connection type used during the call. |
| type | String | Network type.
|
terminal_equipment
| Parameter | Type | Description |
|---|---|---|
| model | String | Specific client model.
|
| type | String | Client type.
|
| version | String | Client version. |
| Parameter | Type | Description |
|---|---|---|
| callee_to_pbx | Object<qos_metrics> | QoS metrics from callee side to PBX. |
| caller_to_pbx | Object<qos_metrics> | QoS metrics from caller side to PBX. |
| pbx_to_callee | Object<qos_metrics> | QoS metrics from PBX to callee side. |
| pbx_to_caller | Object<qos_metrics> | QoS metrics from PBX to caller side. |
| Parameter | Type | Description |
|---|---|---|
| mos | String | The Mean Opinion Score (MOS) for audio quality. |
| packet_loss | String | The percentage of lost audio packets. |
| avg_jitter | String | The delay variation compensation buffer. |
| avg_latency | String | The network transmission delay. |
Event_List
| Parameter | Type | Description |
|---|---|---|
| event_content | String | Details about the event. |
| event_id | String | The unique ID of the event. |
| event_name | String | Event name. |
| event_time | Integer | Elapsed time in seconds from the start of the call to when the event occurred. |
| event_ts | String | The time when the event occurred. |
| event_type | String | Event type. |
| pos | String | The scenario in which call note is added. |
| child | Array<Child_Event> | The information of child event. |
| Parameter | Type | Description |
|---|---|---|
| event_content | String | Details about the event. |
| event_id | String | The unique ID of the event. |
| event_name | String | Event name. |
| event_time | Integer | Elapsed time in seconds from the start of the call to when the event occurred. |
| event_ts | String | The time when the event occurred. |
| event_type | String | Event type. |
| pos | String | The scenario in which call note is added. |
| child | Array<Child_Event> | The information of child event. |
Examples
Request example
GET /openapi/v2.0/cdr/detail?access_token=UpC3Er3cXokxyPSM7E1KkRhlXD0Tp0so&uid=202606051629069F667 HTTP/1.1
Host: yeastardocs.example.yeastarcloud.com
Response example
HTTP/1.1 200 OK { "errcode": 0, "data": { "basic": { "id": "67AED734-47C00135", "uid": "20260612182412C3BB1", "time": "2026/06/12 18:24:12", "call_type": "Internal", "call_from": "Evelyn<3200>", "call_from_name": "Evelyn", "call_from_number": "3200", "call_from_avatar": "", "call_to": "ringgroup Test<3021>", "call_to_name": "ringgroup Test", "call_to_number": "3021", "call_to_avatar": "", "last_participant": "ringgroup Test<3021>", "last_participant_name": "ringgroup Test", "last_participant_number": "3021", "last_participant_avatar": "", "last_status": "ANSWERED", "call_duration": 30, "routing_duration": 3, "ivr_duration": 0, "call_flow_duration": 0, "ring_duration": 3, "handling_duration": 27, "talk_duration": 27, "hold_duration": 0, "wrapup_duration": 0, "disconnected_by": "Extension", "end_call_time": "", "end_call_timepoint": 0, "enb_timeline": 1, "ai_receptionist_duration": 0 }, "call_notes": { "leg_1": { "id": "20260612182412-8F6C3", "group_id": "1781259852.18", "disposition_code_list": [ { "id": 10, "name": "Demo" } ], "remark": "Confirmed", "agent_name": "ringgroup Test", "registration_time": 1781259879, "update_entry": "", "enb_callnote": 8 } }, "timeline": [ { "leg": 1, "transaction_id": "31001", "time": "2026/06/12 18:24:12", "call_type": "Internal", "call_from": "Evelyn<3200>", "call_from_avatar": "", "call_to": "ringgroup Test<3021>", "call_to_avatar": "", "status": "ANSWERED", "call_duration": 30, "ring_duration": 3, "talk_duration": 27, "hold_duration": 0, "src_trunk": "", "dst_trunk": "", "did": "", "dod": "", "src_addr": "127.0.0.1:30175", "account_code": "", "event_list": [ { "event_id": "67AED734-47400309", "event_name": "call_to", "event_time": 0, "event_type": "basic", "event_content": "{\"from\":\"Evelyn(3200)\",\"from_feature\":\"extension\",\"in\":\"mobile\",\"to\":\"ringgroup Test(3021)\",\"to_feature\":\"extension\"}", "event_ts": "2026/06/12 18:24:13" }, { "event_id": "67AED734-47400B28", "event_name": "tried_contact", "event_time": 0, "event_type": "dial", "event_content": "{\"in\":\"desktop\",\"to\":\"ringgroup Test(3021)\",\"to_feature\":\"extension\"}", "event_ts": "2026/06/12 18:24:13" }, { "event_id": "67AED734-47800386", "event_name": "answered", "event_time": 3, "event_type": "dial", "event_content": "{\"device_remark\":\"yeastar\",\"in\":\"desktop\",\"talk_duration\":27,\"to\":\"ringgroup Test(3021)\",\"to_feature\":\"extension\"}", "event_ts": "2026/06/12 18:24:16" }, { "event_id": "20260612182412-8F6C3", "event_name": "callnote", "event_time": 26, "event_type": "callnote", "event_content": "{\"call_disposition\":[{\"id\":10,\"name\":\"已约演示\"}],\"id\":\"20260612182412-8F6C3\",\"remark\":\"时间确定\"}", "event_ts": "2026/06/12 18:24:39", "pos": "incall" }, { "event_id": "67AED734-478008E9", "event_name": "hangup", "event_time": 30, "event_type": "operate", "event_content": "{\"from\":\"Evelyn(3200)\",\"from_feature\":\"extension\",\"via_operate\":\"sip\"}", "event_ts": "2026/06/12 18:24:43" } ], "time_second": 0, "wrap_duration": 0, "call_from_ext_id": 3071, "call_to_ext_id": 3075, "has_ai_summary": 0, "cdr_id": "20260612182412-8F6C3", "shaken": "", "call_from_number": "3200", "call_to_number": "3021", "ai_receptionist_status": "", "call_quality_list": null } ] } }