curl --request POST \
--url https://{host}/api/public/analytics/projects/{projectId}/conversation-history \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"fromDate": "2026-08-01T00:00:00.000Z",
"toDate": "2026-08-02T00:00:00.000Z",
"sessionIds": [
"sess-01J4S8Y1"
],
"direction": "asc",
"limit": 50
}
'{
"protected": "eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIiwia2lkIjoiNjZmN2ExYzJlNGIwYTFkMmMzZTRmNWE2IiwicGtmIjoiOGE0ZDEzYjAzOGY5ZmNiYWU4N2E1ZGE1MzAxYzJjYmU1MTdmOTgxNGE4MmU1MzRiNmU1MTAwYzMzYzM1ZmI4MyJ9",
"encrypted_key": "cxwYB_RTEFVDJx8aTcMp8TLQH6o01QMHAzNA7mYjuER1qs_JASJffXFTH5mPPRxzf603WuTjZ2vQg0pO5r9NwoylzJHxikpc1eogSaIPRFZiIPVqWIWe5BruacS7vxmmMngq5VZotnr3HYril7nmOghHz-BHtbZnDwHnJqqsOp4beEj-53Ix5gW_Dw2wZMFCR9UGU2qKAfNQxHjz_D7LobQMVLh52PpBmgJDMvWhmFnVsDZcOQnF2TdD9rD0siewsm0u8tvFTP4VGNdRhS1mX_IbkHzWK_iE_36Kb6YVpIl8wjQO9J9JCjZRwo8mirXdUBpXpbwLELLEkEb3IpQMAA",
"iv": "hYMp9LBIqja7h4Da",
"ciphertext": "cc6swtjMe1Gt4NLVChIqmw",
"tag": "LGS-Aivh61DvyK6k1MHsCg"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}List conversation messages using JWE payload
POST form of GET on this path. It accepts the same parameters as a flat JSON
body (ConversationHistoryQueryBody) instead of a query string, and returns the same response.
Use it when the request parameters must be encrypted. See “Sending parameters
in a POST body” and “Payload encryption” in the API description.
- Request encryption off: send
ConversationHistoryQueryBodyasapplication/json. - Request encryption on: send the same object encrypted as an
EncryptedRequest, preferably asapplication/jose+json. - Response encryption on: every response except
401is anEncryptedResponsewithX-ABL-Encrypted: true.
curl --request POST \
--url https://{host}/api/public/analytics/projects/{projectId}/conversation-history \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"fromDate": "2026-08-01T00:00:00.000Z",
"toDate": "2026-08-02T00:00:00.000Z",
"sessionIds": [
"sess-01J4S8Y1"
],
"direction": "asc",
"limit": 50
}
'{
"protected": "eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIiwia2lkIjoiNjZmN2ExYzJlNGIwYTFkMmMzZTRmNWE2IiwicGtmIjoiOGE0ZDEzYjAzOGY5ZmNiYWU4N2E1ZGE1MzAxYzJjYmU1MTdmOTgxNGE4MmU1MzRiNmU1MTAwYzMzYzM1ZmI4MyJ9",
"encrypted_key": "cxwYB_RTEFVDJx8aTcMp8TLQH6o01QMHAzNA7mYjuER1qs_JASJffXFTH5mPPRxzf603WuTjZ2vQg0pO5r9NwoylzJHxikpc1eogSaIPRFZiIPVqWIWe5BruacS7vxmmMngq5VZotnr3HYril7nmOghHz-BHtbZnDwHnJqqsOp4beEj-53Ix5gW_Dw2wZMFCR9UGU2qKAfNQxHjz_D7LobQMVLh52PpBmgJDMvWhmFnVsDZcOQnF2TdD9rD0siewsm0u8tvFTP4VGNdRhS1mX_IbkHzWK_iE_36Kb6YVpIl8wjQO9J9JCjZRwo8mirXdUBpXpbwLELLEkEb3IpQMAA",
"iv": "hYMp9LBIqja7h4Da",
"ciphertext": "cc6swtjMe1Gt4NLVChIqmw",
"tag": "LGS-Aivh61DvyK6k1MHsCg"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"success": false,
"message": "<string>",
"required": "<string>"
}401 Unauthorized responses. The response is a JWE encrypted for the RSA public key configured on the Platform Key.Authorizations
Project-bound API key. Do not send an Authorization header.
Path Parameters
1Body
- Option 1
- Option 2
POST form of the GET query parameters: a flat JSON object whose keys are the
GET query parameter names. For a Platform Key with request encryption on, send
this object encrypted as an EncryptedRequest instead.
Same as the fromDate query parameter of the GET operation.
Same as the toDate query parameter of the GET operation.
Same as the sessionIds query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.
100001Same as the callerNumber query parameter of the GET operation. Send a JSON
array of caller values in any provider format (no URL encoding needed), or a
comma-separated string. Every entry must be a string with at least one letter
or digit and at most 512 characters; an empty array returns 400.
1 - 100 elements1 - 512["+91 98765 43210", "Anonymous"]
Same as the channelUIds query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.
1001Same as the channel query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.
100http_async, slack, line, msteams, whatsapp, messenger, instagram, twilio_sms, zendesk, telegram, genesys, genesys_open_messaging, ai4w, kore_agent_assist, email, voice_vxml, korevg, audiocodes, genesys_audio_connector, voice_pipeline, voice_realtime, voice, voice_twilio, voice_livekit, ag_ui, a2a, sdk_websocket, web_debug, web_chat, api, http Same as the environment query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.
100dev, staging, production, working-copy Same filter as the traceDimensions[key] query parameter, as an object of
dimension name to value. Values may be strings, numbers, booleans, or an array
of those. Nested objects are rejected.
Show child attributes
Show child attributes
Same as the cursor query parameter of the GET operation.
1Same as the offset query parameter of the GET operation.
x >= 0Same as the skip query parameter of the GET operation.
x >= 0Same as the limit query parameter of the GET operation.
1 <= x <= 10000Same as the direction query parameter of the GET operation.
asc, desc Response
Message page returned successfully (same body as the GET form).
- Option 1
- Option 2
Always true on a successful response.
Total number of messages matching your filters, across all pages.
x >= 0Whether more pages are available after this one.
The offset applied to this response.
x >= 0The page size applied to this response.
1 <= x <= 10000The messages on this page.
Show child attributes
Show child attributes
Opaque cursor for the next page.
Was this page helpful?