---
title: "Serve an asset"
method: GET
path: "/v1/assets/serve"
tags: ["App"]
---

# Serve an asset

`GET /v1/assets/serve`

Stream a file given an mxc://, localmxc://, or file:// URL. Downloads first if not cached. Supports Range requests for seeking in large files.

## Query parameters

- `url` string, required — Asset URL to serve. Accepts mxc://, localmxc://, or file:// URLs.

## Response `204`

Request executed successfully

## Other responses

- `400` — Invalid request parameters
- `401` — Access token is missing or invalid
- `403` — Access token does not have the required scope
- `404` — Resource not found
- `422` — Unprocessable entity - validation error
- `429` — Too many requests - rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-02-20** `4acef56b00be` — 14 info
  - added `subschema #1, subschema #2, subschema #3` to the `details` response property `anyOf` list for the response status `400`
  - added `subschema #1, subschema #2, subschema #3` to the `details` response property `anyOf` list for the response status `401`
  - added `subschema #1, subschema #2, subschema #3` to the `details` response property `anyOf` list for the response status `403`
  - added `subschema #1, subschema #2, subschema #3` to the `details` response property `anyOf` list for the response status `404`
  - …10 more
- **2026-01-31** `099d55ac0e74` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/beeper/apis/beeper-desktop-api/changes/v1/assets/serve/get.md)

---

[API](https://skmtc.dev/beeper/apis/beeper-desktop-api.md) · [All operations](https://skmtc.dev/beeper/apis/beeper-desktop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/beeper/beeper-desktop-api/revisions/5a8ac7b545c4/schema)
