---
title: "downloadFiles"
method: POST
path: "/v1/files:downloadFiles"
tags: ["File"]
---

# downloadFiles

`POST /v1/files:downloadFiles`

Bulk generate pre-signed download URLs for multiple files in a single request.

This is more efficient than calling `downloadFile` multiple times when you need to download several files.

## Request body

- object[]
  - `id` union, required
    - string — Empty string (used when file ID not yet assigned)
    - string, uuid — Valid UUID v4
  - `version` integer — File version

## Response `200`

Generated download URLs for each requested file

- object[]
  - `download_url` string, uri — Pre-signed S3 URL for downloading the file
  - `file_entity_id` string, uuid — The file entity ID (matches the requested ID)

## Other responses

- `400` — Invalid request parameters or payload
- `401` — Authentication required or invalid credentials
- `500` — An unexpected error occurred on the server

---

[API](https://skmtc.net/epilot/apis/file-api.md) · [All operations](https://skmtc.net/epilot/apis/file-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/file-api/revisions/4d61b97f1e97/schema)
