Event catalog
Entity-level events (
user.status.updated, business.status.updated) can also fire as a consequence of transaction activity - see entity webhooks.
Sandbox applications do not emit transaction or travel-rule webhooks - test deliveries against a live application, or use API & Webhooks → Try Webhook in the console.
Envelope
Didit webhooks use a flat body: the event fields sit at the top level next to the envelope fields - there is no nesteddata object.
Every delivery carries:
Payload shapes
transaction.created and transaction.status.updated
Both events share one payload - a compact summary plus the action_required block (or null):
GET /v3/transactions/{transaction_id}/ - it returns the complete detail (parties, rule_runs, provider_results, travel_rule, cost_breakdown, decision_reason_code), including why the status changed.
travel_rule.status.updated
FINISHED, CANCELLED, or EXPIRED, no further travel-rule events are sent for it.
Example status journeys
Simple approval
Review-then-approve
Step-up verification
Travel Rule transfer
Signature verification
Every delivery is HMAC-SHA256 signed with the destination’s shared secret and carries three signature headers plus a timestamp:Retries and delivery guarantees
- On a
5xx,404, timeout, or connection failure, Didit retries up to 2 times: roughly 1 minute after the initial failure, then roughly 4 more minutes after that. - Retried deliveries reuse the same
event_id- de-dupe on it in your handler. - After the final failure, delivery for that event stops and your organization is notified; destinations are never silently disabled.
- Return a
2xxfast (enqueue, then process) - slow ACKs risk timeouts and duplicate deliveries.
Idempotency
Process each webhook exactly once by storingevent_id in your own dedupe store. Re-delivery of the same event is possible when your endpoint ACKs slowly or disconnects mid-request.
Subscribing
Next steps
Webhooks reference
Destinations, signing, retries.
Statuses
Full state machine.
Integration guide
Handling webhooks in production.