# Загрузка файлов

Регистрирует ранее загруженный файл, чтобы облачный телефон его скачал.
- **Предварительные условия**: облачный телефон должен быть включён и не должен быть занят другим участником команды, и **объект уже должен существовать по указанному URL**: служба проверяет его и отклоняет запрос, если прочитать объект не удаётся. Загрузки для прямой трансляции должны быть в MP4 и предназначаться Сервису, поддерживающему трансляции.
- **Завершение**: **принято, но не завершено.** Ответ возвращает `fileId` со статусом «в процессе». Опрашивайте эндпоинт результата загрузки, пока статус не станет успешным или ошибочным.
- **Повтор**: дедупликации нет; каждый вызов создаёт новый `fileId`.
- **Примечание о поверхности API**: в Local API этот путь — другой, более старый multipart-сценарий. Аналог этого эндпоинта в Local API — `/api/cloudphone/upload/file`.

Задокументированные бизнес-ошибки: `33401`, `33419`. Значения кодов см. в [Error Codes](../Getting%20Started/error-codes.md). Любая операция может дополнительно вернуть общие коды.

Endpoint: POST /cloudphone/uploadFile
Version: 2026-09-05
Security: Authorization

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `id` (string, required)
    Cloud phone ID
    Example: 1661515884160372

  - `url` (string, required)
    Object URL obtained from `presignedUrl` after the file bytes have been uploaded, or another publicly accessible download URL
    Example: https://storage.example.com/cloudphone/test.jpg

  - `uploadDest` (string, required)
    Upload destination directory
    Example: /Download

  - `uploadType` (integer)
    File type (`1` = regular file, `2` = MP4 live-streaming file)
    Enum: 1, 2

## Response 200:

  - `200` (unknown)
    Success. `data` is an object with the fields `fileId`, `id` and `status`.

## Response 200 fields (application/json):

  - `code` (integer, required)

  - `msg` (string | null, required)

  - `data` (object, required)

  - `data.fileId` (string, required)
    Uploaded file ID

  - `data.id` (string, required)

  - `data.status` (integer, required)
    Upload status 0:uploading 1:success 2:failed

  - `requestId` (string, required)

