Invocação de Ferramentas (HTTP)
O Gateway do OpenClaw expõe um endpoint HTTP simples para invocar diretamente uma única ferramenta. Ele está sempre habilitado, mas é controlado pela autenticação do Gateway e pela política de ferramentas.POST /tools/invoke- Mesma porta do Gateway (multiplexação WS + HTTP):
http://<gateway-host>:<port>/tools/invoke
Autenticação
Usa a configuração de autenticação do Gateway. Envie um token bearer:Authorization: Bearer <token>
- Quando
gateway.auth.mode="token", usegateway.auth.token(ouOPENCLAW_GATEWAY_TOKEN). - Quando
gateway.auth.mode="password", usegateway.auth.password(ouOPENCLAW_GATEWAY_PASSWORD). - Se
gateway.auth.rateLimitestiver configurado e ocorrerem muitas falhas de autenticação, o endpoint retorna429comRetry-After.
Corpo da requisição
tool(string, obrigatório): nome da ferramenta a invocar.action(string, opcional): mapeado paraargsse o esquema da ferramenta suportaractione o payload deargso omitir.args(object, opcional): argumentos específicos da ferramenta.sessionKey(string, opcional): chave de sessão de destino. Se omitida ou"main", o Gateway usa a chave de sessão principal configurada (respeitasession.mainKeye o agente padrão, ouglobalno escopo global).dryRun(boolean, opcional): reservado para uso futuro; atualmente ignorado.
Política + comportamento de roteamento
A disponibilidade das ferramentas é filtrada pela mesma cadeia de políticas usada pelos agentes do Gateway:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- políticas de grupo (se a chave de sessão mapear para um grupo ou canal)
- política de subagente (ao invocar com uma chave de sessão de subagente)
sessions_spawnsessions_sendgatewaywhatsapp_login
gateway.tools:
x-openclaw-message-channel: <channel>(exemplo:slack,telegram)x-openclaw-account-id: <accountId>(quando existem múltiplas contas)
Respostas
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(requisição inválida ou erro da ferramenta)401→ não autorizado429→ autenticação limitada por taxa (Retry-Afterdefinido)404→ ferramenta não disponível (não encontrada ou não permitida pela lista de permissões)405→ método não permitido500→{ ok: false, error: { type, message } }(erro inesperado na execução da ferramenta; mensagem sanitizada)