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

# Archive Assets

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

## Request

- Base URL: `https://api.brandbooster.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.brandbooster.ai/api/v1/quick-spaces/assets/archive`
- Auth: HTTP bearer

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/brandbooster-api.md) - [All operations](https://skmtc.dev/brandbooster/apis/brandbooster-api/llms.txt) - [OpenAPI document](https://skmtc.dev/brandbooster/apis/brandbooster-api/revisions/02d28bde684c?raw)
