---
title: "Download all (optionally filtered) mission media as a streaming zip"
method: GET
path: "/media/download.zip"
tags: ["Media"]
---

# Download all (optionally filtered) mission media as a streaming zip

`GET /media/download.zip`

Streams a zip archive containing the original media files for a mission.
The archive is generated server-side by fetching each object directly
from S3 — no client-side file-count limits or cross-origin navigation.
Entries are organised as `<siteName>/<ISO-timestamp>.<ext>` with
unassigned media grouped under `_unassigned/`.

## Query parameters

- `missionId` string, uuid, required
- `siteId` string, uuid
- `mediaIds` string
- `includeEvidenceCrops` 'true'

## Response `200`

Streaming zip archive

## Other responses

- `400` — Bad request or validation error
- `401` — Authentication required
- `403` — Insufficient permissions
- `404` — Resource not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

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