Skip to main content

Webhook Events Reference

This page lists the webhook event types currently emitted by PredictaID.

Envelope

All events use the same envelope:

{
"id": "evt_65f5fd53f5c8f5f2f88f1d9b",
"type": "session.completed",
"occurredAt": "2026-03-23T12:00:00.000Z",
"companyId": "comp_123",
"aggregateType": "SESSION",
"aggregateId": "sess_123",
"data": {},
"version": "v1"
}

Emitted Events

session.created

Emitted when a new KYC session is created.

{
"type": "session.created",
"aggregateType": "SESSION",
"aggregateId": "sess_123",
"data": {
"customerId": "cust_456",
"flowId": "flow_789",
"flowVersionId": "ver_001",
"clientAppId": "app_123",
"status": "PENDING"
}
}

session.completed

Emitted after a KYC session is successfully completed.

{
"type": "session.completed",
"aggregateType": "SESSION",
"aggregateId": "sess_123",
"data": {
"customerId": "cust_456",
"flowId": "flow_789",
"flowVersionId": "ver_001",
"finalStatus": "COMPLETED"
}
}

customer.identified

Emitted when an anonymous customer record is resolved and linked to an identified customer profile.

{
"type": "customer.identified",
"aggregateType": "CUSTOMER",
"aggregateId": "cust_456",
"data": {
"anonymousCustomerId": "cust_tmp_001",
"targetCustomerId": "cust_456",
"resolutionType": "ANONYMOUS_LINKED"
}
}

flow.version.published

Emitted when a Green flow version is promoted to Blue.

{
"type": "flow.version.published",
"aggregateType": "FLOW",
"aggregateId": "flow_789",
"data": {
"flowId": "flow_789",
"publishedVersionId": "ver_002",
"previousBlueVersionId": "ver_001",
"publishedBy": "user_123"
}
}

kyt.transaction.queued

Emitted when a KYT transaction is queued for pipeline processing.

{
"type": "kyt.transaction.queued",
"aggregateType": "KYT_TRANSACTION",
"aggregateId": "txn_123",
"data": {
"transactionId": "txn_123",
"status": "QUEUED"
}
}

kyt.transaction.reprocess.requested

Emitted when a KYT transaction is submitted for reprocessing.

{
"type": "kyt.transaction.reprocess.requested",
"aggregateType": "KYT_TRANSACTION",
"aggregateId": "txn_123",
"data": {
"transactionId": "txn_123",
"requestedBy": "user_123"
}
}

kyt.transaction.pipeline.completed

Emitted when KYT pipeline processing finishes for a transaction.

{
"type": "kyt.transaction.pipeline.completed",
"aggregateType": "KYT_TRANSACTION",
"aggregateId": "txn_123",
"data": {
"transactionId": "txn_123",
"status": "COMPLETED",
"alertCount": 1
}
}

kyt.transaction.dead_lettered

Emitted when a KYT transaction cannot be processed and is moved to dead-letter handling.

{
"type": "kyt.transaction.dead_lettered",
"aggregateType": "KYT_TRANSACTION",
"aggregateId": "txn_123",
"data": {
"transactionId": "txn_123",
"reason": "Pipeline processing failed"
}
}

Matching Rules

Webhook subscriptions use exact string matching on type.

  • Subscribe to the exact event name you need.
  • Event names are case-sensitive.
  • This page lists public event types currently documented for subscriptions; prefer exact names and verify newly added event types against release notes before relying on them in production.