Quickstart
Forward a public webhook to a local server in three commands.
1. Tell the CLI who you are
Once. The CLI auto-loads ~/.config/arjia-beam/config, so you never have to
pass --token or --server again. (Full details in
Config file.)
beam.example.com is a placeholder โ use the domain of your own beam
deployment (see Deploy your own). There is no built-in default
server, so server (via --server, BEAM_SERVER, or the config file) is
always required.
mkdir -p ~/.config/arjia-beam
printf 'token=YOUR_TOKEN\nserver=https://beam.example.com\n' > ~/.config/arjia-beam/config
chmod 600 ~/.config/arjia-beam/config2. Listen
Forward everything that arrives on the public name myhook to your local app:
beam webhook listen myhook --forward http://localhost:3000The CLI connects to the beam server over a WebSocket, claims the name, and
prints โ connected ยท listening on /webhook/myhook. Leave it running.
3. Hit the public URL
From anywhere โ your provider's dashboard, another terminal, a curl:
curl -X POST https://beam.example.com/webhook/myhook -d '{"hello":"world"}'Your local server gets POST / with that body. The sender immediately gets a
202 Accepted (beam is fire-and-forget in v1).
Sub-paths and queries carry through
Any request to https://beam.example.com/webhook/myhook is replayed to your
forward target โ all HTTP methods are accepted and the original verb is
preserved. Sub-paths and query strings pass through verbatim:
โฆ/webhook/myhook/github/callback?x=1 โ http://localhost:3000/github/callback?x=1Just watching?
Swap forwarding for --tail to print each request to stdout
instead of replaying it โ useful for inspecting payloads before you have a
local handler:
beam webhook listen myhook --tailNext
- Listen & forward โ every flag, reconnection, fan-out.
- Send โ re-fire a delivery without retyping the URL.
- Security model โ what the token guards, and the optional per-webhook key.