# Завантаження файлів

Реєструє раніше завантажений файл, щоб хмарний телефон його отримав.
- **Передумови**: хмарний телефон повинен бути увімкнений і не може бути зайнятий іншим учасником команди, і **об'єкт уже має існувати за вказаним 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)

