Skip to content
Console

Get a message

GET
/api/v1/conversations/{conversation_id}/messages/{message_id}
curl --request GET \
--url 'https://api.inside.chat/api/v1/conversations/example/messages/example?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_message
Note: include_internal adds internal_notes_read

Read one stored message belonging to an exact conversation. Existing transcript grants and restrictions apply; internal messages require explicit notes opt-in.

conversation_id
required
string
/^con_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
message_id
required
string
/^msg_[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.

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
message
required
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
content_included
required
coverage
required
string
Allowed values: persisted_public_messages persisted_permitted_messages

Example

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

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.