Links

Webhook Guide

Webhook

Webhook provides real-time notifications when specific events occur.

Webhook Integration

To integrate webhook, please send your webhook URL to Helpdesk.

Webhook Triggers

"Submission data" only returns entered information. In cases when you do not include any optional information such as "cf1" or "wallet_address" in submission data, the response object does not include them either.
webhook_trigger
KYC Status
Description
submit
Pending
KYC submission is created and waiting for manual review. *No webhook for 'Submit' status
approved
Approved
KYC approved
rejected
Rejected
KYC rejected
updated
-
KYC data has been updated
aml
Approved
AML screening results

KYC Status Change

Key
Value
Description
webhook_trigger
submit, approved, rejected, updated
submit: KYC is at pending status after submission approved: KYC approved at the moment of submission or turned into approved from pending rejected: KYC rejected at the moment of submission or turned into rejected from pending updated: Data has been updated
kyc_result
KYC result object
kyc_result.status
approved / rejected
KYC result
kyc_result.update_at
{update_at}
The time KYC status has changed to approved or rejected(UTC+0)
kyc_result.comment
{comment}
Rejected reason ※Only when the webhook_trigger is rejected.
submission_id
{submission_id}
Unique verifying ID for each submission
applicant_id
{applicant_id}
Unique verifying ID given to users, it is transmitted only when the KYC status is 'approved'.
created_at
{create_at}
The moment when a KYC submission_id has made (UTC+0)
email
{email}
Email address of a KYC applicant
userid
{userid}
Unique ID for each KYC applicant created from client side (≠ submission id)

AML Results

AML result and submission data are returned when AML screening is completed, no screening for rejected KYCs. AML Screening is performed only when KYC is approved and the results are returned.
Key
Value
Description
webhook_trigger
aml
Webhook trigger type
submission_id
{submission_id}
Unique verifying ID for each submission
email
{email}
Email address of a KYC applicant
userid
{userid}
Unique ID for each KYC applicant created from client side (≠ submission id)
aml_result
AML result object
aml_result.currentstatus
Not Screened / Red Flag
AML screening result
aml_result.risk_level_summary
Not Screened/ HIGH/MEDIUM/LOW
AML result level
created_at
{create_at}
The moment when a KYC submission_id has made (UTC+0)

Sample Data

submit

{
uri: 'https://your-endPoint-url.com',
method: 'POST',
body: {
webhook_trigger:"submit",
kyc_result:{
status:"rejected",
created_at:"2023-07-06T02:01:03.494Z"
},
submission_id:"{submissionId}",
projectId:"{projectId}",
userid:"{userid}"
},
json: true
}

approved

{
uri: 'https://your-endPoint-url.com',
method: 'POST',
body: {
webhook_trigger:"approved",
kyc_result:{
status:"rejected",
comment:"Multiple invalid KYC attempts"
updated_at:"2023-07-06T00:45:05.738Z"
},
submission_id:"{submissionId}",
projectId:"{projectId}",
userid:"{userid}"
},
json: true
}

rejected

{
uri: 'https://your-endPoint-url.com',
method: 'POST',
body: {
webhook_trigger:"approved",
kyc_result:{
status:"rejected",
comment:"Multiple invalid KYC attempts"
updated_at:"2023-07-06T00:45:05.738Z"
},
submission_id:"{submissionId}",
projectId:"{projectId}",
userid:"{userid}"
},
json: true
}

updated

{
uri: 'https://your-endPoint-url.com',
method: 'POST',
body: {
kyc_result: { status: 'approved', updated_at: '2023-07-11T09:13:24.751Z' },
webhook_trigger: 'updated',
submission_id: 'test_submissions_id',
userid:{userid}
},
json: true
}

aml

{
uri: 'https://your-endPoint-url.com',
method: 'POST',
body: {
webhook_trigger: 'aml',
submission_id: '{submissionId}',
userid:{userid}
aml_result: {
currentstatus: 'Not Screened',
risk_level_summary: 'Not Screened'
}
},
json: true
}