Skip to main content

Uniphore Customer Portal

Search Captured Conversations

Use the search conversations request to search your captured conversations, you can use the request body to create complex filters for your search, the information provided in the response for each conversation is not the complete data set for the conversation - use other requests for more specific information and data retrieval, for example:

Endpoint

Method: POST

URL: /search/v2

Request Parameters

Parameter Name

Data Type

Description

Required/Optional

pageSize

Number

Specify how many conversations per page you would like to receive in the response.

Required

groupFilter

Array

Filter your search, the criteria to determine which conversations should be considered a match and be displayed in the response.

See Filters for a detailed explanation on how filters work - how to use them in API requests and therefore how to understand them in API responses.

You can use groupFilter to search for a specific conversation, see Search for a Specific Conversation.

Optional

pageToken

String

The token for which page of the response to see, if you want the first page of a search use null, if applicable the response will provide a nextPageToken that can be used to get the next page in a subsequent request. Add == to the end of the nextPageToken to use as the pageToken parameter in the request.

Optional

For an example request see Sample Request.

Response and Error Code

Response Code

Condition

200

OK

Response Parameters

For an example response see Sample Response.

Parameter Name

Data Type

Description

callRecords

Array

The list of conversations in this page of the repsonse, each conversation will have sub-parameters, see Conversation Sub-parameters for further details.

nextPageToken

String

The token for the next page of conversations, use this token as the pageToken parameter value in a subsequent request to get the next page.

totalCount

Number

How many conversations match the request in total. This does not reflect the amount of to conversations in the page, use pageSize in the request to determine how many conversations to include in each page.

Conversation Sub-parameters

Parameter Name

Data Type

Description

conversationID

String

The unique ID of the conversation, used to track the conversation throughout the system and tie call data together (audio, metadata, screen recording).

tenantID

String

The ID of the tenant that the conversation belongs to.

agent

Array

Information about the recorded agent, see agent Sub-parameters for further details.

callProperties

Array

Information about the captured conversation's properties, see callProperties Sub-parameters for further details.

callVerification

Array

Information on the verification status of the call, ensures media data has not been tampered with in any way - useful for legal and compliance data verification.

policies

Array

Information on the policies in place on the conversation, consisting of the Policy ID and the action type for the policy (if applicable).

attachment

Array

Information on the attachments associated with the call in the form of a list of boolean parameters, potential attachments at the time of writing include transcript, annotation, and lock.

linkedConversation

String

The ID for linked conversation that the conversation is part of (if applicable).

agent Sub-parameters

Parameter Name

Data Type

Description

email

String

The email address of the recorded agent.

extension

Number

The extension of the recorded agent.

firstName

String

The first name of the recorded agent.

lastName

String

The last name of the recorded agent.

manager

String

The manager of the recorded agent.

id

String

The user ID of the recorded agent.

number

Number

The number assigned to the recorded agent, note that this it not their phone number.

callProperties Sub-parameters

Parameter Name

Date Type

Description

startDate

Date-Time

The date and time that the conversation started, in the format YYYY-MM-DDT00:00:00.000Z.

endDate

Date-Time

The date and time that the conversation ended, in the format YYYY-MM-DDT00:00:00.000Z.

otherParties

Array

A list of details for the other parties in the captured conversation.

remoteNumber

Number

The phone number of the remote party of the conversation (if applicable).

callAudio

String

Call audio status - either Composing, Available, or NoAudio.

callDirection

String

The direction of the call, either CONVERSATION_DIRECTION_INBOUND, CONVERSATION_DIRECTION_INVALID or CONVERSATION_DIRECTION_OUTGOING.

licenseStatus

Boolean

The status of the license for the conversation, either true (licensed) or false (unlicensed).

licensed

Boolean

If the conversation is licensed or not, either true (licensed) or false (unlicensed).

externalCallId

String

External Call ID for the associated recording (set by the telephony hardware/integration).

holdTime

Number

How long the call was on hold for (in seconds).

ringTime

Number

How long the call rang for (in seconds).

integration

String

Telephony integration associated with the recording.

localName

String

The local name of the agent in the conversation, usually their full name or alias.

routingInformation

String

Call routing information (if available) such as transfers, original dialled number, queue, etc.

sipDetails

String

Physical network information for the call at SIP level.

sourceFormat

String

Media source format – either Default (default audio format), Original (original Uniphore format), Wav (standard Wav format), or Opus (standard Opus format).

deviceID

String

Unique ID for the recorded device.

screenRedordingStatus

String

Details on the screen recording status associated with the conversation, either NOT_AVAILABLE, AVAILABLE, RecordingError, InProgress, Suppressed, Ending, Ended, None, or ExcludedFromSample.

otherCallProperties

Array

Additional call properties.

otherCallProperties Sub-parameters

Note

Each integration and call scenario will provide different call metadata, therefore not all parameters will have values.

Parameter Name

Data Type

Description

Answering_Name

String

The name of the answering call participant.

Answering_Number

Number

The number of the answering call participant.

CallConferenceID

String

The ID for the conference call.

CallCTI

Boolean

Not in use.

CalledNumber

Number

The phone number or extension called.

CallerNumber

Number

The phone number of the external caller (if applicable).

CallFlags

String

Additional information related to the recording (if available), such as isPrivateisEmergencyPrivateFlagEndOfCallReason, etc.

CallID

String

The ID of the call at the Collector level.

CallInitiallyRecording

String

Not in use.

CallLegacyId

String

Not in use.

CallParentCallId

String

Not in use.

CallPushToTalk

Boolean

If push to talk was used for the conversation.

CallRecordOnDemand

Boolean

If record on demand feature was used for the conversation (retain, discard, and crop live calls).

CallState

String

The state of the call, either Established, Conferenced, Transferred, or Retrieved.

CallToggleTime

String

Not in use.

CollectorCaptureEndDateTime

Date-Time

The date and time that the Collector ended the capture of the conversation.

CollectorCaptureStartDateTime

Date-Time

The date and time that the Collector began to capture the conversation.

CollectorID

String

The ID of the Collector used to capture the call.

DeduplicationId

String

The ID of the deduplication for the conversation.

DiscardedCallStreamIds

Array

A list of the IDs of discarded call streams associated with the conversation. 

ParentCallId

String

The ID used to link call segments together.

PBXIntegrationID

String

The ID of the PBX integration

PBXLineID

String

The ID of the PBX line.

QueueID

String

The ID of the queue the call was directed through.

RedirectionName

String

The name associated with the call redirection.

RedirectionNumber

Number

The number/extension associated with the call redirection.

SegmentID

String

The ID used to link call segments together.

SegmentIndex

Number

Which segment number this call segment is, starts at 0.

Suppressions

Array

Call suppression details.

TerminationStatus

String

Indicates if call capture was unexpectedly terminated and why, possible values include NotTerminated, NoNatsCallActivityDetected, CollectorDown, or GlobalCallTimeoutReached.

Trunk

String

The name of the trunk (if applicable).

Sample Request
{
  "pageSize": 1,
  "groupFilter": {
    "leftFilter": {
      "fieldName": "callProperties.startDate",
      "operator": "CONVERSATION_FILTER_OPERATOR_GREATER_THAN_OR_EQUAL",
      "timestampValue": "2024-08-01T18:30:00.000Z"
    },
    "operator": "CONVERSATION_LOGICAL_OPERATOR_AND",
    "rightFilter": {
      "fieldName": "callProperties.endDate",
      "operator": "CONVERSATION_FILTER_OPERATOR_LESS_THAN_OR_EQUAL",
      "timestampValue": "2024-08-07T18:29:59.999Z"
    }
  },
  "pageToken": "eyJwYWdlX3NpemUiOjIsImNoZWNrX3N1bSI6WzE5MSwxMTQsNjUsMjUxLDE4NCwxOSwxMywxNjMsMjE0LDUyLDkzLDExNiw2NSwyMDEsMTU2LDExMF0sInRlbmFudF9pZCI6IjY2ZGQ4NDE4LWIxZDEtNGQ0Ny05MjE4LWMwZTI5YmYxMzE3MCIsImNvbnZlcnNhdGlvbl9pZCI6IjdlNGRlNmE0LTBhZjgtNDkzYi05NmM0LWUxYTVkMTQ3OTI2YyIsInRvdGFsX2NvdW50IjozNSwiZmlsdGVyX3ZhbHVlcyI6eyI0IjoiMjAyNC0wOC0wNlQxNDoyMToxMC42WiJ9fQ=="
}
Sample Response
{
    "callRecords": [
        {
            "conversationId": "7e4de6a4-0af8-493b-96c4-e1a5d147926c",
            "tenantId": "66dd8418-b1d1-4d47-9218-c0e29bf13170",
            "agent": {
                "email": "john.doe@uniphore.com",
                "extension": "4100",
                "firstName": "John",
                "lastName": "Doe",
                "manager": "Tom Smith",
                "id": "auth0|972ujf53h235bn09835d984h",
                "number": "4000"
            },
            "callProperties": {
                "startDate": "2024-08-06T14:21:10.600Z",
                "endDate": "2024-08-06T14:21:10.670Z",
                "otherParties": [
                    {
                        "name": "07552786033"
                    }
                ],
                "remoteNumber": "07552786033",
                "callAudio": "Composing",
                "callDirection": "CONVERSATION_DIRECTION_INBOUND",
                "licenseStatus": "true",
                "licensed": "true",
                "externalCallId": "00001002941722953534_1722954070596",
                "holdTime": "0",
                "ringTime": "0",
                "integration": "3342337",
                "localName": "John Doe",
                "routingInformation": "Skill 3",
                "sipDetails": "2187bd442b905507015d9030619aa867",
                "sourceFormat": "Default",
                "deviceId": "b2b0711d-2d7c-52e7-9eeb-2b833da710da",
                "screenRecordingStatus": "NOT_AVAILABLE",
                "otherCallProperties": {
                    "TerminationStatus": "NotTerminated",
                    "CallLegacyId": "0",
                    "CallRecordOnDemand": "false",
                    "CallParentCallId": "0",
                    "PBXLineID": "00000000-0000-0000-0000-000000000000",
                    "CallerNumber": "07552786033",
                    "QueueID": "3100",
                    "CalledNumber": "3000",
                    "CallState": "Established",
                    "Answering_Number": "4100",
                    "Trunk": "10",
                    "Answering_Name": "Agent Phone 4100",
                    "CallFlags": "3",
                    "CollectorCaptureStartDateTime": "0001-01-01T00:00:00+00:00",
                    "ParentCallId": "00000000-0000-0000-0000-000000000000",
                    "RedirectionName": "VDN 3000",
                    "CallConferenceID": "00000000-0000-0000-0000-000000000000",
                    "DeduplicationId": "2a663acc-b694-4a87-9016-36572adc2adb",
                    "DiscardedCallStreamIds": "[]",
                    "CollectorCaptureEndDateTime": "0001-01-01T00:00:00+00:00",
                    "CallID": "59ed8b30-9ad3-4a90-83ab-99c00a56f77f",
                    "PBXIntegrationID": "00000000-0000-0000-0000-000000000000",
                    "CallInitiallyRecording": "false",
                    "Suppressions": "[]",
                    "CallPushToTalk": "false",
                    "CallCTI": "false",
                    "CollectorID": "a497e2fc-27f2-4964-9be8-3c50a70882a0",
                    "SegmentIndex": "0",
                    "RedirectionNumber": "3000",
                    "CallToggleTime": "0001-01-01T00:00:00+00:00"
                }
            },
            "callVerification": {
                "status": "[]"
            },
            "attachment": {
                "transcript": true
            },
            "linkedConversationId": "ca73aefb-389b-441d-8936-50bf45d7b88a"
        }
    ],
    "nextPageToken": "eyJwYWdlX3NpemUiOjIsImNoZWNrX3N1bSI6WzE5MSwxMTQsNjUsMjUxLDE4NCwxOSwxMywxNjMsMjE0LDUyLDkzLDExNiw2NSwyMDEsMTU2LDExMF0sInRlbmFudF9pZCI6IjY2ZGQ4NDE4LWIxZDEtNGQ0Ny05MjE4LWMwZTI5YmYxMzE3MCIsImNvbnZlcnNhdGlvbl9pZCI6IjFjZWU1YTQ2LTFiNGUtNGU4OS05ZjYxLTc3ZjdmNWUwMjExYyIsInRvdGFsX2NvdW50IjozNSwiZmlsdGVyX3ZhbHVlcyI6eyI0IjoiMjAyNC0wOC0wNlQxMTo0MDo0MS4yOTFaIn19",
    "totalCount": "35"
}
Search for a Specific Conversation

To get details on a specific conversation, use the groupFilter array to specify which conversation to show in the results, for example the below would only get the details for the conversation with the conversationId e52b7f17-38de-411d-960f-d7f22362c924.

{
  "pageSize": 100,
  "groupFilter":  {
    "leftFilter": {
        "fieldName": "conversationId",
        "operator": "CONVERSATION_FILTER_OPERATOR_EQUAL",
        "stringValue": "e52b7f17-38de-411d-960f-d7f22362c924"
    }
  },
  "pageToken": null
}