Executar agente agora
/v1/instances/{id}/agents/{agent_id}/rundesde A1token da instância ou adminQuando usar
Roda o agente agora (ligado ou não) e espera o resultado (até 3 minutos). Com chat, as últimas mensagens dele são o contexto e as ferramentas de resposta respondem nele; input é um pedido seu para esta execução. O modo do agente vale: em aprovacao as escritas viram rascunhos. Uma execução por chat de cada vez (409 agent_busy).
Autenticação
Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).
Parâmetros
Caminho
| Nome | Tipo | Descrição |
|---|---|---|
idobrigatório | string | Id da instância (inst_...). |
agent_idobrigatório | string | Id do agente (agn_...). |
Corpo (JSON)
| Nome | Tipo | Descrição |
|---|---|---|
chat | string | Chat do gatilho: JID ou número com DDI (opcional). |
input | string | Pedido para esta execução (opcional). (até 4000) |
Exemplo
curl -s -X POST "$LITEZAP_URL/v1/instances/$ID/agents/$AGENT_ID/run" \ -H "Authorization: Bearer $LITEZAP_TOKEN" \ -d '{"chat":"5511999999999","input":"Veja se o cliente ficou sem resposta e responda."}'const res = await fetch("http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086/agents/agent_id/run", { method: "POST", headers: { Authorization: `Bearer ${process.env.LITEZAP_TOKEN}`, "Content-Type": "application/json" }, body: JSON.stringify({ "chat": "5511999999999", "input": "Veja se o cliente ficou sem resposta e responda." }),});console.log(res.status, res.status === 204 ? "" : await res.json());import osimport requests
r = requests.post( "http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086/agents/agent_id/run", headers={"Authorization": f"Bearer {os.environ['LITEZAP_TOKEN']}"}, json={ "chat": "5511999999999", "input": "Veja se o cliente ficou sem resposta e responda.", }, timeout=150,)print(r.status_code, r.json() if r.content else "")package main
import ( "fmt" "io" "net/http" "os" "strings")
func main() { req, _ := http.NewRequest("POST", "http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086/agents/agent_id/run", strings.NewReader(`{"chat":"5511999999999","input":"Veja se o cliente ficou sem resposta e responda."}`)) req.Header.Set("Authorization", "Bearer "+os.Getenv("LITEZAP_TOKEN")) req.Header.Set("Content-Type", "application/json") resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.Status, string(out))}<?phprequire 'vendor/autoload.php'; // composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client(['base_uri' => 'http://localhost:8787']);$res = $client->request('POST', '/v1/instances/inst_7f3a9c2e5b1d4086/agents/agent_id/run', [ 'headers' => ['Authorization' => 'Bearer ' . getenv('LITEZAP_TOKEN')], 'json' => [ 'chat' => '5511999999999', 'input' => 'Veja se o cliente ficou sem resposta e responda.', ], 'http_errors' => false,]);echo $res->getStatusCode(), ' ', $res->getBody(), PHP_EOL;Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.
Resposta
200 A execução terminada.
Campos de AgentRun
id | string | |
agent_id | string | |
agent_name | string | |
trigger | "message" | "manual" | |
chat | string | |
message_id | string | |
mode | string | |
status | "running" | "completed" | "step_limit" | "failed" | "discarded" | discarded: um humano assumiu o chat durante a execução. |
steps | AgentStep[] | |
output | string | Resumo final do agente para você (não é enviado a ninguém). |
model | string | |
model_calls | integer | |
input_tokens | integer | |
output_tokens | integer | |
cost_usd | number | |
sent | integer | Escritas executadas. |
drafts | integer | Rascunhos criados. |
error | string | |
started_at | string | |
ended_at | string | |
dry_run | boolean | Só no simulador. |
Erros
| Código | HTTP | Retentável | O que fazer |
|---|---|---|---|
validation_failed | 400 | não | Corrija o corpo ou os parâmetros; a message diz o campo. |
unauthorized | 401 | não | Envie Authorization: Bearer <token> válido. |
forbidden | 403 | não | Use o token certo (admin, ou o da própria instância). |
not_found | 404 | não | Confira o id do recurso (mensagem, chat, contato, mídia ou webhook). |
instance_not_found | 404 | não | Confira o id da instância. |
not_configured | 409 | não | |
rate_limited | 429 | sim | Espere e tente de novo com backoff. |
Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.
Eventos gerados
Outras operações de Agentes: Listar agentes · Criar agente · Ler agente · Alterar agente · Excluir agente · Execuções do agente · Ler execução · Quem pode rodar agentes · Listar rascunhos · Aprovar rascunho · Rejeitar rascunho · Simular agente

