Store the event, then deliver it.
An event type and a JSON payload go in. A stored event and signed delivery attempts to every subscribed endpoint come out.
test
order.completed
evt_8e12c · signed · idempotency order-123
https://hooks.example.com/orders
Delivery attempts
Persisted before any endpoint is called. Your request already returned HTTP 202.
What it does
Real product states, not a promise.
An event type and a JSON payload go in. A stored event and signed delivery attempts to every subscribed endpoint come out.
- Stored before delivery
- Signed HTTPS POST per endpoint
- Attempt status and duration recorded
- Idempotency-Key deduplicates creates
Input
Event type and a JSON object payload
Output
202 event plus delivery attempts
Where it fits
Where it fits
01
Order and payment notifications
02
Customer-facing webhooks
03
Internal service events
API example
One durable request.
POST /v1/events. Use an idempotency key on create calls. The full request and response contract is in Flowyn Docs.
AcceptedClaimedAttemptedTerminal statePOSThttps://api.flowyn.dev/v1/events202
curl -X POST https://api.flowyn.dev/v1/events \
-H "Authorization: Bearer flw_test_••••" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-123-completed" \
-d '{
"type": "order.completed",
"payload": {
"order_id": "ord_123"
}
}'Frequently asked questions
Where is the exact request contract for Webhook Delivery?
In Flowyn Docs and the OpenAPI document at https://api.flowyn.dev/openapi/v1.yaml. This page shows the request; the docs page lists every field, status value, error, and limit.
Is the operation durable?
Yes. The operation is stored before any work happens and remains a resource with state, attempts, and error context, not an ephemeral request log.
Do failures stay inspectable?
Yes. Every attempt is recorded. Repeated failures with the same fingerprint are also grouped into an Issue.
Build with Webhook Delivery.
Create a workspace, make your first call in the test environment, and inspect every attempt.
