Query Platform CDR Call Legs

Queries platform CDR call legs with pagination and returns the list of call legs that match the search conditions.

Request URL

POST {base_url}/uc-creport/api/v1/platform/cdr/legs/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, call legs 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 call leg 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 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.
dodNumber No String The DOD number to filter by.
callerIp No String The IP address of the caller to filter by.
pinCode No String The PIN code to filter by.
shakenAttestations No Array<String>

The list of SHAKEN attestation levels to filter by.

Valid value:

  • A
  • B
  • C
  • Invalid
  • Unknown
  • Unsigned
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_Leg_Page> The search result of platform CDR call legs.
Platform_CDR_Leg_Page
Parameter Type Description
pageSize Integer The number of records per page.
pageNumber Integer The current page number.
items Array<Platform_CDR_Leg_Message> The list of call legs on the current page.
total Integer The total number of call legs that match the search conditions.
unavailableTenants Array<Unavailable_Tenant> The list of tenants whose call legs are temporarily unavailable for the query.
Platform_CDR_Leg_Message
Parameter Type Description
tenantCode String The code of the tenant that the call leg belongs to.
tenantName String The name of the tenant that the call leg belongs to.
id String The ID of the call leg record.
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:

  • answered
  • no_answer
  • abandoned
  • busy
  • failed
  • voicemail
caller Object<Platform_Party_Info> The caller of the call leg.
callee Object<Platform_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).
callDuration 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.
pinCode String The PIN code of the outbound route.
hangupCause String The hangup cause of the call.
traceId String The trace ID of the call leg.
shakenAttestation String

The SHAKEN attestation level of the call:

  • A
  • B
  • C
  • Invalid
  • Unsigned
  • Unknown

An empty string indicates that the attestation is not applicable.

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.

aiStatus String

The AI processing status. This parameter is returned only for the call leg of an AI receptionist:

  • completed
  • transferred
  • failed
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.
Unavailable_Tenant
Parameter Type Description
tenantCode String The code of the tenant whose call legs are temporarily unavailable.
tenantName String The name of the tenant whose call legs are temporarily unavailable.
reason String The reason why the call legs of the tenant are unavailable.

Example

Request example

POST /uc-creport/api/v1/platform/cdr/legs/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": "a015fe6ccd0baad0ba60b875e1264089",
  "code": "200",
  "message": "SUCCESS",
  "detailMessage": "",
  "result": {
    "pageSize": 3,
    "pageNumber": 1,
    "items": [
      {
        "tenantCode": "jint",
        "tenantName": "jint",
        "id": "371139016054157314",
        "transactionId": "20002",
        "uid": "20261021113356LG1BE",
        "callType": "outbound",
        "callStatus": "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": "340123948",
          "name": "",
          "featureType": "",
          "featureNumber": "",
          "featureName": "",
          "avatar": ""
        },
        "callerAddr": "172.30.142.90",
        "sourceTrunk": "",
        "destinationTrunk": "",
        "didNumber": "",
        "dodNumber": "",
        "timestamp": "1792553636193339",
        "callDuration": 0,
        "ringDuration": 0,
        "pureTalkDuration": 0,
        "holdDuration": 0,
        "pinCode": "",
        "hangupCause": "NORMAL_CLEARING",
        "traceId": "63d112626e1b4ee5b37d17e6902f5cfd",
        "shakenAttestation": "",
        "hasAiTranscription": false,
        "recordingTranscriptionStatus": "",
        "aiStatus": ""
      },
      {
        "tenantCode": "jint",
        "tenantName": "jint",
        "id": "371139016054157313",
        "transactionId": "31001",
        "uid": "20261021113356LG1BE",
        "callType": "internal",
        "callStatus": "answered",
        "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": ""
        },
        "callerAddr": "172.30.142.90",
        "sourceTrunk": "",
        "destinationTrunk": "",
        "didNumber": "",
        "dodNumber": "",
        "timestamp": "1792553636133347",
        "callDuration": 0,
        "ringDuration": 0,
        "pureTalkDuration": 0,
        "holdDuration": 0,
        "pinCode": "",
        "hangupCause": "NORMAL_CLEARING",
        "traceId": "63d112626e1b4ee5b37d17e6902f5cfd",
        "shakenAttestation": "",
        "hasAiTranscription": false,
        "recordingTranscriptionStatus": "",
        "aiStatus": ""
      },
      {
        "tenantCode": "jint",
        "tenantName": "jint",
        "id": "368652308468363265",
        "transactionId": "32001",
        "uid": "20261014145208ZOA20",
        "callType": "internal",
        "callStatus": "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"
        },
        "callerAddr": "",
        "sourceTrunk": "",
        "destinationTrunk": "",
        "didNumber": "",
        "dodNumber": "",
        "timestamp": "1791960728937632",
        "callDuration": 26,
        "ringDuration": 26,
        "pureTalkDuration": 0,
        "holdDuration": 0,
        "pinCode": "",
        "hangupCause": "ALLOTTED_TIMEOUT",
        "traceId": "f90e4c1234133fef783a4eb8db42f510-774e0e6f",
        "shakenAttestation": "",
        "hasAiTranscription": false,
        "recordingTranscriptionStatus": "",
        "aiStatus": ""
      }
    ],
    "total": 25,
    "unavailableTenants": []
  }
}
Note:

The response is condensed. The array contains 3 items.