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.jsonThe 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 stdinOutput & 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
| flag | env | default | meaning |
|---|---|---|---|
--server | BEAM_SERVER | — (required) | your beam deployment's base URL |
--key | BEAM_KEY | — | delivery secret, sent as ?key=… if required |
-X, --method | POST | HTTP method | |
-d, --data | — | body; @file reads a file, @-/- reads stdin | |
-H, --header | — | extra Name: Value header (repeatable) | |
--path | — | sub-path appended to the hook | |
--query | — | raw query string (id=7&x=1) | |
--insecure | false | skip TLS verify (local dev) |