📘 Public beta · Endpoints are stable; OpenAPI specs and SDKs ship monthly. See changelog →
Products
Anti-Fraud Platform
Webhooks

Anti-Fraud · Webhooks

See Webhooks (global) → for signing, retry, and idempotency semantics.

Event catalog

EventFires whendata keys
application.createdCustomer submitted onboarding (lane=onboarding evaluate)customerId · fraudScore · decision
application.approvedOnboarding application resolved → approvecustomerId · decision · appliedRules
application.declinedOnboarding application resolved → declinecustomerId · decision · appliedRules · reason
alert.createdNew fraud alert from any sourcealertId · customerId · lane · fraudScore · triggerType
alert.escalatedAlert promoted to a casealertId · caseId · customerId
alert.resolvedAlert resolved with a dispositionalertId · disposition · reason · actorUserId
transaction.flaggedevaluate(lane=transaction) returned flagcustomerId · externalId · fraudScore · alertId
transaction.blockedevaluate(lane=transaction) returned blockcustomerId · externalId · fraudScore · alertId · appliedRules
case.openedNew case createdcaseId · customerId · title · priority
case.closedCase closed with dispositioncaseId · disposition · reason
customer.rejectedreject-customer invoked on a casecustomerId · caseId · reason
list.sync.failedConnector-backed list sync failedlistId · connectorId · error
list.import.completedCSV import finishedlistId · imported · skipped · failed
workflow.run.completedWorkflow automation completed a runworkflowId · runId · status
workflow.run.failedWorkflow run erroredworkflowId · runId · error

Signature

Anti-Fraud uses the X-QE-Signature header (in migration to unified X-Quantum-Signature). Same HMAC-SHA256 scheme — see Webhooks (global).

X-QE-Event:     transaction.blocked
X-QE-Delivery:  whd_01HXY...
X-QE-Signature: sha256=8b2c4d7e...

Example: transaction.blocked

{
  "id": "evt_01HXY...",
  "event": "transaction.blocked",
  "occurredAt": "2026-05-24T11:42:08.481Z",
  "orgId": "org_01HXY...",
  "data": {
    "customerId": "cus_01HXY...",
    "externalId": "tx-2026-05-24-002",
    "fraudScore": 92,
    "alertId": "alt_01HXY...",
    "appliedRules": [
      { "code": "BLK-001", "name": "Blocked beneficiary list", "action": "block", "score": 50 },
      { "code": "VL-003", "name": "High amount unverified counterparty", "action": "review", "score": 20 }
    ]
  }
}

Register

POST/api/webhooks
Auth · API keyScope · webhook:write
{
  "name": "fraud-ops-slack-bridge",
  "url": "https://your-app.example.com/webhooks/anti-fraud",
  "events": ["transaction.blocked", "alert.escalated", "customer.rejected"],
  "lane": "transaction"
}

lane filters deliveries to onboarding-only or transaction-only events. Omit for both.

Test delivery

POST /api/webhooks/{id}/test

Sends a synthetic event matching one of the subscription's configured events. Use this to verify your endpoint signature-checking is correct before you handle real traffic.

Workflow webhooks (automations)

Anti-Fraud has its own per-org Workflows feature — reactive automations triggered by alert.created. Workflows can auto-decline, notify Slack, escalate to specific users, or hold a transaction. Configure from the dashboard's Workflows page. Each run fires workflow.run.completed / .failed events to your subscriptions.