Query CDRs
Queries CDRs with pagination and returns the list of CDRs that match the search conditions.
Request URL
POST {base_url}/uc-creport/api/v1/cdrs/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 Yes String The tenant name. Note: You can obtain tenant name using the Query Tenants interface.
- Body parameters
-
Parameter Required Type Description pageNumber Yes Integer The page number to retrieve. pageSize Yes Integer The number of records to retrieve per page. 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). callType No String The call type to filter by.
Valid value:
inbound: Inbound calls.outbound: Outbound calls.internal: Internal calls.
lastCallStatus No String The list of final call statuses, separated by commas.
Valid value:
answeredno_answerabandonedbusyfailedvoicemail
callFrom No String The caller number or name to search for. callTo No String The callee number or name to search for. trunkNames No String The list of trunk names, separated by commas. didNumbers No String The list of DID numbers, separated by commas. userNumbers No String The list of extension numbers, separated by commas. hasRecording No String Whether to return only CDRs that have recordings.
Valid value:
yes: Return only CDRs that have recordings.no: Return only CDRs that have no recordings.
If not specified, all CDRs are returned.
queueNumbers No String The list of queue numbers, separated by commas. ringGroupNumbers No String The list of ring group numbers, separated by commas. ivrNumbers No String The list of IVR numbers, separated by commas. 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. uid No String The UID of the CDR 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. segmentsFilter No Object<Range_Filter> The range filter of the call segments. sorts No Array<Sort_Condition> The sort conditions. The supported fields include uid, timestamp, call_type, last_call_status, and total_duration. aiReceptionistNumbers No String The list of AI receptionist numbers, separated by commas. shakenAttestations No Array<String> The list of SHAKEN attestation levels to filter by.
Valid value:
ABCInvalidUnknownUnsigned
- Range_Filter
-
Parameter Required Type Description operator No String The comparison operator.
Valid value:
=<<=>>=~
value No Integer The value to compare with, used when operator is a single-value comparison operator. min No Integer The minimum value, used for range filtering. max No Integer The maximum value, used for range filtering.
- 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<CDR_Page> | The search result of CDRs. |
- CDR_Page
-
Parameter Type Description pageSize Integer The number of records per page. pageNumber Integer The current page number. items Array<CDR_Main_Message> The list of CDRs on the current page. total Integer The total number of CDRs that match the search conditions.
- 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. 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). 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
Example
Request example
POST /uc-creport/api/v1/cdrs/search-page 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
Content-Type: application/json
{
"pageNumber": 1,
"pageSize": 5
}
Response example
HTTP/1.1 200 OK { "requestId": "aec93a4f100cee60fb21f15b74b3b03c", "code": "200", "message": "SUCCESS", "detailMessage": "", "result": { "pageSize": 5, "pageNumber": 1, "items": [ { "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 } ], "total": 100 } }
The response is condensed. The array contains 5 items.