Skip to content
Console

List conversation messages

GET
/api/v1/conversations/{conversation_id}/messages
curl --request GET \
--url 'https://api.inside.chat/api/v1/conversations/example/messages?include_internal=false' \
--header 'Authorization: Bearer <token>'

Required scopes: conversation_read, message_content_read, contact_read_pii
Data access: message_content, pii
MCP tool: conversation_messages
Note: include_internal adds internal_notes_read

Read persisted public transcript messages by default. Content and PII access are both required. Explicit include_internal=true additionally requires internal_notes_read and the internal_notes data flag; returns public/internal visibility labels.

conversation_id
required
string
/^con_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
website_id
string
/^web_[0-9]{1,20}_[1-9][0-9]{0,18}$/

Optional; if present must match the resource owner.

limit
integer
>= 1 <= 100
cursor

Continue at the last delivered owned resource ID. Existing canonical base64 positive signed-64-bit numeric history cursors are also accepted for transcript and visitor history.

string
<= 100 characters /^(?:msg_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}|[A-Za-z0-9+/]{2,26}={0,2})$/
include_internal

Explicitly include stored internal messages. Requires internal_notes_read and the internal_notes data flag in addition to all transcript grants. Default is public messages only.

boolean

Authorized result. Projection depends on current scopes and data policy.

Media typeapplication/json
object
data
required
object
data
required
Array
<= 100 items
One of:
object
delivery_status
required
string
Allowed values: pending sent error read sending unknown
id
required
string
<= 100 characters /^msg_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
conversation_id
required
string
<= 100 characters /^con_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
occurred_at
required
string format: date-time
<= 40 characters
sender_type
required
string
Allowed values: visitor operator system unknown
sender_name
required
Any of:
string
<= 200 characters
visibility
required
string
Allowed values: public internal
content_type
required
string
Allowed values: text/plain text/html text/markdown text/inside.markdown text/inside.legacy
content
required
Any of:
string
<= 32768 characters
content_included
required
content_truncated
required
boolean
next_cursor
required
Any of:
string
<= 100 characters /^msg_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
coverage
required
string
Allowed values: persisted_public_messages persisted_permitted_messages
content_included
required

Example

{
"data": {
"data": [
{
"delivery_status": "pending",
"sender_type": "visitor",
"visibility": "public",
"content_type": "text/plain",
"content_included": true
}
],
"coverage": "persisted_public_messages",
"content_included": true
}
}

Invalid, duplicate or unsupported request parameters.

Missing, expired or revoked installation credential.

Resource not found or not permitted by current authority.

The requested capability is not available for application installations.

Per-app quota exceeded.

Retry-After
integer
>= 1

Enrollment, native service or required authority is unavailable.