Webhook events
How to receive and interpret webhook events.
Since we are committed to an event-driven architecture, we understand the importance of having reliable real-time updates within our integrations. We provide clear webhook requests sent to your server.
A webhook request is typically an unauthenticated POST request. Each request creates an Event
record in our system which can also later be queried. To verify information from the event, your system should always make an authenticated request retrieving either the entity or the event.
Configure the webhook endpoint
To change the endpoint, you can navigate to the "Advanced" setting in the Case Keeper dashboard. If your user has the required permissions, the "Webhook URL" field will be editable. To update the actual deployment, simply modify the URL and press save.
For security reasons, a webhook URL must use the HTTPS protocol.

Case Keeper Dashboard - Advanced Settings
If you do not have access to the dashboard, please contact our support to add or change the endpoint.
Request structure
The request body contains a JSON formatted partial Event
.
{
"key" : "verification.updated",
"data": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
...data we have about the results of the key
}
}
The data includes all the data in the structure of the verification check Get Verification By id
Response
The event will store the response that is returned by your system. It is recommended to return a standard 200
status code on a received request.
The S3 links are presigned links and will expire in 5mins. If links are expired you can fetch new data using get verification by id route using the verification id provided in payload
KYC events:
Dashboard Type | Process | Actions | Expected webhook event keys |
---|---|---|---|
ALL | - | Create verification Processor | verification.created |
ALL | - | Accept the welcome page + consent page | verification.updated |
ALL | - | All Process is verified | verification.verified |
ALL | - | All Process is completed | verification.completed |
ALL | - | Delete verification | verification.deleted |
KYC | frontIdCard | The client does frontIdCard ocr | verification.frontIdCardResult.created |
KYC | frontIdCard | The client confirms edits or confirms ocr result if edits are off | verification.frontIdCardResult.confirmed |
KYC | frontIdCard | The client update a front id card result | verification.frontIdCardResult.updated |
KYC | backIdCard | The client does back id card ocr | verification.backIdCardResult.created |
KYC | backIdCard | Confirm edits or confirm ocr result | verification.backIdCardResult.confirmed |
KYC | backIdCard | The client update a back id card result | verification.backIdCardResult.updated |
KYC | dopa | Appman check dopa | verification.dopaResult.created |
KYC | dopa | The client confirms dopa results | verification.dopaResult.confirmed |
KYC | dopa | The system updates a dopa result | verification.dopaResult.updated |
KYC | passport | The client does Passport ocr/ncf | verification.passportResult.created |
KYC | passport | The client confirms FR results | verification.passportResult.confirmed |
KYC | passport | The client update a passport result | verification.passportResult.updated |
KYC | idFaceRecognition | Client does idFaceRecognition | verification.idFaceRecognitionResult.created |
KYC | idFaceRecognition | The client confirms FR results | verification.idFaceRecognitionResult.confirmed |
KYC | idFaceRecognition | The client updated FR results | verification.idFaceRecognitionResult.updated |
Dip Chip | Dip Chip | The client created an appointment | verification.dipChipResult.created |
Dip Chip | Dip Chip | The client confirms dopa results | verification.dipChipResult.confirmed |
Dip Chip | Dip Chip | The client updated a dip chip result. | verification.dipChipResult.updated |
Dip Chip | Dip Chip | The client creates an appointment. | verification.appointment.created |
Dip Chip | Dip Chip | The client updated an appointment. | verification.appointment.updated |
Dip Chip | Dip Chip | The system validate appointment result. | verification.appointment.validated |
CC | Criminal Check | The client created a Criminal Check | verification.criminalCheckResult.created |
CC | Criminal Check | The client confirms Criminal Check results | verification.criminalCheckResult.confirmed |
CC | Criminal Check | The client update a criminal check result | verification.criminalCheckResult.updated |
CC | Criminal Check | The client downloads the result criminal check document PDF file. | verification.criminalCheckResult.resultDocumentUrl.read |
EV | Employment Verification | Client created an Employment Verification | verification.employmentVerificationResult.created |
EV | Employment Verification | The client confirms the Employment Verification results | verification.employmentVerificationResult.confirmed |
EV | Employment Verification | The client update an employment verification result | verification.employmentVerificationResult.updated |
EV | Employment Verification | The client downloads the result employment verification document PDF file. | verification.employmentVerificationResult.resultDocumentUrl.read |
Sanction List | Sanction | The system creates Sanction List results | verification.sanction.created |
Bankruptcy | Bankruptcy | The system creates bankruptcy results | verification.bankruptcyResult.created |
Updated almost 2 years ago