> Toden documentation. For the full index fetch /llms.txt. Every page is available as Markdown by appending .md to its URL. Identity verification uses /api/kyc, Risk Intelligence uses /api/v1; they are separate contracts with different error shapes. Never invent an endpoint, field or enum value: read the API reference page for the operation first.

# Webhook v2 event delivery

POST 

Reference: https://docs.toden.co/api-reference/risk-intelligence/customer-events

## Request

### Headers

- `X-Myaza-Signature-V2` (string, required)

### Payload

- `version` (any, required)
- `id` (string, required)
- `type` (enum, required)
  - Allowed values: `crypto.deposit.unmatched`, `crypto.deposit.matched`, `crypto.deposit.reorged`, `crypto.address.approved`, `crypto.address.suspended`, `verification.started`, `verification.completed`, `verification.failed`, `verification.not_found`, `verification.error`, `api_key.created`, `api_key.revoked`, `credits.deducted`, `credits.low`, `credits.topped_up`, `credits.granted`, `credits.promo_expired`, `credits.exhausted`, `billing.credit.paused`, `billing.credit.resumed`, `billing.credit.closed`, `billing.work.paused`, `billing.work.resumed`, `billing.work.expired`, `billing.work.cancelled`, `entity.created`, `identity.resolved`, `entity.imported`, `event.flagged`, `screening.match`, `screening.completed`, `screening.insufficient_data`, `screening.failed`, `screening.stale`, `screening.adjudicated`, `screening.adjudication_overdue`, `alert.created`, `alert.updated`, `entity.reverification_due`, `case.overdue`, `workflow.run.completed`, `workflow.run.failed`, `workflow.action`, `key_person.completed`, `entity.address_link_created`, `entity.step_up_requested`, `entity.step_up_completed`, `entity.address_presence_started`, `entity.address_verified`, `entity.address_presence_failed`, `entity.address_presence_stopped`, `entity.address_presence_reminder`, `entity.biometric_enrolled`, `entity.biometric_authenticated`, `entity.status_changed`, `risk.assessment.completed`, `risk.assessment.failed`, `wallet.screening.completed`, `wallet.screening.review`, `wallet.screening.declined`, `wallet.screening.failed`, `crypto.transaction.screening.completed`, `crypto.transaction.screening.failed`, `monitoring.subscription.started`, `monitoring.subscription.paused`, `monitoring.subscription.resumed`, `monitoring.subscription.ended`, `monitoring.subscription.updated`, `monitoring.run.completed`, `monitoring.run.failed`, `monitoring.delta.detected`, `risk.signal.created`, `risk.level.changed`, `risk.decision.changed`, `fraud.activity.assessed`, `fraud.transaction.created`, `fraud.transaction.assessed`, `fraud.decision.changed`, `fraud.outcome.recorded`, `travel_rule.required`, `travel_rule.data.pending`, `travel_rule.assessment.completed`, `travel_rule.data.completed`, `travel_rule.mismatch.detected`, `travel_rule.failed`, `travel_rule.exchange.updated`, `risk.drift.detected`, `risk.threshold.recommended`, `risk.system_version.changed`, `case.created`, `case.assigned`, `case.review_started`, `case.escalated`, `case.resolved`, `case.closed`, `case.reopened`, `case.sla_at_risk`, `verification.status_updated`, `session.started`, `session.resumed`, `session.abandoned`, `session.expired`, `session.cancelled`, `session.uncancelled`, `entity.updated`, `entity.deleted`, `entity.restored`, `verification.deleted`, `verification.restored`
- `createdAt` (datetime, required)
- `deliveryId` (string, required)
- `data` (any, required)