Skip to main content
GET
List conversation messages

Authorizations

Authorization
string
header
required

The id_token from POST /auth/v1/signin, sent as Authorization: Bearer <id_token>. Not the access_token — that one does not carry the identity Cloud Chat authorizes on.

Headers

cloudchat-instance
integer
required

Your Cloud Chat instance ID — an integer, fixed for your company, told at onboarding. The API overview explains how instances work, how to find yours, and the errors a wrong or missing value produces.

Example:

1

Path Parameters

accountId
integer
required

Your Cloud Chat account. It has to be an account your token grants membership on, and it has to live on the instance in the cloudchat-instance header — the two travel together. Account numbers are only unique within an instance, so the same number is a different company on another instance. Usually a mismatched pair fails closed with a 401, because your user does not exist on the other instance — but if your identity happens to exist on both, the call succeeds against the other company's data, silently. Read it and you are looking at the wrong help center; write it and you have stored into the wrong account. Send the two values that were given to you together, and never try a number to see what answers.

Example:

1

conversationId
integer
required

The conversation's display_id — the number shown in the dashboard URL and delivered in webhooks. It is never the internal database id.

Example:

1042

Query Parameters

message_type
enum<string>

Keep only messages of this type. An unrecognized value is a 400, not silently ignored.

Available options:
incoming,
outgoing,
activity,
template
sort
enum<string>
default:oldest

Ordering by id. An unrecognized value is not an error — it falls back to oldest.

Available options:
oldest,
newest
page
integer
default:1

1-based page number. Anything below 1 — including a non-numeric value — is read as 1.

Required range: x >= 1
Example:

1

per_page
integer
default:25

Results per page. Clamped, never rejected: above 100 you get 100, below 1 you get the default 25.

Required range: 1 <= x <= 100
Example:

25

Response

A page of messages. data is empty when the conversation has none matching — an empty page is not a 404.

One page of messages, oldest first by default.

data
object[]
required

The messages on this page.

meta
object
required

Where you are in the result set. There is no total count — walk forward while has_next is true.