Skip to content

ironflow webhook

Manage webhook sources and deliveries.

Terminal window
ironflow webhook <subcommand> [flags]

Webhook sources receive HTTP payloads from external providers (Stripe, GitHub, etc.), validate signatures, deduplicate deliveries, and emit Ironflow events. See the Webhooks guide for full details.

List all registered webhook sources.

Terminal window
ironflow webhook list [flags]

Flags:

FlagShortTypeDefaultDescription
--server-sstringServer URL override
--jsonboolfalseOutput as JSON

Output:

NAME ID EVENT PREFIX TYPE SCHEMA VER VERIFY HEADER ALGORITHM CREATED
stripe wh_9f3a... webhook/stripe api 2 Stripe-Signature hmac-sha256 2025-01-15 12:00:05
github wh_1c72... webhook/github sdk 1 2025-01-15 11:00:00

SCHEMA VER is the event schema version every event from that source carries (#1955). It is here so a schema-enforcement 400 can be diagnosed without a round trip through the dashboard.

List webhook deliveries with optional filtering by provider and status.

Terminal window
ironflow webhook deliveries [flags]

Status is color-coded: green=accepted, red=rejected/failed, yellow=deduplicated.

Flags:

FlagShortTypeDefaultDescription
--providerstringFilter by source/provider ID
--statusstringFilter by status (accepted, rejected, failed, deduplicated)
--limitint20Maximum number of deliveries to return
--server-sstringServer URL override
--jsonboolfalseOutput as JSON

Output:

Showing 3 of 3 deliveries
ID SOURCE STATUS EVENT ID EXTERNAL ID ERROR CREATED
del_abc123 stripe accepted evt_def456 evt_stripe_1 2025-01-15 12:00:05
del_abc124 stripe deduplicated evt_stripe_1 2025-01-15 12:00:06
del_abc125 github rejected missing signature 2025-01-15 12:01:00

Send a test webhook delivery to the webhook endpoint.

Terminal window
ironflow webhook test --provider <id> --payload <json> [flags]

Sends a raw HTTP POST to /api/v1/webhooks/{provider} to simulate an incoming webhook delivery. The payload must be valid JSON.

Flags:

FlagShortTypeDefaultDescription
--providerstringWebhook provider/source ID (required)
--payloadstringJSON payload to send (required)
--tokenstringPer-source ingest token (ifwh_...). Required for sources created after migration 046; shown once at create/rotate.
--server-sstringServer URL override

Output (success):

Webhook delivered successfully (HTTP 200)
{
"status": "accepted",
"delivery_id": "del_abc123",
"event_id": "evt_def456",
"run_ids": ["run_789"]
}

Examples:

Terminal window
# List webhook sources
ironflow webhook list
ironflow webhook list --json
# View deliveries
ironflow webhook deliveries
ironflow webhook deliveries --provider stripe
ironflow webhook deliveries --provider stripe --status rejected
ironflow webhook deliveries --limit 100 --json
# Send a test webhook
ironflow webhook test --provider stripe \
--payload '{"type":"charge.succeeded","data":{"amount":2000}}'
# Test against a different server
ironflow webhook test --provider github \
--payload '{"action":"push"}' --server http://localhost:9000