Batch Download URLs
Mints short-lived signed read URLs for a batch of ready files in one
round trip — the batch counterpart of
GET /files/{fileId}/download-url, for fetching an entity’s whole document
set at once. Fetch each file’s bytes with a plain GET of its url; the
bytes come straight from cloud storage, never through this API. Each URL is
signed with the requested content disposition and expires at expiresAt
(15 minutes) — request fresh ones instead of caching.
This is a POST because the id list is a request body, not a query string,
but it is a read: it mints nothing durable and records no audit entry.
All-or-nothing. If any requested file is missing, belongs to another
company, or is not ready (a pending upload), the WHOLE request is
rejected and NO URLs are returned — a mixed batch can never partially leak.
A missing or cross-company id is a 404; a not-ready file is a 409.
Batch size is capped at 100 ids. More than 100, or an empty fileIds
array, is a 400.
Always serves each file’s current version — this endpoint does not expose per-version pinning.
Required permission: company.file:download
Authorizations
API key authentication. Send your raw API key as the Authorization header value with NO scheme prefix — Authorization: YOUR-API-KEY. Do NOT prefix it with Bearer or ApiKey, and do not use an X-API-Key header; those are not accepted.
Path Parameters
Company identifier
Body
The files to mint URLs for. 1–100 ids; duplicates are minted once.
1 - 100 elementsContent disposition signed into every URL. attachment (default) prompts a download with the original filename; inline lets the browser render the file (PDF viewer, images).
attachment, inline Response
One signed download URL per requested file
