Skip to main content
All paths on this page are relative to https://inkbox.ai/api/v1/slack. File reads require an active identity and a connected workspace with access to the file.

Get file metadata

connection_id is a UUID. file_id starts with F, followed by uppercase letters or digits, up to 64 characters total. Get file IDs from message metadata or file webhooks.

Response (200)

name, title, mimetype, and byte size can be null. downloadable indicates that Slack reports a supported file with a download location. It does not guarantee that the file will remain accessible or fit the download size limit.

Download file content

Returns 200 with raw file bytes and Content-Type: application/octet-stream. This is not JSON or a persistent file URL. The attachment filename uses the file ID.
cURL
Downloads are limited to 10 MiB. A larger file returns 413 with detail.code: "file_too_large"; retrying the same download will not bypass the limit. External files are unsupported and return 422. An unavailable file can return 404; another download failure can return 502. Honor Retry-After on rate-limited reads. Files are fetched live using the selected connection’s permissions. Inkbox does not archive the bytes. Access may change after a file event arrives. File visibility does not prove the file’s original workspace.

Upload a file

Requires Idempotency-Key and returns the operation object, not a send action. The send-message endpoint still accepts text only.
cURL
The example uploads the five bytes Hello. Returns 200 with operation: "file_upload". Inspect status; file_id can identify a file even when a later upload step fails or becomes uncertain. It is not proof the file was shared successfully. An oversized request body returns 413; invalid or oversized decoded file content returns 422. Slack permissions, workspace upload policies, supported file types, and rate limits apply. A failed upload may have created a file before a later step failed. Keep the same key if the HTTP response is lost. For unknown, reconcile the file and conversation before deciding on a new upload; a new key can create a duplicate. Inkbox does not retain the uploaded bytes as archive content. A later download still depends on current Slack access.