Enqueue a synthetic test delivery
Creates a webhook_delivery row for :id carrying a synthetic
event. The synthetic event is NOT persisted to /v1/events;
test sends shouldn’t pollute the durable event tail subscribers
consume. The DeliveryWorker delivers it like any other.
event_type defaults to "webhook.test". payload defaults to
{"ping": true, "test": true}. Both are optional.
Authorizations
Same flow; ledger:write is required for any mutation.
Headers
Required on writes. Stable identifier you choose. The same key
always returns the same transaction, forever. Can also be supplied as
idempotency_key in the request body. Header wins.
Allowed character set: A-Z, a-z, 0-9, _, :, ., -.
Max 255 bytes. Replays of an accepted key return the original
response with header Idempotent-Replayed: true so callers can
tell a replay from a freshly-committed result.
1 - 255^[A-Za-z0-9_:.\-]+$"pi_acme_1234_capture"
Path Parameters
Response
Delivery enqueued.
Discriminator naming the shape of this resource (e.g. account, transaction).
webhook_delivery "account"
How many HTTP attempts this row has made (0 for pending).
Public delivery state. Internally the DB also carries a
dead value for terminal failures after all retries
exhausted; the API collapses that to failed.
pending, succeeded, failed How this delivery was created.
event, redelivery, test_send "POST"
Outgoing request headers as sent to the integrator's
endpoint. Sensitive headers (authorization, *secret*,
cookie) are redacted to [redacted]. The
Kordio-Signature header is preserved because it's an
HMAC value, not a key.
For enqueue_kind: redelivery, the source delivery id.