---
title: "Archive Assets"
method: GET
path: "/api/v1/quick-spaces/assets/archive"
tags: ["quickSpaces", "quickSpaces"]
---

# Archive Assets

`GET /api/v1/quick-spaces/assets/archive`

Stream a ZIP of the selected designs — the bulk-download path.

A GET with the ids in the query string, not a POST body, because the archive is a pure read and
a GET is the only shape the browser can also hand straight to its own downloader (an <a href>
or a signed URL later) instead of buffering the whole response in the tab. It is also
retryable/resumable-friendly and mirrors the single-file /assets/{id}/download next to it. The
per-request file cap keeps the query string well inside the 8 KB request-line limit.

`ids`: comma-separated asset ids. 400 when the selection is empty or over the file/byte caps
(see archive_view.MAX_ARCHIVE_FILES / MAX_ARCHIVE_BYTES), 404 if ANY id isn't the caller's.
Unreadable files are skipped and listed in a README inside the archive, never dropped silently.

## Query parameters

- `ids` string, required

## Response `200`

Successful Response

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/brandbooster/apis/fastapi.md) · [All operations](https://skmtc.dev/brandbooster/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/brandbooster/fastapi/revisions/ff7f2b621b41/schema)
