Skip to main content
POST
Retrieve conversation messages while sending the request parameters in the request body instead of the URL query string. It supports the same filters, pagination options, and response format as the corresponding GET endpoint. Use the POST endpoint when the request parameters must be encrypted. When request encryption is enabled for the Platform Key, send the request parameters as a JSON Web Encryption (JWE) payload. The encrypted payload protects the parameters that would otherwise be exposed in the GET query string. Request encryption is configured on the Platform Key in Studio. The request uses a flattened JWE in JSON serialization and is encrypted using the AES-256 key associated with the Platform Key. If response encryption is also enabled for the Platform Key, the endpoint returns encrypted responses, including error responses, except for 401 Unauthorized responses. The response is a JWE encrypted for the RSA public key configured on the Platform Key.

Authorizations

x-api-key
string
header
required

Project-bound API key. Do not send an Authorization header.

Path Parameters

projectId
string
required
Minimum string length: 1

Body

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.

fromDate
string<date-time>

Same as the fromDate query parameter of the GET operation.

toDate
string<date-time>

Same as the toDate query parameter of the GET operation.

sessionIds

Same as the sessionIds query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.

Maximum array length: 10000
Minimum string length: 1
callerNumber

Same 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.

Required array length: 1 - 100 elements
Required string length: 1 - 512
Example:
channelUIds

Same as the channelUIds query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.

Maximum array length: 100
Minimum string length: 1
channel

Same as the channel query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.

Maximum array length: 100
Available options:
http_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
environment

Same as the environment query parameter of the GET operation. Send a JSON array, or a comma-separated string as in the query string.

Maximum array length: 100
Available options:
dev,
staging,
production,
working-copy
traceDimensions
object

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.

cursor
string

Same as the cursor query parameter of the GET operation.

Minimum string length: 1
offset
integer
default:0

Same as the offset query parameter of the GET operation.

Required range: x >= 0
skip
integer

Same as the skip query parameter of the GET operation.

Required range: x >= 0
limit
integer
default:100

Same as the limit query parameter of the GET operation.

Required range: 1 <= x <= 10000
direction
enum<string>
default:asc

Same as the direction query parameter of the GET operation.

Available options:
asc,
desc

Response

Message page returned successfully (same body as the GET form).

success
boolean
required

Always true on a successful response.

totalRecords
integer
required

Total number of messages matching your filters, across all pages.

Required range: x >= 0
hasMore
boolean
required

Whether more pages are available after this one.

offset
integer
required

The offset applied to this response.

Required range: x >= 0
limit
integer
required

The page size applied to this response.

Required range: 1 <= x <= 10000
messages
object[]
required

The messages on this page.

nextCursor
string | null
required

Opaque cursor for the next page.