# Executar operações em lote

Disponível desde v2.70.0. O aplicativo deve pertencer à equipe atual. Use o ID do aplicativo da equipe retornado por `/cloudphone/team/app/page`, não o ID do telefone nem do catálogo.
Executa `START`, `STOP`, `RESTART` ou `UNINSTALL` em telefones ligados e autorizados no escopo. `onlyStartedByMe=true` filtra pelo último membro que iniciou o telefone. Sem destinos válidos ocorre erro. `data=true` indica o fim do laço, mesmo com falhas individuais; não garante sucesso por dispositivo. Desinstalar preserva o aplicativo e seu escopo. Não repita automaticamente.
**Permissão**: `CLOUD_PHONE_APP_BATCH_OPERATE`.
Erros de negócio documentados: `33354`, `33423`, `99002`. Consulte [Error Codes](../Getting%20Started/error-codes.md) para o significado de cada código. Qualquer operação também pode retornar os códigos comuns.

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 do aplicativo da equipe

  - `operation` (string, required)
    Operação: iniciar, parar, reiniciar ou desinstalar
    Enum: "START", "STOP", "RESTART", "UNINSTALL"

  - `onlyStartedByMe` (boolean)
    Somente telefones iniciados pelo membro atual; padrão false

## Response 200:

  - `200` (unknown)
    Sucesso. data=true confirma o fim do laço, não o sucesso em cada dispositivo.

## Response 200 fields (application/json):

  - `code` (integer)

  - `msg` (string | null)

  - `data` (boolean)

  - `requestId` (string)

