Invocation d’outils (HTTP)
La Gateway (passerelle) d’OpenClaw expose un point de terminaison HTTP simple pour invoquer directement un seul outil. Il est toujours activé, mais protégé par l’authentification de la Gateway et la politique d’outils.POST /tools/invoke- Même port que la Gateway (multiplexage WS + HTTP) :
http://<gateway-host>:<port>/tools/invoke
Authentification
Utilise la configuration d’authentification de la Gateway. Envoyez un jeton bearer :Authorization: Bearer <token>
- Lorsque
gateway.auth.mode="token", utilisezgateway.auth.token(ouOPENCLAW_GATEWAY_TOKEN). - Lorsque
gateway.auth.mode="password", utilisezgateway.auth.password(ouOPENCLAW_GATEWAY_PASSWORD). - Si
gateway.auth.rateLimitest configuré et qu’un trop grand nombre d’échecs d’authentification se produit, le point de terminaison renvoie429avecRetry-After.
Corps de la requête
tool(string, requis) : nom de l’outil à invoquer.action(string, optionnel) : mappé dans les args si le schéma de l’outil prend en chargeactionet que la charge utile args l’a omis.args(object, optionnel) : arguments spécifiques à l’outil.sessionKey(string, optionnel) : clé de session cible. Si omise ou"main", la Gateway utilise la clé de session principale configurée (respectesession.mainKeyet l’agent par défaut, ouglobalen portée globale).dryRun(boolean, optionnel) : réservé à un usage futur ; actuellement ignoré.
Politique + comportement de routage
La disponibilité des outils est filtrée via la même chaîne de politiques que celle utilisée par les agents de la Gateway :tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- politiques de groupe (si la clé de session correspond à un groupe ou à un canal)
- politique de sous‑agent (lors d’une invocation avec une clé de session de sous‑agent)
sessions_spawnsessions_sendgatewaywhatsapp_login
gateway.tools :
x-openclaw-message-channel: <channel>(exemple :slack,telegram)x-openclaw-account-id: <accountId>(lorsque plusieurs comptes existent)
Réponses
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(requête invalide ou erreur d’outil)401→ non autorisé429→ authentification limitée par le taux (Retry-Afterdéfini)404→ outil non disponible (introuvable ou non autorisé)405→ méthode non autorisée500→{ ok: false, error: { type, message } }(erreur inattendue lors de l’exécution de l’outil ; message assaini)