# Subir archivos

Sube un archivo local directamente a un Cloud Phone (flujo multipart heredado).
- **Requisitos previos**: el teléfono debe estar encendido y no puede estar retenido por otro miembro del equipo. El código de subida obtenido en el paso de la URL prefirmada es de un solo uso.
- **Finalización**: la respuesta solo confirma que la Local API aceptó la transferencia. **No se expone ningún identificador de tarea ni estado consultable**, por lo que no se puede observar el progreso.
- **Usa en su lugar**: `/api/cloudphone/upload/file/signedUrl` → `PUT` → `/api/cloudphone/upload/file` → `/api/cloudphone/upload/file/result` cuando necesites progreso observable y gestión de reintentos.
- **Nota**: esta ruta no es la misma operación que `/cloudphone/uploadFile` en la Open API, que registra un objeto ya subido.

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 /api/cloudphone/uploadFile
Version: 2026-09-05

## Request fields (multipart/form-data):

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

  - `file` (string, required)
    File to upload
    Example: file://D:\application\apifox\LICENSE.electron.txt

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

## Response 200:

  - `200` (unknown)
    The Local API accepted the direct upload and returns an empty JSON object.

