---
title: "Download an asset"
method: POST
path: "/v1/assets/download"
tags: ["App"]
---

# Download an asset

`POST /v1/assets/download`

Download a Matrix asset using its mxc:// or localmxc:// URL to the device running Beeper Desktop and return the local file URL.

## Request body

- DownloadAssetInput
  - `url` string, required — Matrix content URL (mxc:// or localmxc://) for the asset to download.

## Response `200`

Request executed successfully

- DownloadAssetOutput
  - `srcURL` string — Local file URL to the downloaded asset.
  - `error` string — Error message if the download failed.

## 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

[Change history](https://skmtc.dev/beeper/apis/beeper-desktop-api/changes/v1/assets/download/post.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)
