Get a CDR
Retrieves the details of a CDR, including the main record and the call leg records.
Request URL
GET {base_url}/uc-creport/api/v1/cdr/{uid}
Request parameters
- Headers
-
Parameter Required Type Description Authorization Yes String The access token used for authentication. Format: Bearer
{access_token}.x-tenant-code Yes String The tenant name. Note: You can obtain tenant name using the Query Tenants interface.
- Path parameters
-
Parameter Required Type Description uid Yes String The UID of the CDR to query. You can obtain the UID using the Query CDRs interface.
Response parameters
| Parameter | Type | Description |
|---|---|---|
| requestId | String | The unique ID of the request, which can be used to quickly locate the request. |
| code | String | The HTTP status code of the request.
|
| message | String | The status message of the request. |
| detailMessage | String | The detailed error information. When the request is successful, this parameter returns empty. |
| result | Object<CDR_Detail> | The details of the CDR. |
- CDR_Detail
-
Parameter Type Description main Object<CDR_Main_Message> The main record of the CDR. legs Array<CDR_Leg_Message> The list of call leg records of the CDR.
- CDR_Main_Message
-
Parameter Type Description id String The ID of the CDR. callId String The unique identifier of the call. traceId String The trace ID of the call. uid String The business UID of the CDR. callType String The call type:
inbound: An inbound call.outbound: An outbound call.internal: An internal call.
timestamp String The start time of the call, in Unix timestamp format (microseconds). totalDuration Integer The total duration of the call, in seconds. lastCallStatus String The final call status:
answeredno_answerabandonedbusyfailedvoicemail
caller Object<Party_Info> The caller of the call. callee Object<Party_Info> The callee of the call. secondCallee Object<Party_Info> The second callee of the call. lastCallee Object<Party_Info> The last callee of the call. waitDuration Integer The wait duration of the call, in seconds. pureTalkDuration Integer The pure talk duration of the call (excluding hold time), in seconds. holdDuration Integer The hold duration of the call, in seconds. segments Integer The number of call segments (the number of transfers plus 1). hangupBy String The party that hung up the call:
callercalleesystem
An empty string indicates that the call was not answered.
hangupCause String The hangup cause of the call. hasRecording Boolean Whether the call has a recording.
true: The call has a recording.false: The call has no recording.
enableTimeline Boolean Whether the call timeline is enabled for display.
true: Enabled.false: Disabled.
initialSourceTrunk String The name of the initial source trunk. initialDidNumber String The initial DID number. finalDestinationTrunk String The name of the final destination trunk. queues Array<Call_Feature> The list of queues that the call passed through. ringGroups Array<Call_Feature> The list of ring groups that the call passed through. ivrs Array<Call_Feature> The list of IVRs that the call passed through. aiReceptionists Array<Call_Feature> The list of AI receptionists that the call passed through. eventData String The extended field in JSON format, which stores the raw event data. createdAt String The time when the CDR was created, in Unix timestamp format (microseconds). updatedAt String The time when the CDR was last updated, in Unix timestamp format (microseconds). hasAiTranscription Boolean Whether the call has an AI transcription.
true: The call has an AI transcription.false: The call has no AI transcription.
recordingTranscriptionStatus String The status of the recording transcription task:
NOT_SUBMITTEDPENDINGPROCESSINGCOMPLETEDFAILED
An empty string indicates that no transcription task exists.
hasCollectedInfo Boolean Whether the call has collected information.
true: The call has collected information.false: The call has not collected information.
- Party_Info
-
Parameter Type Description number String The number of the party. name String The name of the party. avatar String The URL of the party's avatar. featureType String The type of the call feature associated with the party. featureNumber String The number of the call feature associated with the party. featureName String The name of the call feature associated with the party. type String The type of the party's number:
extension: An extension.extension_mobile: An extension user with a bound mobile number.personal_contact: A personal contact.company_contact: A company contact.external: An external number.
presence String The presence status of the party. This parameter is returned only when type is extensionorextension_mobile.online Boolean Whether the party is online.
true: The party is online or has a registered phone.false: The party is offline.
This parameter is meaningful only when type is
extensionorextension_mobile.companyName String The company name of the party. This parameter is returned only when type is company_contact.extensionNumber String The extension number that the mobile number is bound to. This parameter is returned only when type is extension_mobile.
- Call_Feature
-
Parameter Type Description name String The name of the call feature. number String The number of the call feature. callStatus String The status of the call feature:
answeredno_answerbusyfailed
aiStatus String The AI processing status. This parameter is returned only when the call feature is an AI receptionist:
completedtransferredfailed
- CDR_Leg_Message
-
Parameter Type Description id String The ID of the call leg record. mainId String The ID of the associated main record. legId String The unique identifier of the call leg. legType String The type of the call leg:
a_legb_leg
transactionId String The transaction ID, which is used to associate multiple call legs. uid String The business UID of the call. callType String The call type:
inbound: An inbound call.outbound: An outbound call.internal: An internal call.
callStatus String The call status:
answeredno_answerabandonedbusyfailedvoicemail
caller Object<Party_Info> The caller of the call leg. callee Object<Party_Info> The callee of the call leg. callerAddr String The IP address of the caller. sourceTrunk String The name of the source trunk. destinationTrunk String The name of the destination trunk. didNumber String The DID number. This parameter is used for inbound calls. dodNumber String The DOD number. This parameter is used for outbound calls. timestamp String The start time of the call leg, in Unix timestamp format (microseconds). totalDuration Integer The total duration of the call leg, in seconds. ringDuration Integer The ring duration of the call leg, in seconds. pureTalkDuration Integer The pure talk duration of the call leg (excluding hold time), in seconds. holdDuration Integer The hold duration of the call leg, in seconds. recordFile String The name of the recording file. recordPath String The path of the recording file. callFeature String The call feature that the call leg passed through, such as a queue, ring group, or IVR. callFeatureNumber String The number of the call feature. pinCode String The PIN code of the outbound route. hangupBy String The party that hung up the call:
callercalleesystem
hangupCause String The hangup cause of the call. createdAt String The time when the call leg record was created, in Unix timestamp format (microseconds). details Array<CDR_Detail_Message> The list of detailed event records during the call. aiStatus String The AI processing status. This parameter is returned only for the call leg of an AI receptionist:
completedtransferredfailed
shakenAttestation String The SHAKEN attestation level of the call:
ABCInvalidUnsignedUnknown
An empty string indicates that the attestation is not applicable.
- CDR_Detail_Message
-
Parameter Type Description id String The ID of the detail record. mainId String The ID of the associated main record. eventName String The name of the event. eventTime String The time when the event occurred, in Unix timestamp format (microseconds). eventData String The event data in JSON format, which stores the raw FreeSwitch event. createdAt String The time when the detail record was created, in Unix timestamp format (microseconds). eventType String The category of the event type.
Example
Request example
GET /uc-creport/api/v1/cdr/20261021113931LROGJ HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIxMDAwQGNvbG9ydGVzdDIiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiIxMDAwQGNvbG9ydGVzdDIiLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwiY2xpZW50X2V4dCI6eyJkZXNjcmlwdGlvbiI6IueuoeeQhuWQjuWPsFdlYuW6lOeUqCIsInBsYXRmb3JtIjoid2ViIn0sImV4cCI6MTc5MzM1NTUwMiwiaWF0IjoxNzkzMzMzOTAyLCJqdGkiOiIxMGQwNGYwYy0yMTIxLTRiMzktYjFlZC1kNDY5MDY0ODlhODQiLCJjbGllbnRfaWQiOiJub3ZvLWFkbWluLXdlYiIsInNpZCI6IjlkMTg5NjI3LTZhZTAtNDYxMC04ZTFhLWNiZWJmYzdlYTdmZiIsInVzZXJfZXh0Ijp7InJvbGVJZHMiOlsxMDJdLCJwdWlkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJ0ZW5hbnRJZCI6MjA3OTUwNDIwNTMwOTE5NDI0MSwicGFyZW50VWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5NiwidGVuYW50Q29kZSI6ImNvbG9ydGVzdDIiLCJ0eXBlIjoiVF9VU0VSIiwidXNlcklkIjoyMDc5NzQ2OTE1Mzg4MDc2MDMzLCJlbWFpbCI6Imxlb0BzYW1wbGUuY29tIiwidXNlcm5hbWUiOiIxMDAwQGNvbG9ydGVzdDIiLCJ1Y0lkIjozMDc2OTEzNjQ0ODkwODMyODk2fX0.cpY9aTg-Twaa1itEHREfJRX2RaYmalfGeof0An6DYSYBl9moSYvsjsZwImpId5xKb1qsPsec0KSXTmASV9kMgonf1uv6AtNRw702SroZxYTHwA9_lwxM8TY66aOAyoeiewHhA0sCDtg-ZGiDaatHxSitiLMi4MMr8qyzvuXF_44bcucYSaf8Z7Iokiud9cM67Z4dAFdxQ_SSbmFtAmTa78VuSPA0R7fFyq86Fn-p6Xk767i0AXJI8a7H7GNKMPwuc5NJ3BtWcbWx8M_DKKNVO58wMO2d9_Q13-qjlmX44h0ml_GqtqSqkZS7wz3Bg2jPT3Q2yc7Ijm9rxqr1UvbGLg
x-tenant-code: jint
Response example
HTTP/1.1 200 OK { "requestId": "53b3b2093b4c656912983000dad01b62", "code": "200", "message": "SUCCESS", "detailMessage": "", "result": { "main": { "id": "371140423507390464", "callId": "139a5e4b62194fe9a8fb2bf13ac84b3a", "traceId": "139a5e4b62194fe9a8fb2bf13ac84b3a", "uid": "20261021113931LROGJ", "callType": "outbound", "timestamp": "1792553971653337", "totalDuration": 0, "lastCallStatus": "failed", "caller": { "number": "1001", "name": "Terrell Smith", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png", "featureType": "", "featureNumber": "", "featureName": "" }, "callee": { "number": "633309873", "name": "", "avatar": "", "featureType": "", "featureNumber": "", "featureName": "" }, "secondCallee": { "number": "", "name": "", "avatar": "", "featureType": "", "featureNumber": "", "featureName": "" }, "lastCallee": { "number": "633309873", "name": "", "avatar": "", "featureType": "", "featureNumber": "", "featureName": "" }, "waitDuration": 0, "pureTalkDuration": 0, "holdDuration": 0, "segments": 1, "hangupBy": "", "hangupCause": "MANDATORY_IE_MISSING", "hasRecording": false, "enableTimeline": true, "initialSourceTrunk": "", "initialDidNumber": "", "finalDestinationTrunk": "ccctest", "queues": [], "ringGroups": [], "ivrs": [], "eventData": "", "createdAt": "0", "updatedAt": "0", "aiReceptionists": [], "hasAiTranscription": false, "recordingTranscriptionStatus": "", "hasCollectedInfo": false }, "legs": [ { "id": "371140423507390465", "mainId": "0", "legId": "", "legType": "", "transactionId": "20001", "uid": "20261021113931LROGJ", "callType": "outbound", "callStatus": "failed", "caller": { "number": "1001", "name": "Terrell Smith", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png", "featureType": "", "featureNumber": "", "featureName": "" }, "callee": { "number": "633309873", "name": "", "avatar": "", "featureType": "", "featureNumber": "", "featureName": "" }, "callerAddr": "172.30.142.90", "sourceTrunk": "", "destinationTrunk": "ccctest", "didNumber": "", "dodNumber": "1001", "timestamp": "1792553971653337", "totalDuration": 0, "ringDuration": 0, "pureTalkDuration": 0, "holdDuration": 0, "recordFile": "", "recordPath": "", "callFeature": "", "callFeatureNumber": "", "pinCode": "", "hangupBy": "", "hangupCause": "MANDATORY_IE_MISSING", "createdAt": "1792553972422061726", "details": [], "aiStatus": "", "shakenAttestation": "" } ] } }
The response is condensed. The call in this example has 1 call leg.