---
title: "Stream asset content (supports HTTP Range requests)"
method: GET
path: "/v1/assets/{assetId}/content"
tags: ["Assets"]
---

# Stream asset content (supports HTTP Range requests)

`GET /v1/assets/{assetId}/content`

## Request

- Base URL: `https://api.lizzflix.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.lizzflix.xyz/v1/assets/{assetId}/content`
- Auth: none declared

Returns the binary content of a media asset. A signed-in caller must own the asset; a signed `token` authorizes the one asset it names. Supports Range requests for partial content (206) and returns 416 when the requested range is not satisfiable. Responses carry the stored file's `ETag`; a matching `If-None-Match` answers 304 without a body, and a Range whose `If-Range` does not match gets the whole file. Every response carries `X-Content-Type-Options: nosniff` and a sandboxing CSP; types outside the image/video/audio allow-list are sent as attachments.

## Path parameters

- `assetId` string, required

## Query parameters

- `token` string
- `width` string: Ignored. Thumbnails: `/v1/assets/{assetId}/thumbnail?w=`.
- `quality` string: Ignored.

## Response `200`

Full asset content

## Other responses

- `206`: Partial asset content (range)
- `304`: Not modified (If-None-Match matched the ETag)
- `401`: Unauthorized
- `404`: Asset not found or unavailable
- `416`: Range not satisfiable

---

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