Event Lifecycle
Every webhook that hits Bunnylynk progresses through clear lifecycle stages:
- Ingested (
ACCEPTED): Stored durably on disk; HTTP response returned to sender. - Queued (
QUEUED): Matched to an active connection and pending delivery. - Delivering (
IN_FLIGHT): Currently executing HTTP POST against the destination. - Delivered (
SUCCESS): Destination responded with HTTP2xx. - Retrying (
RETRYING): Destination returned an error or timed out; next retry scheduled. - Failed / Dead-Lettered (
FAILED): Exhausted all retries; waiting for manual replay or intervention.
Event Anatomy
An Event record contains:
id: Unique event ID (e.g.evt_01JMWP3KV9QZ).source_id: The source that received the webhook.payload: Exact raw request body received from the sender.headers: Map of incoming HTTP request headers.created_at: High-precision timestamp when the payload was written to storage.
Delivery Attempts
For every execution against a destination, Bunnylynk creates an immutable Attempt record containing:
status_code: HTTP response status code (e.g.200,500,429).duration_ms: Latency of the destination response in milliseconds.response_body: Truncated preview of the destination response.error_message: Network-level error if the connection failed (e.g.ECONNREFUSED,ETIMEDOUT).
Querying Events via API
curl -X GET "https://api.bunnylynk.com/v1/events?source_id=src_01JM89K2PQR&limit=20" \
-H "Authorization: Bearer $BUNNYLYNK_API_KEY"
Next: Explore Reliability & Delivery Policies.