Get a Platform CDR

Retrieves the details of a platform CDR, including the main record and the call leg records.

Request URL

GET {base_url}/uc-creport/api/v1/platform/cdr/detail/{uid}

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.
Path parameters
Parameter Required Type Description
uid Yes String The UID of the CDR to query. You can obtain the UID using the Query Platform 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.
  • 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_Detail> The details of the platform CDR.
Platform_CDR_Detail
Parameter Type Description
main Object<Platform_CDR_Main_Message> The main record of the CDR.
legs Array<Platform_CDR_Leg_Message> The list of call leg records of the CDR.
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.
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
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

Example

Request example

GET /uc-creport/api/v1/platform/cdr/detail/20261021113356LG1BE HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkaXN0cmlidXRvcmV4YW1wbGVAb3V0bG9vay5jb20iLCJhcHBfa2V5Ijoic2xOdnQzaHc1NXB2Vm5HRlNhR2ZOVTNmMWxYQ3lpa08iLCJncmFudF90eXBlIjoib3BlbmFwaSIsImNsaWVudF9leHQiOnsiZGVzY3JpcHRpb24iOiLnrKzkuInmlrnlkIjkvZzkvJnkvLTlupTnlKgiLCJwYXJ0bmVyIjoi56S65L6L5ZCI5L2c5LyZ5Ly0In0sImNsaWVudF90eXBlIjoib3BlbmFwaSIsImV4cCI6MTc5MzM2MDcxNCwiaWF0IjoxNzkzMzM5MTE0LCJqdGkiOiIwYzU4YTVjMS1hNTMwLTQ1MjUtOTMzMS1hMTQ1NzQ1MjkxZTQiLCJjbGllbnRfaWQiOiJub3ZvLW9wZW4tcGxhdGZvcm0iLCJ1c2VyX2V4dCI6eyJyb2xlSWRzIjpbM10sInN0eXBlIjoiQURNSU4iLCJ0ZW5hbnRDb2RlIjpudWxsLCJ0eXBlIjoiUF9BQ0NPVU5UIiwidXNlcklkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJlbWFpbCI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInVzZXJuYW1lIjoiZGlzdHJpYnV0b3JleGFtcGxlQG91dGxvb2suY29tIiwidWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5Nn19.rd9xVGzJcc2NyEZ1PJtMnMtmk4-ovkSPt7c1z75SvaND72UXsHLJ4pN-I83fEJRU06MFrSBRWsU4vUzaZ4nikEmUzHfuTuXARORPBf-SGvh65FwPR6nPB3a9DeWQVOToRukOE71hgJrY8n9d0z8W8wFFc8_7d0Uv4J9CZqZFK073YAhzoZCG6hQzsI_u9Z5MzGRiLbMotGM1YGejEOKCswE3MuiXy_Ka9bUNTw9ISlAYFl0V52_JXYGPmpc3zw-TWTK1J8FCMysvR4QD6KTPoY9MHOfzvD1GiQCWiFuuI2DipfxCWop5I4Lg1qzrXV5W-MVieZYaD0kwFcvmj78xOw

Response example

HTTP/1.1 200 OK
{
  "requestId": "25bf58422c41e541be30d375f6d928c2",
  "code": "200",
  "message": "SUCCESS",
  "detailMessage": "",
  "result": {
    "main": {
      "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
    },
    "legs": [
      {
        "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": "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": ""
      }
    ]
  }
}
Note:

The response is condensed. The call in this example has 1 call leg.