Skip to content
Console

List message attachments

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

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

Read bounded stored attachment metadata for an exact permitted conversation message. Requires explicit file_read and transcript grants. Internal messages require notes opt-in. Returns basename, MIME and decimal size only; download/upload are unavailable.

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.

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 /^fil_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
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
conversation_id
required
string
<= 100 characters /^con_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
message_id
required
string
<= 100 characters /^msg_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
visibility
required
string
Allowed values: public internal
files
required
Array<object>
<= 100 items
object
id
required
string
<= 100 characters /^fil_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
name
required
Any of:
string
<= 512 characters
content_type
required
string
<= 100 characters /^[a-z0-9][a-z0-9!#$&^_.+-]*/[a-z0-9][a-z0-9!#$&^_.+-]*$/
size_bytes
required
Any of:
string
<= 19 characters /^(?:0|[1-9][0-9]{0,18})$/
next_cursor
required
Any of:
string
<= 100 characters /^fil_[0-9]{1,20}_[1-9][0-9]{0,18}_[1-9][0-9]{0,18}$/
download_available
required
coverage
required
Allowed value: persisted_message_attachment_metadata

Example

{
"data": {
"visibility": "public",
"download_available": false,
"coverage": "persisted_message_attachment_metadata"
}
}

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.