PactbasePactbase DocsDocs
Webhooks

Delivery and retries

How events are sent, retried, resent and ordered.

  • Saving consent never waits for a webhook and never fails because of one. Each event becomes one delivery per subscribed endpoint, sent in the background.
  • Success is a 2xx answer within 10 seconds. Anything else is a failure: timeouts, connection errors, 4xx, 5xx and redirects (which are not followed).
  • Retries. A failure is retried with exponential backoff (30 seconds, 1 minute, 2 minutes and so on), up to 8 attempts over about 2 hours, then marked failed.
  • Resend. Send a delivery again at once from the Deliveries list. It keeps the same event id.
  • Order is not guaranteed. Use timestamp or recorded_at and keep the newest decision per purpose.
  • Duplicates happen. Store the webhook-id and ignore repeats.
  • Switching off or deleting an endpoint stops everything: its pending deliveries are marked failed.
  • Changes apply within about 30 seconds. Endpoint settings are cached briefly.

Catching up

If your receiver was down for longer than the retry window, fetch what you missed with the API rather than waiting:

curl -s "https://v1.pactbase.in/api/v1/consent-records?from=2026-10-10T00:00:00Z&order=asc&limit=1000" \
  -H "Authorization: Bearer $PACTBASE_API_KEY"

See Consent data.

On this page