---
title: "Upload Media"
method: POST
path: "/upload"
tags: ["media"]
---

# Upload Media

`POST /upload`

## Request

- The document declares no server URL.
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/docs/upload/post.ts> (a function with typed inputs; its response is checked against the schema)

Загрузка медиафайла на сервер.

## Request body `multipart/form-data`

- BodyUploadMediaUploadPost
  - `file` string, binary, required
  - `media_type` string: Тип файла: photo, video или document
  - `caption` string, nullable: Необязательная подпись к файлу

## Response `201`

Successful Response

- AppWebapiSchemasMediaMediaUploadResponse
  - `media_type` string, required: Тип загруженного файла (photo, video, document)
  - `file_id` string, required: Telegram file_id загруженного файла
  - `file_unique_id` string, nullable: Уникальный идентификатор файла
  - `media_url` string, nullable: Прямая ссылка на файл для предпросмотра

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `2360876ff9c5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/changes/upload/post.md)

---

[API](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api.md) - [All operations](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/revisions/2360876ff9c5?raw)
