jetemail webhooks covers everything under /webhooks. Authentication uses your api_… key.
list / get
create
| Flag | Description |
|---|---|
--name <str> | Display name. |
--url <url> | Endpoint to POST events to. |
--event <type> | Event type to subscribe to (e.g. outbound.delivered, inbound.received). Repeatable. |
--status <0|1> | 0 disabled, 1 enabled. |
--filter-user <user> | Restrict to a specific SMTP user. Repeatable. |
--filter-domain <domain> | Restrict to a specific domain. Repeatable. |
--body-json / --field k=v | See Body escape hatches. |
update
create, plus --uuid <uuid> to select the webhook.
delete
query
Search the webhook event history. Mirrors POST /webhooks/query.
| Flag | Description |
|---|---|
--uuid <uuid> | Restrict to one webhook. |
--event-id <id> | Single event. |
--event-type <type> | Filter by type. |
--source-uid <uid> | Filter by underlying message UID. |
--status <state> | delivered, failed, pending. |
--date-from <epoch> | Lower bound (Unix seconds). |
--date-to <epoch> | Upper bound. |
--limit <n> / --offset <n> | Pagination. |
--body-json <src> | Raw body override. |
replay
Re-fire a past event to its webhook endpoint(s).
| Flag | Description |
|---|---|
--event-id <id> | Replay one specific event. |
--source-uid <uid> | Replay every event tied to a message UID. |
--uuid <webhook> | Replay events for one webhook subscription. |
--body-json <src> | Raw body override. |
Local development
To test a handler on your dev machine, expose it on a public URL with ngrok (or any HTTP tunnel) and register that URL withjetemail webhooks create --url <public-url>. You’ll get real-time delivery identical to production, signature headers included.