Skip to content

Inbound Idempotency

Many providers retry webhook deliveries. Without idempotency controls, the same upstream event can be accepted multiple times and forwarded multiple times.

Inbound idempotency lets you define which incoming headers HookBridge should use as the dedupe identity for that endpoint.

Inbound dedupe is configured per endpoint using idempotency_header_names.

HookBridge builds an idempotency key from the configured header list (in order).

When the same key is received again for the same inbound endpoint:

  • HookBridge does not create, enqueue, or forward a second inbound delivery to your destination URL.
  • HookBridge returns an ingest success response to the sender with the original message_id in data.message_id.
Terminal window
curl -X PATCH https://api.hookbridge.io/v1/inbound-endpoints/YOUR_INBOUND_ENDPOINT_ID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"idempotency_header_names": ["Idempotency-Key", "X-Event-ID"]
}'
  1. Open Endpoints -> Inbound.
  2. Open your inbound endpoint.
  3. Set idempotency header names based on provider docs.
  4. Save changes.
  5. Send duplicate test events from provider tools and confirm dedupe behavior.

API reference:

Terminal window
curl -X PATCH https://api.hookbridge.io/v1/inbound-endpoints/YOUR_INBOUND_ENDPOINT_ID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"idempotency_header_names": ["Idempotency-Key", "X-Event-ID"]
}'
Terminal window
curl https://api.hookbridge.io/v1/inbound-endpoints/YOUR_INBOUND_ENDPOINT_ID \
-H "Authorization: Bearer YOUR_API_KEY"
  • Prefer provider-native immutable event IDs.
  • Include fallback header names only if they are stable and consistently present.
  • Keep header order intentional because idempotency_header_names is ordered.
Personalize Examples

Enter your credentials to populate code examples throughout the docs.