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:

  • answered
  • no_answer
  • abandoned
  • busy
  • failed
  • voicemail
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.
  • 200: Request succeeded.
  • Non-200 value: Request failed.
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:

  • answered
  • no_answer
  • abandoned
  • busy
  • failed
  • voicemail
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_SUBMITTED
  • PENDING
  • PROCESSING
  • COMPLETED
  • FAILED

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:

  • answered
  • no_answer
  • busy
  • failed
aiStatus String

The AI processing status. This parameter is returned only when the call feature is an AI receptionist:

  • completed
  • transferred
  • failed
Unavailable_Tenant
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": []
  }
}
Note:

The response is condensed. The array contains 3 items.