Overview
In this 5-minute quickstart guide, you will:
- Create a Source to obtain a unique ingestion endpoint URL.
- Create a Destination representing your local dev server or webhook consumer.
- Link them with a Connection.
- Dispatch a test webhook using
curland inspect the live delivery attempt.
Create a Source
A Source represents where incoming webhooks originate (e.g. Stripe, GitHub, or custom services).
Navigate to the Bunnylynk Dashboard or use the Management API:
curl -X POST https://api.bunnylynk.com/v1/sources \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Stripe Inbound",
"slug": "stripe-prod",
"provider": "stripe"
}'
Bunnylynk generates a unique ingestion webhook URL:
https://gateway.bunnylynk.com/h/stripe-prod
Note:
Any HTTP POST request sent to https://gateway.bunnylynk.com/h/stripe-prod is automatically ingested, validated, and stored.
Create a Destination
A Destination points to the HTTP endpoint where Bunnylynk delivers incoming webhooks. For testing, you can use a webhook tester service or your internal application endpoint.
curl -X POST https://api.bunnylynk.com/v1/destinations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Billing Service",
"url": "https://api.yourcompany.com/webhooks/stripe",
"rate_limit_per_second": 25,
"timeout_ms": 5000
}'
Create a Connection
A Connection connects your Source to your Destination, allowing you to configure retry rules, transformations, and filters.
curl -X POST https://api.bunnylynk.com/v1/connections \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"source_id": "src_stripe_prod",
"destination_id": "dst_billing_svc",
"rules": {
"retry_policy": "exponential",
"max_retries": 5
}
}'
Send a Test Webhook
Now, send a sample webhook payload to your unique Bunnylynk ingestion URL:
curl -X POST https://gateway.bunnylynk.com/h/stripe-prod \
-H "Content-Type: application/json" \
-H "Stripe-Signature: t=1614552000,v1=5257a869e7ecebeda32affa62cd49539d09c04" \
-d '{
"id": "evt_test_123456",
"type": "checkout.session.completed",
"data": {
"object": {
"id": "cs_test_9876",
"customer_email": "customer@example.com",
"amount_total": 5000,
"currency": "usd",
"status": "complete"
}
}
}'
You will immediately receive an acknowledgment within 15 milliseconds:
{
"status": "accepted",
"event_id": "evt_bl_01JMWP3KV9QZ",
"received_at": "2026-11-01T18:00:00.000Z"
}
Inspecting Delivery in the Dashboard
Open your Bunnylynk Dashboard to view the event:
- Raw Payload & Headers: Inspect the exact byte-for-byte payload and incoming HTTP headers.
- Delivery Attempts: View the timestamp, target latency, HTTP response status code, and target response headers.
- Manual Replay: Click Replay Event at any time to re-dispatch the payload to your destination.
Next, read about our Architecture & Store-Before-Ack Guarantee.