Skip to main content
The keebai CLI is the fastest way to manage outbound webhooks from your terminal. Under the hood it uses the same /v1/webhooks endpoints as the API, with UX tuned for interactive workflows.

Installation

After installing:

Quickstart: 5 minutes to your first event

1

Log in

Opens the browser, prompts you to approve the device in the portal, and returns to the CLI with a PAT stored in ~/.keebai/credentials.json (chmod 600).
2

Create a subscription

Output:
Copy the whsec_xxx now. It can’t be retrieved later. If you lose it, you have to rotate it (which invalidates the old one).
3

Validate with a synthetic event

We send a synthetic envelope (with data._test: true) to your URL. If your endpoint verifies the signature and returns 2xx, you’ll see:
4

Validate with real traffic

Send a WhatsApp message to your channel’s number. Your endpoint should receive a whatsapp.message.received with a shape compatible with the Meta Cloud API.

Available commands

keebai webhooks new

Prints the secret only once. Save it immediately.

keebai webhooks list

keebai webhooks test <id>

Dispatches a synthetic event (data._test: true) to the configured endpoint.
Useful for validating your pipeline without real traffic. It arrives with the same HMAC signature as a real event.

keebai webhooks deliveries <id>

History of recent delivery attempts.
For each delivery, output shows: event_id, event_type, status (pending / success / failed / dead), status_code, attempts, duration_ms, last_error.

keebai webhooks rotate <id>

Generates a new secret. The old one is invalidated immediately. Asks for confirmation.
The new secret is shown the same way as in new. For zero-downtime rotation, see the strategy in security.

keebai webhooks delete <id>

Deletes the subscription. Future events are not sent. Asks for confirmation.

Global flags

CI/CD

For pipeline use, override the token via env and skip the credentials file:
KEEBAI_API_TOKEN takes precedence over ~/.keebai/credentials.json. The PAT must have the webhooks:read and/or webhooks:manage scopes depending on the commands you intend to run.

See also

Signature verification

How to validate X-Keebai-Signature in your endpoint.

Event catalog

Full list of types and data shapes.

REST endpoints

Same operations over HTTP, no CLI required.

Connect WhatsApp via CLI

keebai whatsapp connect and the equivalent API.

Connect WhatsApp via QR

keebai whatsapp connect --qr — QR pairing scanned straight from the terminal.

Connect WhatsApp from the CLI

There are two pairing modes:
The --qr mode draws the code in your terminal, refreshes it automatically, and once scanned prints the channel_id of the new channel. SSE flow details in POST /v1/channels/whatsapp/connect (QR mode). Once a channel is connected (either Cloud API or QR), send messages with the same command:
Internally the CLI calls POST /v1/messages with a text message, which detects the channel type (Cloud API vs QR) and routes accordingly. Templates and bulk are not supported against QR channels.