Claude Platform Docs
Managed AgentsOrquestração avançada

Implantações agendadas

Crie e gerencie implantações com a Claude API: execute um agente em um agendamento cron recorrente e inspecione seu histórico de execuções.

Uma "scheduled deployment" (implantação agendada) permite que um agente inicie sessões de forma autônoma, possibilitando a conclusão de tarefas em uma cadência previsível. Você cria e gerencia implantações com a Deployments API, parte da Claude API.

Para o contexto de lançamento e exemplos do que as equipes executam em agendamentos, consulte implantações agendadas e vaults no Claude Managed Agents no blog.

Criar uma implantação agendada

Ao criar uma implantação, você passa as configurações de sessão necessárias para a execução, além de um schedule.

  • Implantações exigem configuração de agente e configuração de ambiente, e opcionalmente aceitam arquivos, GitHub, memory stores e vaults. Uma implantação que tem como alvo um ambiente auto-hospedado pode anexar memory stores; os recursos file e github_repository exigem um ambiente em nuvem. O formulário de implantação do Claude Console atualmente não oferece memory stores para ambientes auto-hospedados; anexe-os por meio da API ou de um SDK.
  • Implantações também exigem pelo menos um evento inicial, um user.message ou user.define_outcome, que inicia o trabalho de cada sessão.
  • No schedule, você define uma expression cron e um timezone. A granularidade máxima suportada é no nível de minuto.
DEPLOYMENT_ID=$(ant beta:deployments create <<YAML | jq -er '.id'
name: Weekly compliance scan
agent: $AGENT_ID
environment_id: $ENVIRONMENT_ID
initial_events:
  - type: user.message
    content:
      - type: text
        text: Run the weekly compliance scan.
schedule:
  type: cron
  expression: "0 20 * * 5"
  timezone: America/New_York
YAML
)

A resposta inclui um objeto de implantação com um schedule.upcoming_runs_at preenchido com os próximos horários de disparo, para confirmar que seu agendamento foi definido corretamente.

{
  "id": "depl_01xyz",
  "status": "active",
  "paused_reason": null,
  "schedule": {
    "type": "cron",
    "expression": "0 20 * * 5",
    "timezone": "America/New_York",
    "last_run_at": null,
    "upcoming_runs_at": [
      "2026-05-09T00:00:00Z",
      "2026-05-16T00:00:00Z",
      "2026-05-23T00:00:00Z"
    ]
  }
}

Os timestamps das próximas execuções refletem o agendamento exato configurado. No entanto, para distribuir a carga, a execução real aplica um jitter de até 15% do intervalo entre execuções, com um mínimo de 5 segundos e um máximo de 9 minutos.

É suportado um máximo de 1.000 implantações agendadas por organização. Entre em contato com o suporte da Anthropic se precisar de mais.

Consulte a referência de Create Deployment para ver todos os parâmetros e o esquema de resposta.

Semântica de cron e fuso horário

  • Expressão: Cron POSIX padrão (minute hour day-of-month month day-of-week). Você pode gerar e validar essas expressões cron no Claude Console.
  • Fuso horário: Identificador de fuso horário IANA (por exemplo, "America/Los_Angeles").
  • Horário de verão (DST): Agendamentos cron usam correspondência literal de horário de relógio, portanto "0 20 * * *" em America/New_York dispara às 20:00 no horário local, independentemente de EST ou EDT estar em vigor.

Definir um orçamento para cada execução

Passe o objeto opcional budget ao criar ou atualizar a implantação. Ele tem o mesmo formato de um orçamento de sessão. A implantação copia o limite para cada sessão que inicia, de modo que o orçamento delimita cada execução separadamente, em vez de atuar como um teto cumulativo entre execuções: uma implantação com um limite de "2000" pode gastar até cerca de $20 em cada execução.

Uma sessão iniciada pela implantação se comporta exatamente como qualquer outra sessão com orçamento: ela pausa com budget_reached quando seu próprio custo de lista atinge o limite. Alterar o orçamento da implantação se aplica às execuções iniciadas posteriormente; uma sessão já em execução mantém o limite com o qual começou, que você pode alterar por meio da própria sessão. Diferentemente de um orçamento de sessão, o orçamento de uma implantação pode ser removido com "budget": null e definido novamente mais tarde.

O exemplo a seguir define um orçamento em uma implantação existente:

cURL
curl --fail-with-body -sS "https://api.anthropic.com/v1/deployments/$DEPLOYMENT_ID?beta=true" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: managed-agents-2026-04-01" \
  -H "content-type: application/json" \
  -d @- <<'EOF'
{
  "budget": {
    "type": "limit",
    "max_list_cost": {"amount": "2000", "currency": "USD"}
  }
}
EOF

Execuções de implantação

Implantações podem falhar ao disparar por diversos motivos: por exemplo, se o recurso environment foi arquivado ou se a criação de sessões estiver sujeita a limite de taxa. Cada tentativa de executar uma implantação gera um registro de "deployment run" (execução de implantação), permitindo que você acompanhe sucessos e falhas independentemente do ciclo de vida da sessão.

Implantações bem-sucedidas geram sessões ativas, e uma execução de implantação bem-sucedida contém o session_id associado. Para acompanhar o ciclo de vida de uma sessão, monitore os eventos da sessão por meio do stream de eventos ou de webhooks. Mudanças no ciclo de vida da implantação e o resultado de cada execução agendada também são entregues como eventos de webhook, listados nas abas Deployment events e Deployment run events de Tipos de eventos suportados.

Liste todas as execuções de implantação de uma implantação da seguinte forma:

ant beta:deployment-runs list --deployment-id "$DEPLOYMENT_ID"

Você também pode filtrar por execuções de implantação com erros:

ant beta:deployment-runs list --deployment-id "$DEPLOYMENT_ID" --has-error

Uma execução com falha inclui um error com um type descrevendo por que a criação da sessão foi rejeitada (por exemplo, environment_archived_error, agent_archived_error ou session_rate_limited_error). Consulte a referência de List Deployment Runs para ver todos os parâmetros de filtro e o esquema de resposta.

{
  "type": "deployment_run",
  "id": "drun_01abc124",
  "deployment_id": "depl_01xyz",
  "trigger_context": { "type": "schedule", "scheduled_at": "2026-05-09T00:00:00Z" },
  "session_id": null,
  "error": {
    "type": "environment_archived_error",
    "message": "environment `env_01abc` is archived"
  },
  "agent": { "type": "agent", "id": "agent_01ghi789", "version": 3 },
  "created_at": "2026-05-09T00:00:01Z"
}

Para recuperar uma única execução por ID, chame GET /v1/deployment_runs/{deployment_run_id}. Um evento de webhook deployment_run carrega o ID da execução como seu data.id.

Gerenciando o ciclo de vida da implantação

Cada mudança no ciclo de vida emite um evento de webhook, para que você possa reagir a uma implantação pausada, retomada ou arquivada sem polling; consulte a aba Deployment events.

Pause (pausar) suprime os disparos agendados daí em diante; sessões em execução de uma execução de implantação anterior continuam sendo executadas. Execuções manuais por meio do endpoint run ainda são permitidas enquanto pausada. Pausar define paused_reason como {"type": "manual"}; retomar o limpa.

ant beta:deployments pause --deployment-id "$DEPLOYMENT_ID"

Unpause (retomar) retoma o agendamento a partir da próxima ocorrência agendada. Disparos perdidos não são recuperados retroativamente.

ant beta:deployments unpause --deployment-id "$DEPLOYMENT_ID"

Archive (arquivar), diferentemente de pause, é terminal: o agendamento é encerrado e a implantação não pode ser modificada.

ant beta:deployments archive --deployment-id "$DEPLOYMENT_ID"

Comportamento em caso de falha

Respostas de limite de taxa na criação de sessões são registradas imediatamente como uma execução session_rate_limited_error sem nova tentativa; o agendamento tenta novamente na próxima ocorrência agendada. Limites de taxa em chamadas de API subjacentes dentro de uma sessão são tratados pela própria sessão.

Se o agente de uma implantação foi arquivado, a implantação é arquivada automaticamente na mesma operação. Se o agente foi excluído, o próximo disparo agendado detecta o agente ausente e arquiva automaticamente a implantação. Em ambos os casos, nenhuma execução de implantação é registrada. Se um subagente referenciado pelo agente foi arquivado, o próximo disparo registra uma execução com falha com error.type: "agent_archived_error" e a implantação é pausada automaticamente para que você possa atualizar o agente e retomar. Outros erros irrecuperáveis de criação de sessão, como um ambiente ou vault arquivado, se comportam da mesma forma: o disparo registra uma execução com falha e a implantação é pausada automaticamente. O paused_reason.error.type da implantação espelha o error.type da execução com falha.

Disparar uma execução manual

Para executar uma implantação fora de seu agendamento, chame o endpoint run. Isso cria uma sessão imediatamente e grava uma execução de implantação com trigger_context.type: "manual". Isso permite que você teste uma implantação antes de se comprometer com o agendamento.

ant beta:deployments run --deployment-id "$DEPLOYMENT_ID"

Was this page helpful?