Skip to main content

Files

Get file upload URL

Generates a presigned URL for uploading a file. After uploading, use the returned file_id as an attachment ID in messages.

POST /v1/custom/:integration_id/sessions/:session_id/files/upload-url

Path parameters

ParameterTypeRequiredDescription
integration_idUUIDYesYour custom integration ID.
session_idUUIDYesThe session ID.

Request body

{
"filename": "receipt.pdf",
"content_type": "application/pdf"
}
FieldTypeRequiredDescription
filenamestringYesOriginal filename.
content_typestringYesMIME type of the file (e.g., image/png, application/pdf).

Response200 OK

{
"request_id": "550e8400-e29b-41d4-a716-446655440009",
"upload_url": "https://storage.example.com/presigned-upload-url",
"file_id": "file-abc123"
}
FieldTypeDescription
request_idstringUnique identifier for this request.
upload_urlstringPresigned URL to upload the file via HTTP PUT.
file_idstringFile identifier to use in message attachments.

Get file download URL

Generates a presigned URL for downloading a previously uploaded file.

POST /v1/custom/:integration_id/sessions/:session_id/files/download-url

Path parameters

ParameterTypeRequiredDescription
integration_idUUIDYesYour custom integration ID.
session_idUUIDYesThe session ID.

Request body

{
"file_id": "file-abc123"
}
FieldTypeRequiredDescription
file_idstringYesThe file identifier from a previous upload or webhook attachment.

Response200 OK

{
"request_id": "550e8400-e29b-41d4-a716-446655440010",
"download_url": "https://storage.example.com/presigned-download-url",
"file_id": "file-abc123"
}