---
title: "Download Release"
method: GET
path: "/v1/releases/{filename}"
tags: ["releases"]
---

# Download Release

`GET /v1/releases/{filename}`

Get a presigned S3 URL and redirect the user's browser to download directly from S3.

This endpoint validates the file exists, generates a short-lived presigned
URL (1 minute), and redirects the browser to download directly from S3
(avoiding bandwidth costs on backend and Vercel).

Files are stored gzipped on S3 with Content-Encoding metadata (no extra .gz
suffix on the S3 key). Browsers and HTTP clients automatically decompress
during download, saving 30-60% bandwidth.

Args:
    filename: Name of the release file to download
    request: FastAPI request object (to access app state)

Returns:
    RedirectResponse to presigned S3 URL (browser downloads directly)

Examples:
    GET /v1/releases/qualia-v1.2.3-macos-apple-silicon.app

    Response: 307 Redirect to https://bucket.s3.amazonaws.com/qualia-v1.2.3-macos-apple-silicon.app?X-Amz-...

## Path parameters

- `filename` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-18** `abf76937a751` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api/changes/v1/releases/:filename/get.md)

---

[API](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api.md) · [All operations](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api/revisions/d7f2f3b8e82d?raw)
