# Ejecutar operaciones por lotes

Disponible desde v2.70.0. La aplicación debe pertenecer al equipo actual. Usa el ID de aplicación del equipo obtenido de `/cloudphone/team/app/page`, no un ID de teléfono ni del catálogo.
Ejecuta `START`, `STOP`, `RESTART` o `UNINSTALL` en teléfonos encendidos y autorizados dentro del alcance. `onlyStartedByMe=true` filtra por el último miembro que arrancó el teléfono. Sin destinos válidos hay error. `data=true` indica que terminó el bucle, incluso con fallos individuales; no garantiza éxito por dispositivo. Desinstalar conserva la aplicación y su alcance. No reintentes automáticamente.
**Permiso**: `CLOUD_PHONE_APP_BATCH_OPERATE`.
Errores de negocio documentados: `33354`, `33423`, `99002`. 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/team/app/operate
Version: 2026-09-05
Security: Authorization

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `id` (string, required)
    ID de aplicación del equipo

  - `operation` (string, required)
    Operación: iniciar, detener, reiniciar o desinstalar
    Enum: "START", "STOP", "RESTART", "UNINSTALL"

  - `onlyStartedByMe` (boolean)
    Solo teléfonos iniciados por el miembro actual; false por defecto

## Response 200:

  - `200` (unknown)
    Éxito. data=true confirma el fin del bucle, no el éxito en cada dispositivo.

## Response 200 fields (application/json):

  - `code` (integer)

  - `msg` (string | null)

  - `data` (boolean)

  - `requestId` (string)

