Skip to main content

Webhook Payload

Payload

{
"result_id": "936f35a8-4921-430e-b016-15be48968886",
"event": "COMPLETED",
"data": {
// step type eg. "dv" or "poa" or "form" or "wallet"
"<type>": {
// ... data here
}
},
"custom": null
}

Result Information

  • Result ID: an identifier of the result
  • Event: the status of the verification process (not the status of the KYC)

Document Verification

{
"result_id": "936f35a8-4921-430e-b016-15be48968886",
"event": "COMPLETED",
"data": {
"dv": {
"version": 0,
"id": "d65fa9a0-596e-4d7e-afd1-59a23bfb5a74",
"verificationRequestId": "cf52e18e-28d1-4a2f-8304-c04ef5a75d0f",
"flowId": "2d8285d7-f4ba-42df-ab3f-681d9870d37a",
"flowStepId": "03559a0f-be8e-4ab7-964d-1ff4745d92a4",
"createdAt": "2025-04-25T19:32:14.558006634Z",
"customData": {},
"status": "PASSED",
"reason": null,
"documentId": "d41bc0ea-3b5c-4342-a1ae-a46dd0a770f8",
"documentType": "Driving License",
"class": null,
"platform": null,
"browser": null,
"scoreBiometricSelfie": 99,
"errorMessage": null,
"processAdditionalData": {},
"identityEmail": "applicant01@example.com"
}
},
"custom": null
}

KYC Data

The information about the document verification can be found under the "dv" key of the JSON object. It includes essential information about the KYC process.

  • Version: the version of the document verification processor that has been used
  • Id: the id of the DvResult (result of the document verification step)
  • Verification Request ID: identifier of the verification request that generated the result
  • Flow ID: identifier of the flow the result refers to
  • Flow Step ID: identifier of the flow step the result refers to
  • Created At: timestamp when the result has been created
  • CustomData: custom parameters that has been collected from the url query parameters
  • Status: status of the document verification (eg. PASSED or FAILED)
  • Reason: reason in case of failure
  • Document Type: type of the document that has been used for the verification
  • Document ID: identifier of the document that has been recorded on the user personal storage

KYC Scores

During the KYC process several checks on document authenticity are performed. The most relevant scores are sent through the webhook.

  • Score Biometric Selfie: the portrait match score from the Liveness Verification step. This represents the similarity between the live selfie and the portrait image extracted from the identity document during the Document Verification step

Process Information

Provide a way to collect any relevant information collected during the verification process.

  • Process Additional Data: N/A

Identity Information

Identifies the individual associated with the KYC process, in this case, by their email address.

  • Identity ID: the identifier for the identity that went through the verification process (usually the email address)

Proof of address

{
"result_id": "0e66460a-c189-48a0-8a1a-a3f846c992e5",
"event": "COMPLETED",
"data": {
"poa": {
"version": 0,
"id": "cdf75b57-a1d8-4c1c-8718-c367206707b4",
"verificationRequestId": "19234ab9-33df-4fae-a636-361f0f5ca607",
"flowId": "2d8285d7-f4ba-42df-ab3f-681d9870d37a",
"flowStepId": "56efd673-24d1-455b-a5b9-8ddf02a9b5f2",
"createdAt": "2025-04-25T19:32:25.799246492Z",
"customData": {},
"status": "PASSED",
"reason": null,
"documentId": "e04a00e6-ccf9-4593-ab86-4b2c01f3bb95",
"documentType": "PAY_SLIP",
"identityEmail": "applicant01@example.com"
}
},
"custom": {}
}

Proof of Address Data

The information about the proof of address can be found under the "poa" key of the JSON object. It includes essential information about the Proof of Address process.

  • Version: the version of the document verification processor that has been used
  • Id: the id of the PoaResult (result of the proof of address step)
  • Verification Request ID: identifier of the verification request that generated the result
  • Flow ID: identifier of the flow the result refers to
  • Flow Step ID: identifier of the flow step the result refers to
  • Created At: timestamp when the result has been created
  • CustomData: custom parameters that has been collected from the url query parameters
  • Status: status of the document verification (eg. PASSED or FAILED)
  • Reason: reason in case of failure
  • Document Type: type of the document that has been used for the verification
  • Document ID: identifier of the document that has been recorded on the user personal storage

Identity Information

Identifies the individual associated with the KYC process, in this case, by their email address.

  • Identity ID: the identifier for the identity that went through the verification process (usually the email address)

Phone Verification

{
"result_id": "a7b8c9d0-1234-5678-90ab-cdef12345678",
"event": "COMPLETED",
"data": {
"phone": {
"id": "f8e7d6c5-4321-8765-09ba-fedcba987654",
"verificationRequestId": "b1c2d3e4-5678-90ab-cdef-1234567890ab",
"flowId": "2d8285d7-f4ba-42df-ab3f-681d9870d37a",
"flowStepId": "c3d4e5f6-7890-abcd-ef12-34567890abcd",
"createdAt": "2025-04-25T19:35:30.123456789Z",
"customData": {},
"status": "PASSED",
"reason": null,
"phoneNumberLast4": "1234",
"identityEmail": "applicant01@example.com"
}
},
"custom": null
}

Phone Verification Data

The information about the phone verification can be found under the "phone" key of the JSON object. It includes essential information about the phone verification process.

  • Id: the id of the PhoneResult (result of the phone verification step)
  • Verification Request ID: identifier of the verification request that generated the result
  • Flow ID: identifier of the flow the result refers to
  • Flow Step ID: identifier of the flow step the result refers to
  • Created At: timestamp when the result has been created
  • CustomData: custom parameters that have been collected from the url query parameters
  • Status: status of the phone verification (e.g., PASSED or FAILED)
  • Reason: reason in case of failure
  • Phone Number Last 4: the last 4 digits of the verified phone number (for reference purposes)
Privacy & Security

For privacy and security reasons, the full phone number is not included in the webhook payload. The phone number is stored as a SHA-256 hash in the database, with only the last 4 digits available in plain text for reference.

Identity Information

Identifies the individual associated with the verification process, in this case, by their email address.

  • Identity Email: the email address of the identity that went through the verification process

Wallet Verification

{
"result_id": "a7b8c9d0-1234-5678-90ab-cdef12345678",
"event": "COMPLETED",
"data": {
"wallet": {
"version": 0,
"id": "b1c2d3e4-5678-90ab-cdef-123456789012",
"verificationRequestId": "c2d3e4f5-6789-01bc-def1-23456789abcd",
"flowId": "d3e4f5g6-7890-12cd-ef12-3456789abcde",
"flowStepId": "e4f5g6h7-8901-23de-f123-456789abcdef",
"createdAt": "2025-10-17T10:15:30.123456789Z",
"customData": {},
"status": "PASSED",
"walletAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"walletChain": "ETHEREUM",
"message": "example.com wants you to sign in with your Ethereum account...",
"signature": "0x1234567890abcdef...",
"identityEmail": "applicant01@example.com"
}
},
"custom": null
}

Wallet Verification Data

The information about the wallet verification can be found under the "wallet" key of the JSON object. It includes essential information about the wallet ownership verification process.

  • Version: the version of the wallet verification processor that has been used
  • Id: the id of the WalletResult (result of the wallet verification step)
  • Verification Request ID: identifier of the verification request that generated the result
  • Flow ID: identifier of the flow the result refers to
  • Flow Step ID: identifier of the flow step the result refers to
  • Created At: timestamp when the result has been created
  • CustomData: custom parameters that has been collected from the url query parameters
  • Status: status of the wallet verification (eg. PASSED or FAILED)
  • Wallet Address: the cryptocurrency wallet address that was verified
  • Wallet Chain: the blockchain network used for verification (e.g., ETHEREUM, SOLANA, ETHEREUM_TESTNET, SOLANA_TESTNET)
  • Message: the SIWX (Sign-In With X) message that was signed by the user
  • Signature: the cryptographic signature produced by signing the message with the wallet's private key

Identity Information

Identifies the individual associated with the verification process, in this case, by their email address.

  • Identity Email: the email address for the identity that went through the verification process

Other events

Document Expired

Triggered whenever a document attached to a user that has been verified is expired.

The check is performed every day.

{
"result_id": "",
"event": "NOTIFICATION",
"data": {
"eventData": {
"version": 0,
"type": "DOCUMENT_EXPIRED",
"flowResultId": "d65fa9a0-596e-4d7e-afd1-59a23bfb5a74",
"verificationRequestId": "cf52e18e-28d1-4a2f-8304-c04ef5a75d0f",
"flowId": "2d8285d7-f4ba-42df-ab3f-681d9870d37a",
"flowStepId": "03559a0f-be8e-4ab7-964d-1ff4745d92a4",
"expiryDate": "2025-04-25T00:00:00.00Z",
"customData": {},
"documentId": "d41bc0ea-3b5c-4342-a1ae-a46dd0a770f8",
"documentType": "Driving License",
"identityEmail": "applicant01@example.com"
}
},
"custom": {}
}

Event Data

  • Version: the version of the document verification processor that has been used
  • Type: type of the event the notification refers to
  • Flow Result ID: identifier of the flow result the expired document refers to
  • Verification Request ID: identifier of the verification request that generated the result
  • Flow ID: identifier of the flow the result refers to
  • Flow Step ID: identifier of the flow step the result refers to
  • ExpiryDate: expiration date of the document
  • CustomData: custom parameters that has been collected from the url query parameters
  • Document Type: type of the document that has been used for the verification
  • Document ID: identifier of the document that has been recorded on the user personal storage
  • Identity ID: the identifier for the identity that went through the verification process (usually the email address)