Connections

Connect Sources to Destinations, customize retry algorithms, apply filtering rules, and configure payload transformations.

What is a Connection?

A Connection links one Source to one Destination. It defines the business and delivery rules governing events traveling along that path.

A single Source can connect to multiple Destinations (Fan-Out), and multiple Sources can route into a single Destination (Fan-In).

  +---------------+               +-----------------+
  | Stripe Source +---+---------->| Billing Service |
  +---------------+   |           +-----------------+
                      |
                      |           +-----------------+
                      +---------->| Analytics Queue |
                                  +-----------------+

Connection Configuration

Each connection manages:

  • Filter Rules: Evaluate JSONPath expressions so destinations only receive relevant events (e.g. only customer.subscription.deleted).
  • Retry Policy: Choose between exponential, linear, or sender_adaptive backoff algorithms.
  • Max Retries: Define how many times failed attempts will be retried (e.g. 5 to 50 attempts) over hours or days.
  • Transformations: Modify JSON structure, strip secrets, or inject static authentication headers before forwarding.

Creating a Connection via API

curl -X POST https://api.bunnylynk.com/v1/connections \
  -H "Authorization: Bearer $BUNNYLYNK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_id": "src_01JM89K2PQR",
    "destination_id": "dst_01JMVWXYZ",
    "status": "active",
    "rules": {
      "retry_policy": "exponential",
      "max_retries": 10,
      "backoff_initial_delay_sec": 5,
      "backoff_max_delay_sec": 3600
    }
  }'

Next: Review Events & Attempts.