Skip to content

Get attachments in a conversation

GET
/api/conversations/{id}/attachments

Returns all file attachments associated with messages in a conversation. Each attachment includes a pre-signed download URL that is time-limited.

id
required
string format: uuid

The unique identifier of the conversation.

List of attachments across all messages in the conversation. May be empty if no attachments were sent.

List of file attachments associated with a conversation’s messages.

Array<object>

A file attached to a message. Attachments are stored in S3 and processed by the document parser for OCR and content extraction when relevant (PDFs, images).

object
id
required

Unique identifier for the attachment.

string format: uuid
Example
at1a2b3c-5678-9abc-def0-1234567890ab
messageId
required

The message this attachment belongs to.

string format: uuid
Example
m1a2b3c4-5678-9abc-def0-1234567890ab
fileName

Original file name as provided by the sender.

string | null
Example
invoice-4521.pdf
contentType

MIME type of the attachment.

string | null
Example
application/pdf
sizeBytes

File size in bytes.

integer | null
Example
245760
url

Pre-signed URL to download the attachment. The URL is time-limited.

string | null
Example
https://storage.example.com/...
createdAt
required

Timestamp when the attachment was stored.

string format: date-time
Example
2026-03-24T08:15:30.000Z

No conversation exists with the given ID in the authenticated tenant. An API key restricted to a brand or workspace receives the same answer for a conversation in a workspace outside its restriction.

Standard error response returned by all endpoints on failure.

object
error
required

A human-readable error message describing what went wrong.

string
Example
Conversation not found
code

A machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.

string
Example
key_lock
missing_scopes

On a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.

Array<string>
Example
[
"mcp:write"
]
entryId

On a 409 with code duplicate_question or duplicate_rule_text: the knowledge base entry or policy that already holds the question or rule text.

string format: uuid
Example
11223344-5566-4788-99aa-bbccddeeff00
connectionId

On a 422 about one MCP connection a request names, from an assignment or an agent create or update (a connection that does not exist, one listed twice, or one that does not declare a tool named): the connection, as the request named it.

string
undeclaredTools

On the same 422: the tool names the connection does not declare.

Array<string>
Example
[
"get_orders"
]
declaredTools

On the same 422: the tools the connection declares.

Array<string>
Example
[
"get_order",
"search_orders"
]