Skip to main content
Every change to a User or Business entity emits a webhook so your system can react in real time. Use entity webhooks to sync profile data, propagate blocks to other systems, or trigger downstream compliance flows.

Event catalog

Didit also emits session, transaction, and business-session events that reference entity fields. See:

Payload shapes

All entity webhooks share a common envelope:

user.status.updated / business.status.updated

Fires on every status change. The reason field tells you why the change happened:

user.data.updated / business.data.updated

Fires when profile fields change. The payload includes the full updated entity:
Use changed_fields to efficiently sync only the fields that changed.

activity.created

Fires whenever an activity record is created about a User or Business entity. Activities form the entity’s timeline — the backend writes one for every material event, across five source categories: Example payload:
Key fields:
  • subject_kindUSER, BUSINESS, or EXTERNAL (a counterparty not registered as one of your entities).
  • subject_vendor_data — the entity’s vendor_data when applicable.
  • source — one of the five categories above.
  • activity_type — machine-readable type tag (e.g. note_added, status_changed, session_completed, rule_triggered).
  • title / description — human-readable summary; safe to render in your timeline UI.
  • session_id, business_session_id, transaction_id — FK identifiers when the activity is tied to a specific session or transaction.
Use activity.created to mirror the Didit timeline into your own audit / compliance log, trigger follow-up workflows on specific activity types, or power a customer-facing timeline view.

Delivery, retries, and signing

All entity webhooks follow the standard delivery contract:
  • Signed with HMAC-SHA256 via the X-Didit-Signature header (secret shared key on your destination).
  • Retried with exponential backoff on non-2xx responses (1s → 2s → 4s → … up to 5 retries over ~24 hours).
  • Idempotent — every webhook has a unique event_id in the payload; de-dupe on your side.
See Webhooks reference for destination setup and signature verification code samples.

Subscribing

Subscribe to entity events on a webhook destination via the Management API or Business Console:

Next steps

Webhooks reference

Destinations, signatures, retries, and verification.

Create destination

Register a new webhook endpoint.

User operations

Changes that trigger user webhooks.