How can I identify a conversation has ended/disconnected in the conversations details query

Below is the response for converstaions details query.

"conversations": [
{
"conversationId": "id-1-asfasfasfasfas",
"conversationStart": "2016-08-01T15:24:11.543Z",
"participants": [
{
"participantId": "sdhaV87sdf6-sd45sd65sd65",
"participantName": "kjashasc",
"purpose": "customer",
"sessions": [
{
"mediaType": "email",
"sessionId": "sdkjsadksdalkfhjsdksdfuj",
"addressOther": "Random53sadsd7-8c7c31e05d6a@tset.mypurecloud.com",
"addressSelf": "test@test.com",
"direction": "inbound",
"segments": [
{
"segmentStart": "2016-08-01T15:24:11.543Z",
"segmentEnd": "2016-08-01T17:40:25.338Z",
"disconnectType": "peer",
"segmentType": "interact",
"properties": [
{
"propertyType": "uuid",
"property": "recordingId",
"value": "sdvfsadfasd976e71asdfasdc"
}
],
"subject": "Appointment request form hgashj"
}
]
}
]
},
{
"participantId": "sdvsdvsdscc-4980-9248-caa6ce65122b",
"participantName": "thasccaSC",
"purpose": "acd",
"sessions": [
{
"mediaType": "email",
"sessionId": "sdavdsvdsvsd-7f73bed308ba",
"addressOther": "test@test.com",
"addressSelf": "Random5sdvsdv-49f7-91d7-8c7c31e05d6a@test.mypurecloud.com",
"direction": "inbound",
"segments": [
{
"segmentStart": "2016-08-01T15:24:11.561Z",
"segmentEnd": "2016-08-01T15:24:33.167Z",
"queueId": "sdvsdvsdvsdvsd1",
"disconnectType": "transfer",
"segmentType": "interact",
"requestedRoutingSkillIds": [
"6d1ee12SDDSA1c32e633f",
"5475bd0ASDASCc8-3b14d7f5c0ce"
],
"requestedLanguageId": "fc4a325esadasdvd3502935c761",
"subject": "Appointment request"
}
]
}
]
},
{
"participantId": "a486ef3a-1d2d-4315-afb8-340207bac935",
"participantName": "GSADGDSAG",
"userId": "3204e991-c24b-468f-8c44-9ff262929931",
"purpose": "agent",
"sessions": [
{
"mediaType": "email",
"sessionId": "sdvsdvsf5f5b02fa10",
"addressOther": "test@test.com",
"addressSelf": "Randomsadgvsdvs1d7-8c7c31e05d6a@test.mypurecloud.com",
"direction": "inbound",
"segments": [
{
"segmentStart": "2016-08-01T15:24:11.900Z",
"segmentEnd": "2016-08-01T15:24:33.182Z",
"queueId": "sdafsddsacasdcdc1",
"segmentType": "alert",
"subject": "Appointment request "
},
{
"segmentStart": "2016-08-01T15:24:33.182Z",
"segmentEnd": "2016-08-01T15:26:46.690Z",
"queueId": "46sdvsdac0-91a4c3974dc1",
"segmentType": "interact",
"subject": "Appointment request"
},
{
"segmentStart": "2016-08-01T15:26:46.690Z",
"segmentEnd": "2016-08-01T17:40:25.310Z",
"queueId": "46fde691sadvsdvsdvsda91a4c3974dc1",
"disconnectType": "client",
"segmentType": "hold",
"subject": "Appointment request "
},
{
"segmentStart": "2016-08-01T17:40:26.043Z",
"segmentEnd": "2016-08-01T17:40:33.043Z",
"queueId": "4sdva4c3974dc1",
"wrapUpCode": "7fb33sdvsdv191-0800200c9a66",
"wrapUpNote": "",
"disconnectType": "client",
"segmentType": "wrapup",
"subject": "Appointment request"
}
]
}
]
}
]
},
{
"conversationId": "sdvsdvsdvsdvsdvsdvsdvc",
"conversationStart": "2016-08-01T15:23:10.395Z",
"participants": [
{
"participantId": "e2casdvsdavdsvasd-b805-d6aa93599e36",
"participantName": "tesascas@test.com",
"purpose": "external",
"sessions": [
{
"mediaType": "voice",
"sessionId": "36a3sadvsdvsadvc312c4bf",
"ani": "sip:test%40test.com@localhost",
"direction": "outbound",
"dnis": "tel:+6874352345654354654654654534513",
"segments": [
{
"segmentStart": "2016-08-01T15:23:10.395Z",
"segmentEnd": "2016-08-01T15:23:22.353Z",
"segmentType": "dialing",
"properties": [
{
"propertyType": "uuid",
"property": "recordingId",
"value": "66asfasfasfas779d23448"
}
],
"conference": false
},
{
"segmentStart": "2016-08-01T15:23:22.353Z",
"segmentEnd": "2016-08-01T15:27:03.148Z",
"segmentType": "interact",
"conference": false
}
]
}
]
}
]
}

There's not currently an explicit filter to get only connected or disconnected conversations. To figure it out, execute your query as desired otherwise and filter the results further client side. Look for conversations with a participant that has a segment with a segmentStart property, but no value for segmentEnd or disconnectType. If those properties are absent, that segment is still active.

There is an upcoming enhancement that will add a filterable parameter to conversations called conversationEndTime. So you can filter on that to not exist to find conversations that are still active. This new feature is being tracked as AR-4485.

Thank You..
This worked for me:)