Query Platform CDRs
Queries platform CDRs with pagination and returns the list of CDRs that match the search conditions. The tenantCodes parameter filters CDRs by tenant; if it is omitted, CDRs of all visible tenants are returned.
Request URL
POST {base_url}/uc-creport/api/v1/platform/cdr/search-page
Request parameters
- Headers
-
Parameter Required Type Description Authorization Yes String The access token used for authentication. Format: Bearer
{access_token}.x-tenant-code No String The tenant name. Note: You can obtain tenant name using the Query Tenants interface.
- Body parameters
-
Parameter Required Type Description pageNumber No Integer The page number to retrieve. pageSize No Integer The number of records to retrieve per page. tenantCodes No Array<String> The list of tenant codes to filter by. If not specified, CDRs of all visible tenants are returned. startTimeFrom No String The start of the call time range, in Unix timestamp format (microseconds). startTimeTo No String The end of the call time range, in Unix timestamp format (microseconds). uid No String The UID of the CDR to search for. callTypes No Array<String> The list of call types to filter by.
Valid value:
inbound: Inbound calls.outbound: Outbound calls.internal: Internal calls.
callFrom No String The caller number or name to search for. callTo No String The callee number or name to search for. secondParticipant No String The number or name of the second participant to search for. lastParticipant No String The number or name of the last participant to search for. lastStatuses No Array<String> The list of final call statuses to filter by.
Valid value:
answeredno_answerabandonedbusyfailedvoicemail
sourceTrunks No Array<String> The list of source trunk names to filter by. destTrunks No Array<String> The list of destination trunk names to filter by. didNumbers No Array<String> The list of DID numbers to filter by. sorts No Array<Sort_Condition> The sort conditions.
- Sort_Condition
-
Parameter Required Type Description property No String The name of the field to sort by. direction No String The sort order. Valid value:
asc: Sort in ascending order.desc: Sort in descending order.
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<Platform_CDR_Page> | The search result of platform CDRs. |
- Platform_CDR_Page
-
Parameter Type Description pageSize Integer The number of records per page. pageNumber Integer The current page number. items Array<Platform_CDR_Main_Message> The list of CDRs on the current page. total Integer The total number of CDRs that match the search conditions. unavailableTenants Array<Unavailable_Tenant> The list of tenants whose CDRs are temporarily unavailable for the query.
- Platform_CDR_Main_Message
-
Parameter Type Description tenantCode String The code of the tenant that the CDR belongs to. tenantName String The name of the tenant that the CDR belongs to. id String The ID of the CDR main record. uid String The business UID of the CDR. You can use this UID to query the CDR details. 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). lastCallStatus String The final call status:
answeredno_answerabandonedbusyfailedvoicemail
caller Object<Platform_Party_Info> The caller of the call. callee Object<Platform_Party_Info> The callee of the call. secondCallee Object<Platform_Party_Info> The second callee of the call. lastCallee Object<Platform_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. totalDuration Integer The total duration of the call, in seconds. segments Integer The number of call segments (the number of transfers plus 1). 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<Platform_Call_Feature> The list of queues that the call passed through. ringGroups Array<Platform_Call_Feature> The list of ring groups that the call passed through. ivrs Array<Platform_Call_Feature> The list of IVRs that the call passed through. hangupCause String The hangup cause of the call. traceIds Array<String> The list of trace IDs of the call. 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.
- Platform_Party_Info
-
Parameter Type Description number String The number of the party. name String The name of the party. 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. avatar String The URL of the party's avatar.
- Platform_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
-
Parameter Type Description tenantCode String The code of the tenant whose CDRs are temporarily unavailable. tenantName String The name of the tenant whose CDRs are temporarily unavailable. reason String The reason why the CDRs of the tenant are unavailable.
Example
Request example
POST /uc-creport/api/v1/platform/cdr/search-page HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkaXN0cmlidXRvcmV4YW1wbGVAb3V0bG9vay5jb20iLCJhcHBfa2V5Ijoic2xOdnQzaHc1NXB2Vm5HRlNhR2ZOVTNmMWxYQ3lpa08iLCJncmFudF90eXBlIjoib3BlbmFwaSIsImNsaWVudF9leHQiOnsiZGVzY3JpcHRpb24iOiLnrKzkuInmlrnlkIjkvZzkvJnkvLTlupTnlKgiLCJwYXJ0bmVyIjoi56S65L6L5ZCI5L2c5LyZ5Ly0In0sImNsaWVudF90eXBlIjoib3BlbmFwaSIsImV4cCI6MTc5MzM2MDcxNCwiaWF0IjoxNzkzMzM5MTE0LCJqdGkiOiIwYzU4YTVjMS1hNTMwLTQ1MjUtOTMzMS1hMTQ1NzQ1MjkxZTQiLCJjbGllbnRfaWQiOiJub3ZvLW9wZW4tcGxhdGZvcm0iLCJ1c2VyX2V4dCI6eyJyb2xlSWRzIjpbM10sInN0eXBlIjoiQURNSU4iLCJ0ZW5hbnRDb2RlIjpudWxsLCJ0eXBlIjoiUF9BQ0NPVU5UIiwidXNlcklkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJlbWFpbCI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInVzZXJuYW1lIjoiZGlzdHJpYnV0b3JleGFtcGxlQG91dGxvb2suY29tIiwidWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5Nn19.rd9xVGzJcc2NyEZ1PJtMnMtmk4-ovkSPt7c1z75SvaND72UXsHLJ4pN-I83fEJRU06MFrSBRWsU4vUzaZ4nikEmUzHfuTuXARORPBf-SGvh65FwPR6nPB3a9DeWQVOToRukOE71hgJrY8n9d0z8W8wFFc8_7d0Uv4J9CZqZFK073YAhzoZCG6hQzsI_u9Z5MzGRiLbMotGM1YGejEOKCswE3MuiXy_Ka9bUNTw9ISlAYFl0V52_JXYGPmpc3zw-TWTK1J8FCMysvR4QD6KTPoY9MHOfzvD1GiQCWiFuuI2DipfxCWop5I4Lg1qzrXV5W-MVieZYaD0kwFcvmj78xOw
Content-Type: application/json
{
"tenantCodes": [
"jint"
],
"startTimeFrom": "1735689600000000",
"startTimeTo": "1798761600000000",
"pageNumber": 1,
"pageSize": 3
}
Response example
HTTP/1.1 200 OK { "requestId": "9752a14388acdb1455681aed91438af8", "code": "200", "message": "SUCCESS", "detailMessage": "", "result": { "pageSize": 3, "pageNumber": 1, "items": [ { "tenantCode": "jint", "tenantName": "jint", "id": "371139016054157312", "uid": "20261021113356LG1BE", "callType": "internal", "timestamp": "1792553636133347", "lastCallStatus": "failed", "caller": { "number": "1001", "name": "Terrell Smith", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png" }, "callee": { "number": "*89340", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "secondCallee": { "number": "340123948", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "lastCallee": { "number": "340123948", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "waitDuration": 0, "pureTalkDuration": 0, "holdDuration": 0, "totalDuration": 0, "segments": 2, "initialSourceTrunk": "", "initialDidNumber": "", "finalDestinationTrunk": "", "queues": [], "ringGroups": [], "ivrs": [], "hangupCause": "NORMAL_CLEARING", "traceIds": [ "63d112626e1b4ee5b37d17e6902f5cfd" ], "hasAiTranscription": false, "recordingTranscriptionStatus": "", "hasCollectedInfo": false }, { "tenantCode": "jint", "tenantName": "jint", "id": "368652308468363264", "uid": "20261014145208ZOA20", "callType": "internal", "timestamp": "1791960728937632", "lastCallStatus": "no_answer", "caller": { "number": "Play Prompt", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "callee": { "number": "1000", "name": "Leo Ball", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586611608/1.png" }, "secondCallee": { "number": "", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "lastCallee": { "number": "1000", "name": "Leo Ball", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586611608/1.png" }, "waitDuration": 26, "pureTalkDuration": 0, "holdDuration": 0, "totalDuration": 26, "segments": 1, "initialSourceTrunk": "", "initialDidNumber": "", "finalDestinationTrunk": "", "queues": [], "ringGroups": [], "ivrs": [], "hangupCause": "ALLOTTED_TIMEOUT", "traceIds": [ "f90e4c1234133fef783a4eb8db42f510-774e0e6f" ], "hasAiTranscription": false, "recordingTranscriptionStatus": "", "hasCollectedInfo": false }, { "tenantCode": "jint", "tenantName": "jint", "id": "367187893622407168", "uid": "20261010135252I2QTP", "callType": "internal", "timestamp": "1791611572874200", "lastCallStatus": "voicemail", "caller": { "number": "1001", "name": "Terrell Smith", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png" }, "callee": { "number": "1004", "name": "Example Lee", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586631523/8.png" }, "secondCallee": { "number": "1004", "name": "Example Lee", "featureType": "voicemail", "featureNumber": "1004", "featureName": "Example Lee", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586631523/8.png" }, "lastCallee": { "number": "1004", "name": "Example Lee", "featureType": "voicemail", "featureNumber": "1004", "featureName": "Example Lee", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586631523/8.png" }, "waitDuration": 29, "pureTalkDuration": 11, "holdDuration": 0, "totalDuration": 40, "segments": 2, "initialSourceTrunk": "", "initialDidNumber": "", "finalDestinationTrunk": "", "queues": [], "ringGroups": [], "ivrs": [], "hangupCause": "NORMAL_CLEARING", "traceIds": [ "b4ddd3cfb3a843809dfd120194683a05" ], "hasAiTranscription": false, "recordingTranscriptionStatus": "NOT_SUBMITTED", "hasCollectedInfo": false } ], "total": 20, "unavailableTenants": [] } }
The response is condensed. The array contains 3 items.