Skip to main content

Endpoint

POST /download-zip
Auth: API Key required

Body parameters

items
object[]
Files and/or folders to include. Preferred over paths when you already know each item’s kind, since it skips a lookup per item and lets everything download in parallel.
paths
string[]
Shorthand alternative to items — a plain list of paths. The server determines whether each one is a file or folder.Ignored if items is also provided.
Provide either items or paths, non-empty, with at most 200 entries total. Missing files are skipped rather than failing the whole request.

Response

Returns a ZIP archive named download.zip. Each entry keeps its full relative path (including folder prefixes), so files with the same name in different folders don’t collide inside the archive.
HeaderValue
Content-Typeapplication/zip
Content-Dispositionattachment; filename="download.zip"
Content-LengthArchive size in bytes
Cache-Controlprivate, no-store
Status codes: 200 success · 400 invalid body or too many items (max 200) · 404 no files found for the given paths · 500 error

Example

curl -X POST http://localhost:3000/download-zip \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"items": [{"path": "photos/portrait.jpg", "kind": "file"}, {"path": "videos", "kind": "folder"}]}' \
  -o download.zip

Download Folder as ZIP

Download a single folder without listing its files individually.

Download Original File

Download a single file.