Download a file
Streams the file. Proxied, so the documented size cap applies.
Permission
The key must be granted files.read
A key without it gets 403 insufficient_scope, with the missing permission named in details.
Answers the bytes rather than JSON, with the stored content type and always as an attachment: HTML somebody uploaded must not render on this origin. Ranged reads are supported and carried through, which is how a file larger than the proxy's ceiling is fetched and how media seeks. A document that is not an uploaded file has no bytes and answers 404.
Path parameters
| Field | Type | Description |
|---|---|---|
id required |
string | The file to download. |
Request
curl https://api.veruapis.com/v1/files/:id/content \
-H "Authorization: Bearer vak_live_..."
Response
Streams the file itself rather than the JSON envelope.
Streams the bytes rather than the envelope, always as an attachment so uploaded HTML cannot render on this origin. Send a Range header for a large file or to seek; the 206 comes back with its Content-Range intact.
Every failure uses the same shape, with a stable string code you can branch on. See the error reference.
Related
- DELETE Abort an upload
- POST Complete an upload
- POST Create a folder
- POST Start an upload
- DELETE Delete a file
- DELETE Delete a folder
- GET Get file metadata
- GET Get upload status
- GET List files
- GET List folders
- GET List file permissions
- POST Share a file
- DELETE Revoke file access
- PATCH Rename or move a file
- PATCH Rename or move a folder
- PUT Upload a part