Skip to main content
Back to API List A lightweight endpoint that returns chat transcripts without additional metadata or payload overhead. Supports high-volume retrieval and minimizes response size to reduce processing time and avoid rate limit issues.
FieldValue
MethodGET and POST
EndpointGET: https://{{host}}/api/public/bot/{{botId}}/messages-lite?userId={{userId}}&limit=5&skip=0&offset=0
Or
https://{{host}}/api/public/bot/{{botId}}/messages-lite?channelUId={{channelUId}}&channelType=whatsapp&limit=5
Note: Either userId or channelUIdis required.
POST: https://{{host}}/api/public/bot/{{botId}}/messages-lite
Content Typeapplication/json
Authorizationauth: {{JWT}} See How to generate the JWT Token.
API ScopeApp Builder: Chat History; Admin Console: Bot Analytics > Chat History

Path Parameters

ParameterRequiredDescription
hostRequiredEnvironment URL, for example, https://platform.kore.ai.
botIdRequiredBot ID or Stream ID. Access it on the bot’s General Settings page.

Sample Request

GET Method: Query by userId
curl --location --request GET 'https://{{host}}/api/public/bot/{{botId}}/messages-lite?userId={{UserId}}&channelType=korevg&includeLatency=true' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}' \
--header 'Content-Type: application/json' \
--header 'userId: u-8*****1a-3d65-**********3cb0fdb465e4'

Query by channelUId (single value)
curl --location --request GET \
'https://{{host}}/api/public/bot/{{botId}}/messages-lite?channelUId=%2B91987***3210&channelType=whatsapp&limit=5' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}' \
--header 'Content-Type: application/json'


POST method: Query by userId
curl --location 'https://{{host}}/api/public/bot/{{botId}}/messages-lite' \
--header 'accept: application/json' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
  "userId": "u-xxxx-xxxxx-xxxx",
  "sessionId": "5eadxxxxxxxxxxxxx",
  "dateFrom": "2019-04-01",
  "dateTo": "2019-04-30",
  "channelType": "rtm",
  "type": ["incoming", "outgoing"],
  "limit": 100,
  "skip": 0,
  "isDeveloper": false,
  "includeLatency": true
}

Query by channelUId (single value)
curl --location 'https://{{host}}/api/public/bot/{{botId}}/messages-lite' \
--header 'accept: application/json' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
  "channelUId": "john.doe@example.com",
  "channelType": "email",
  "dateFrom": "2026-05-01",
  "dateTo": "2026-05-31",
  "limit": 50
}
Query by channelUId Array
curl --location 'https://{{host}}/api/public/bot/{{botId}}/messages-lite' \
--header 'accept: application/json' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
  "channelUId": [
    "+919876543210",
    "john.doe@example.com"
  ],
  "dateFrom": "2026-05-01",
  "dateTo": "2026-05-31",
  "limit": 100
}
 

Request Query Parameters (GET)

ParameterRequiredTypeDescription
userIdOptionalStringUser identifier. Required unless channelUId is provided. If both are supplied, userId takes precedence.
channelUIdOptionalString or ArrayChannel-side identifier such as phone number, email address, RTM handle, PSID. Pass the raw identifier; the platform constructs the internal format. Multi-value syntax: channelUId=a&channelUId=b
channelTypeOptionalStringRequired if channelUId is provided. Channel type, for example whatsapp, email, rtm. Source channel, for example: rtm, whatsapp, email, web-sdk. Recommended when supplying channelUId for a single-channel lookup. Omit when passing a multi-value channelUId array to retrieve history across all channels.
sessionIdOptionalStringUnique session identifier.
dateFromOptionalStringStart date for filtering messages. Format: YYYY-MM-DD.
dateToOptionalStringEnd date for filtering messages. Format: YYYY-MM-DD.
isDeveloperOptionalBooleanIndicates if the query runs in developer mode. Default: false.
includeCountOptionalBooleanWhen true, the response includes a total count of matching messages. Default: false.
limitOptionalIntegerThe maximum number of messages returned per request is 1000, with a default of 5 messages if no limit is specified.
skipOptionalIntegerNumber of records to skip before retrieving results.
includeLatencyOptionalBooleanWhen true, each outgoing (bot) message includes a latency object with segment-level timing data. Default: false.
offsetOptionalIntegerPagination offset value.

Request Body Parameters (POST)

ParameterRequiredTypeDescription
userIdOptionalStringUser identifier. Required unless channelUId is provided. If both are supplied, userId takes precedence.
channelUIdOptionalString or ArrayChannel-side identifier such as phone number, email address, RTM handle, PSID. Pass the raw identifier; the platform constructs the internal format. Multi-value syntax: channelUId=a&channelUId=b
channelTypeOptionalStringSource channels such as rtm, whatsapp, email. Recommended for single-channel lookups using channelUId. Omit when passing a multi-value channelUId array to retrieve history across all channels. Omitting channelType enables retrieval across all matching channels.
sessionIdOptionalStringUnique session identifier.
dateFromOptionalStringStart date for filtering messages. Format: YYYY-MM-DD.
dateToOptionalStringEnd date for filtering messages. Format: YYYY-MM-DD.
includeLatencyOptionalBooleanWhen true, each outgoing (bot) message includes a latency object with segment-level timing data. Default: false.
typeOptionalArrayMessage direction: incoming or outgoing.
limitOptionalIntegerMaximum number of messages to return.
offsetOptionalIntegerPagination offset value.
skipOptionalIntegerNumber of records to skip.
isDeveloperOptionalBooleanIndicates if the query runs in developer mode.
includeCountOptionalBooleanWhen true, the response includes a total count of matching messages. Default: false.

Sample Response

{
    "total": 8,
    "moreAvailable": false,
    "messages": [
        {
            "_id": "ms-c715b************3-9c43-bd89ec8dd4f0",
            "botId": "st-76371e************-b55c-e3a05e7ecb98",
            "orgId": "o-c659105************8b9a-1cc58bc89d46",
            "accountId": "699ed************659486f",
            "type": "outgoing",
            "status": "pending",
            "createdBy": "u-84b1581***************d-3cb0fdb465e4",
            "createdOn": "2026-05-26T07:08:15.911Z",
            "timestampValue": 1779779295911,
            "sessionId": "6a1546**********61a9b0b8",
            "lang": "en",
            "chnl": "korevg",
            "components": [
                {
                    "_id": "cp-b06473f2************998-54ef3cf4ba1b",
                    "cT": "text",
                    "data": {
                        "text": "Then came the smell. A burnt, smoky scent wafted through the air. I yanked open the door to stop the madness and was immediately hit with the sight of my lasagna looking like it had been through a volcanic eruption. Cheese had exploded everywhere — on the sides, the ceiling, and somehow, defying physics, on the outside of the microwave."
                    },
                    "thumbnails": []
                }
            ],
            "channels": [
                {
                    "from": "+13203445682",
                    "to": "cs-9f1ad716-6f5f-561c-********************77706d-e9bd-4015-a08e-8d1c0d795d8b",
                    "channelUId": "cs-9f1ad716-6f5f-56********************2/fa776d-e9bd-4015-a08e-8d1c0d795d8b"
                }
            ],
            "latency": {
                "totalMs": 2848,
                "asr": {
                    "durationMs": 2502
                },
                "bot": {
                    "durationMs": 346
                },
                "tts": {
                    "durationMs": 0
                }
            }
        }

    ]
}

Response Body Parameters

ParameterTypeDescription
totalIntegerTotal number of messages matching the query.
moreAvailableBooleanIndicates whether more messages are available beyond the current response.
messagesArrayArray of message objects.
idStringUnique identifier of the message.
botIdStringUnique identifier of the bot.
typeStringDirection: incoming or outgoing.
statusStringMessage status, such as pending or received.
createdOnStringISO 8601 timestamp when the message was created.
sessionIdStringUnique session identifier.
langStringLanguage of the message.
chnlStringChannel through which the message was sent.
componentsArrayArray of message components.
cTStringType of message component, such as text.
dataObjectObject containing message content.
channelUIdStringUnique identifier of the channel.
total.MsNumberTotal end-to-end latency from user utterance end to bot response playback start (ms).
channelsStringArray of channels involved in the message, each with from, to, and channelUId fields.
channels.fromStringSender identifier for the channel, such as a phone number or email.
channels.toStringRecipient identifier for the channel, such as a phone number or email.
channels.channelUIdStringUnique identifier for the channel interaction.
latencyObjectObject containing latency details, present when includeLatency=true.
latency.totalMsStringTotal end-to-end latency from user utterance end to bot response playback start (ms).