OpenClaw’s Gateway biedt een eenvoudig HTTP-eindpunt om één tool direct aan te roepen. Het is altijd ingeschakeld en gebruikt Gateway-authenticatie plus toolbeleid. Net als het OpenAI-compatibeleDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/v1/*-oppervlak wordt gedeelde-geheim bearer-authenticatie behandeld als vertrouwde operatortoegang voor de hele Gateway.
POST /tools/invoke- Zelfde poort als de Gateway (WS + HTTP-multiplex):
http://<gateway-host>:<port>/tools/invoke
Authenticatie
Gebruikt de Gateway-authenticatieconfiguratie. Gangbare HTTP-authenticatiepaden:- gedeelde-geheim-authenticatie (
gateway.auth.mode="token"of"password"):Authorization: Bearer <token-or-password> - vertrouwde identiteitsdragende HTTP-authenticatie (
gateway.auth.mode="trusted-proxy"): routeer via de geconfigureerde identiteitsbewuste proxy en laat deze de vereiste identiteitsheaders injecteren - open authenticatie voor private ingress (
gateway.auth.mode="none"): geen authenticatieheader vereist
- Wanneer
gateway.auth.mode="token"is, gebruikgateway.auth.token(ofOPENCLAW_GATEWAY_TOKEN). - Wanneer
gateway.auth.mode="password"is, gebruikgateway.auth.password(ofOPENCLAW_GATEWAY_PASSWORD). - Wanneer
gateway.auth.mode="trusted-proxy"is, moet het HTTP-verzoek afkomstig zijn van een geconfigureerde vertrouwde proxybron; loopback-proxy’s op dezelfde host vereisen explicietgateway.auth.trustedProxy.allowLoopback = true. - Als
gateway.auth.rateLimitis geconfigureerd en er te veel authenticatiefouten optreden, retourneert het eindpunt429metRetry-After.
Beveiligingsgrens (belangrijk)
Behandel dit eindpunt als een oppervlak met volledige operatortoegang voor de Gateway-instantie.- HTTP bearer-authenticatie is hier geen beperkt scope-model per gebruiker.
- Een geldig Gateway-token/wachtwoord voor dit eindpunt moet worden behandeld als een eigenaar-/operatorreferentie.
- Voor gedeelde-geheim-authenticatiemodi (
tokenenpassword) herstelt het eindpunt de normale volledige operatorstandaarden, zelfs als de aanroeper een beperkterex-openclaw-scopes-header verzendt. - Gedeelde-geheim-authenticatie behandelt directe toolaanroepen op dit eindpunt ook als eigenaar-afzenderbeurten.
- Vertrouwde identiteitsdragende HTTP-modi (bijvoorbeeld vertrouwde-proxy-authenticatie of
gateway.auth.mode="none"op een private ingress) respecterenx-openclaw-scopeswanneer aanwezig en vallen anders terug op de normale standaardset operatorscopes. - Houd dit eindpunt alleen op loopback/tailnet/private ingress; stel het niet direct bloot aan het openbare internet.
gateway.auth.mode="token"of"password"+Authorization: Bearer ...- bewijst bezit van het gedeelde Gateway-operatorgeheim
- negeert beperktere
x-openclaw-scopes - herstelt de volledige standaardset operatorscopes:
operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write - behandelt directe toolaanroepen op dit eindpunt als eigenaar-afzenderbeurten
- vertrouwde identiteitsdragende HTTP-modi (bijvoorbeeld vertrouwde-proxy-authenticatie, of
gateway.auth.mode="none"op private ingress)- authenticeren een externe vertrouwde identiteit of implementatiegrens
- respecteren
x-openclaw-scopeswanneer de header aanwezig is - vallen terug op de normale standaardset operatorscopes wanneer de header ontbreekt
- verliezen eigenaarsemantiek alleen wanneer de aanroeper scopes expliciet beperkt en
operator.adminweglaat
Verzoekbody
tool(string, vereist): naam van de tool die moet worden aangeroepen.action(string, optioneel): wordt naar args gemapt als het toolschemaactionondersteunt en de args-payload dit heeft weggelaten.args(object, optioneel): toolspecifieke argumenten.sessionKey(string, optioneel): doelsessiesleutel. Indien weggelaten of"main", gebruikt de Gateway de geconfigureerde hoofdsessiesleutel (respecteertsession.mainKeyen standaardagent, ofglobalin globale scope).dryRun(boolean, optioneel): gereserveerd voor toekomstig gebruik; momenteel genegeerd.
Beleid + routeringsgedrag
Beschikbaarheid van tools wordt gefilterd via dezelfde beleidsketen die door Gateway-agenten wordt gebruikt:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- groepsbeleid (als de sessiesleutel naar een groep of kanaal verwijst)
- subagentbeleid (bij aanroepen met een subagent-sessiesleutel)
- Exec-goedkeuringen zijn operatorvangrails, geen afzonderlijke autorisatiegrens voor dit HTTP-eindpunt. Als een tool hier bereikbaar is via Gateway-authenticatie + toolbeleid, voegt
/tools/invokegeen extra goedkeuringsprompt per aanroep toe. - Als
exechier bereikbaar is, behandel het dan als een muterend shell-oppervlak. Het weigeren vanwrite,edit,apply_patchof HTTP-bestandssysteemschrijftools maakt shell-uitvoering niet alleen-lezen. - Deel Gateway bearer-referenties niet met niet-vertrouwde aanroepers. Als je scheiding tussen vertrouwensgrenzen nodig hebt, draai dan afzonderlijke Gateways (en idealiter afzonderlijke OS-gebruikers/hosts).
exec- directe opdrachtuitvoering (RCE-oppervlak)spawn- willekeurige creatie van childprocessen (RCE-oppervlak)shell- uitvoering van shell-opdrachten (RCE-oppervlak)fs_write- willekeurige bestandsmutatie op de hostfs_delete- willekeurige bestandsverwijdering op de hostfs_move- willekeurige bestandsverplaatsing/-hernoeming op de hostapply_patch- toepassen van patches kan willekeurige bestanden herschrijvensessions_spawn- sessieorkestratie; agents op afstand starten is RCEsessions_send- berichtinjectie tussen sessiescron- persistent automatiseringscontrolevlakgateway- Gateway-controlevlak; voorkomt herconfiguratie via HTTPnodes- node-opdrachtrelay kansystem.runbereiken op gekoppelde hostswhatsapp_login- interactieve installatie die een QR-scan in de terminal vereist; loopt vast via HTTP
gateway.tools:
x-openclaw-message-channel: <channel>(voorbeeld:slack,telegram)x-openclaw-account-id: <accountId>(wanneer er meerdere accounts bestaan)
Antwoorden
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(ongeldig verzoek of invoerfout voor tool)401→ niet geautoriseerd429→ authenticatie beperkt door rate limit (Retry-Afteringesteld)404→ tool niet beschikbaar (niet gevonden of niet op de toelatingslijst)405→ methode niet toegestaan500→{ ok: false, error: { type, message } }(onverwachte fout bij tooluitvoering; opgeschoond bericht)