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.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The unique identifier of the conversation.
Responses
Section titled “ Responses ”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.
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
Unique identifier for the attachment.
Example
at1a2b3c-5678-9abc-def0-1234567890abThe message this attachment belongs to.
Example
m1a2b3c4-5678-9abc-def0-1234567890abOriginal file name as provided by the sender.
Example
invoice-4521.pdfMIME type of the attachment.
Example
application/pdfFile size in bytes.
Example
245760Pre-signed URL to download the attachment. The URL is time-limited.
Example
https://storage.example.com/...Timestamp when the attachment was stored.
Example
2026-03-24T08:15:30.000ZNo 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
A human-readable error message describing what went wrong.
Example
Conversation not foundA machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.
Example
key_lockOn a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.
Example
[ "mcp:write"]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.
Example
11223344-5566-4788-99aa-bbccddeeff00On 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.
On the same 422: the tool names the connection does not declare.
Example
[ "get_orders"]On the same 422: the tools the connection declares.
Example
[ "get_order", "search_orders"]