---
title: "Download a single media object"
method: GET
path: "/media/{mediaId}/download"
tags: ["Media"]
---

# Download a single media object

`GET /media/{mediaId}/download`

Streams the original S3 object for a single media row with an
`attachment` Content-Disposition header. Used by the demo-ui
lightbox and inspection-row download buttons to avoid the CORS
and cross-origin `<a download>` limitations of going directly
to CloudFront.

## Response `200`

Raw media bytes

## Other responses

- `401` — Authentication required
- `403` — Insufficient permissions
- `404` — Resource not found
- `429` — Rate limit exceeded
- `500` — Internal server error
- `502` — Upstream S3 read failed

---

[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)
