---
title: "Download Item File"
method: GET
path: "/items/{item_id}/download"
tags: ["items"]
---

# Download Item File

`GET /items/{item_id}/download`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/items/{item_id}/download`
- Auth: none declared

Durable-first read-back of the archived original (pipeline §"Archive").

For an item archived to an object store that can presign (S3), 302-redirects to a
short-lived presigned URL so the browser fetches the bytes straight from the durable
store (offloads large payloads; works when API + archiver share no writable volume,
layer rule #1). For every other provider (sharepoint/local/webdav/OAuth drives) it
FALLS BACK to the same platform-staging bytes ``/file`` serves. 404 only when neither a
durable presign nor staged bytes are available.

Behind ``ScopedDep`` — a top-level browser navigation authenticates via the HttpOnly
``access_token`` cookie, so no bearer header is needed for the cross-origin 302→S3.

## Path parameters

- `item_id` string, required

## Query parameters

- `disposition` string

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
