# Subir archivos

Registra un archivo ya subido para que el Cloud Phone lo descargue.
- **Requisitos previos**: el teléfono debe estar encendido y no puede estar retenido por otro miembro del equipo, y **el objeto ya debe existir en la URL**: el servicio lo inspecciona y rechaza la petición cuando no puede leerlo. Las subidas para transmisión en directo deben ser MP4 y dirigirse a un servicio que admita transmisión.
- **Finalización**: **aceptado, no completado.** La respuesta devuelve `fileId` con estado en curso. Consulta el endpoint de resultado de la subida hasta que el estado sea correcto o fallido.
- **Reintentos**: no hay deduplicación; cada llamada crea otro `fileId`.
- **Nota sobre la superficie**: en la Local API esta ruta es un flujo multipart distinto y más antiguo. El equivalente de este endpoint en la Local API es `/api/cloudphone/upload/file`.

Errores de negocio documentados: `33401`, `33419`. Consulte [Error Codes](../Getting%20Started/error-codes.md) para el significado de cada código. Cualquier operación puede devolver además los códigos comunes.

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)

