OpenClaw doesn’t run a separate “REST API server” process — it’s the Gateway. The Gateway multiplexes WebSocket RPC + HTTP endpoints + Control UI on the same port (default 18789).
1) Start the Gateway (this is what exposes the APIs)
openclaw gateway
# or explicitly:
openclaw gateway --port 18789
If you want to reach it from another machine, don’t bind it to the public internet—use Tailscale/SSH:
- Tailscale Serve:
openclaw gateway --tailscale serve - Tailnet bind (no HTTPS):
openclaw gateway --bind tailnet --token "<token>"
Docs: https://docs.openclaw.ai/cli/gateway
2) HTTP: /tools/invoke (always enabled)
This is the “REST-ish” automation endpoint you’re looking for: