Developer docs

Upload API channel attachments

Upload an image or document and attach its attachmentId to a customer message.

Updated 2026-07-24For: Backend developers

The API channel supports images and standard documents. Audio, video, and external file URLs are not supported. A message can reference up to 10 attachments.

Upload modes

The channel provides one of these flows for the active storage mode:

Direct upload

POST /api/public/api-channels/{channelId}/uploads
Content-Type: multipart/form-data

The form contains one file and one category; category must be image or document. Sign the complete raw multipart body.

Presigned upload

  1. Call POST .../uploads/presign with the file name, type, size, and category.
  2. PUT the file to the returned uploadUrl with the returned headers.
  3. Call POST .../uploads/complete with the objectKey and the same file information.

Both modes return an attachmentId. A message can reference only completed, unexpired attachments from the same tenant and API channel.

Related guides