Use this when you need a small file's raw content, a link to give the person, or to save a Siglata file into your local workspace (such as an exported workbook to open in Excel). Read any file version with `version`, defaulting to the current version. Up to 128 KiB it returns the content inline: `text` for text media, `blob` (base64) otherwise; `linkOnly: true` skips the content. Whole results return `link`, a download a signed-in person opens in the browser, and `transfer`: to save the file locally, run `transfer.command` in your shell, which writes it into the working directory under its name with a one-time link valid for 10 minutes (in Codex, request network access for that one command). In Windows PowerShell, run it as `curl.exe` with the same arguments. Never retype `blob` into a file. Workbooks and documents are read server-side by `sql`, `document_search` and `document_read`, never downloaded to answer. `file` carries its processing `status` (see `get`).
Takes one input, or `items` alone: up to 50 inputs run in this one call. Returns `results` in input order, each that input's result (for a change, its `id` and `kind`) or its `error`; one failing input fails only itself.
A result over 24,000 characters comes in parts: `{"part","parts","next"}`, then that part's text. Call again with the same arguments and `part` set to `next` for the following part, and join the texts in order; `result_changed` means the result changed meanwhile, so start again without `part`.
For a parted file_read, join only the second text from each part. Parts contain stable content and metadata without transfer tickets. To obtain a transfer, call file_read separately for one file with linkOnly: true and the version returned in that content.
Error codes: invalid_input, forbidden, not_found, database_failure, storage_failure, INVALID_ARGUMENTS, INSUFFICIENT_SCOPE, ORGANIZATION_MEMBERSHIP_REQUIRED, SESSION_EXPIRED.