What is a Source?
A Source is a designated ingestion channel in Bunnylynk. Each source is identified by a unique Slug and assigned an ingestion URL:
https://gateway.bunnylynk.com/h/:slug
For example, a source with slug stripe-checkout receives webhooks at:
https://gateway.bunnylynk.com/h/stripe-checkout
Source Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique internal identifier (e.g. src_01JMABCDEF). |
name | string | Human-readable label (e.g. "Stripe Production"). |
slug | string | URL-safe slug used in the webhook URL path. |
provider | string | Optional preset (e.g. stripe, shopify, github, custom). |
secret | string | Cryptographic secret for verifying webhook signatures. |
disabled | boolean | When true, rejects incoming webhooks with HTTP 404/410. |
Supported Providers & Automatic Parsing
When creating a Source, specifying the provider enables built-in signature verification and event extraction:
- Stripe: Verifies
Stripe-Signatureheader with tolerance clock skew checks. - Shopify: Verifies
X-Shopify-Hmac-Sha256header. - GitHub: Verifies
X-Hub-Signature-256HMAC-SHA256 signature. - Custom / Generic: Custom HMAC secret or raw forwarding without verification.
Creating a Source via API
curl -X POST https://api.bunnylynk.com/v1/sources \
-H "Authorization: Bearer $BUNNYLYNK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Shopify Storefront",
"slug": "shopify-orders",
"provider": "shopify"
}'
Response:
{
"id": "src_01JM89K2PQR",
"name": "Shopify Storefront",
"slug": "shopify-orders",
"provider": "shopify",
"url": "https://gateway.bunnylynk.com/h/shopify-orders",
"created_at": "2026-11-01T18:00:00Z"
}
Learn about Destinations next.