Skip to main content
Use Link webhooks to track consent changes and data export status per provider.

Authentication

Webhook deliveries are signed with HMAC-SHA256. Verify every request before processing. Headers sent by Emerge:

Event types

Payload format (v2)

All webhook events use:
sources[] is event-specific:
  • consent.given:
    • provider, scopes[], valid_until, is_reauthorized
  • consent.revoked:
    • provider, revoked_at, reason (user_revoked | account_deleted)
  • consent.expiring:
    • provider, valid_until, days_until_expiry
  • consent.reauthorized:
    • provider, scopes[], valid_until, is_returning_user
  • data.ready:
    • provider
  • data.failed:
    • provider, error_code, error_message

Response examples

reason values:
  • user_revoked — user manually revoked consent via the Data Wallet
  • account_deleted — user deleted their account (GDPR right-to-erasure)

data.ready

data.failed

Handling webhooks

Delivery and retries

  • A non-2xx response triggers retries with exponential backoff.
  • Current max attempts: 5.
  • Always design handlers to be idempotent using Idempotency-Key.