beam

Send

Fire a delivery at a hub without retyping the URL — a tiny curl preset that reuses your config.

beam webhook send <name> fires a delivery at a hub without you retyping the full URL. It reuses server (and key) from your config file, so the hub name is all you need. It's a tiny curl preset for beam: handy for manually re-firing an event while you debug a listener.

Sending deliveries

# Body inline (Content-Type defaults to application/json):
beam webhook send myhook -d '{"event":"order.created","amount":1999}'

Sub-path, query, method, and extra headers all pass through:

beam webhook send myhook --path /github/callback --query 'id=7' \
  -X PUT -H 'X-Signature: abc123' -d @body.json

The delivery side is open (the unguessable name is the capability), so send needs no API token — only --key if the listener declared one. When set, it's added as ?key=… for you.

Body from a file or stdin

-d accepts an inline string, @file to read a file, or @- / - to read stdin:

beam webhook send myhook -d @payload.json          # from a file
jq -n '{ping:true}' | beam webhook send myhook -d - # from stdin

Output & exit codes

The response status is printed to stderr and the body to stdout, so you can pipe the body cleanly. A 4xx/5xx response exits non-zero, which makes send usable in scripts and CI smoke tests:

beam webhook send myhook -d @event.json > response.json
echo "exit: $?"

Send flags

flagenvdefaultmeaning
--serverBEAM_SERVER— (required)your beam deployment's base URL
--keyBEAM_KEYdelivery secret, sent as ?key=… if required
-X, --methodPOSTHTTP method
-d, --databody; @file reads a file, @-/- reads stdin
-H, --headerextra Name: Value header (repeatable)
--pathsub-path appended to the hook
--queryraw query string (id=7&x=1)
--insecurefalseskip TLS verify (local dev)

On this page