1. Knowledge Base
  2. iComply API Documentation

Webhooks

The iComply platform features a number of webhooks that fire based on user-triggered events.

In order to verify the authenticity of a webhook originating from iComply, you must verify the webhook secret that is part of the payload. Your account representative will send you your webhook secret when setting up your account and it should have a format similar to: whs_ef0dbc12345c418ab4a1cc4c888dea02

Sample Webhook Verification Code

Webhooks are triggered for the following actions:

1) When a user on the NP portal fills out the first two screens on the Natural Person portal

The webhook features the following payload

{
"id": "254",
"event": "NaturalPersonPending",
"eventType": "natural-person-pending",
"data": {
"entityCreated": true,
"isClientUpdateRequest": false,
"entity": "John Doe",
"email": "john.doe@mail.com",
"sessionId": "8da6eb06-778a-40a4-b2a5-8120cb440982",
"entityId": "17f86a38-ee24-4686-8b4d-9251019f0009",
"message": "John Doe submitted personal info"
},
"creationTimeUtc": "2022-02-01T15:09:26.1712603Z"
}

 

2) When a user is approved manually by an admin on the portal

The webhook features the following payload

{
"id": "253",
"event": "NaturalPersonManuallyApproved",
"eventType": "natural-person-manually-approved",
"data": {
"entity": "Jane Doe",
"entityId": "702a96b1-e145-45fc-99c1-69c2199aa30d",
"userName": "Milan Doe",
"userEmail": "milan@testing.com",
"entityStatus": "approved",
"description": "Jane Doe was manually approved by Milan"
},
"creationTimeUtc": "2022-02-01T15:04:27.0174921Z"
}

 

3) When a user is automatically approved based on auto-approval settings in the portal config

{
"id": "253",
"event": "NaturalPersonAutoApproved",
"eventType": "natural-person-auto-approved",
"data": {
"entity": "Jane Doe",
"entityId": "702a96b1-e145-45fc-99c1-69c2199aa30d",
"userName": "Milan Doe",
"userEmail": "milan@testing.com",
"entityStatus": "approved",
"description": "Jane Doe was manually approved by Milan"
},
"creationTimeUtc": "2022-02-01T15:04:27.0174921Z"
}js

Natural Person Has Begun Uploading the Supporting Document

First Payload

{
"id": "255",
"event": "NaturalPersonStartedIDUpload",
"eventType": "natural-person-started-id-upload",
"data": {
"isClientUpdateRequest": false,
"entity": "John Doe",
"email": "john.doe@mail.com",
"sessionId": "8da6eb06-778a-40a4-b2a5-81json20cb440982",
"entityId": "17f86a38-ee24-4686-8b4d-9251019f0009",
"message": "John Doe is uploading Identity Document",
"documentType": "driverLicense"
},
"creationTimeUtc": "2022-02-01T15:16:32.3428769Z"
}

 

Second Payload

{
"id": "256",
"event": "NaturalPersonUploadedID",
"eventType": "natural-person-uploaded-id",
"data": {
"isClientUpdateRequest": false,
"entity": "John Doe",
"email": "john.doe@mail.com",
"sessionId": "12345b06-778a-40a4-b2a5-8120cb440982",
"entityId": "12345a38-ee24-4686-8b4d-9251019f0009",
"message": "John Doe uploaded Identity Document",
"documentType": "driverLicense"
},
"creationTimeUtc": "2022-02-01T15:18:02.1197395Z"
}

 

When a Natural Person has completed uploading Supporting Documents

{
"id": "278",
"event": "NaturalPersonUploadedSupportingDocument",
"eventType": "natural-person-uploaded-supporting-document",
"data": {
"isClientUpdateRequest": true,
"entity": "Jane Doe",
"email": "John.Doe@test.com",
"sessionId": "1234421-ed37-473a-a6e5-70ec6e0df322",
"entityId": "123340-830e-44bc-9a2d-6df7e20b307a",
"supportingDocumentId": "12344326-17b8-4e18-8b61-12a9be9f6cd4",
"supportingDocumentType": "Proof of Income",
"supportingDocumentDescription": "Description Proof of Income",
"message": "Jane Doe uploaded Supporting Document"
},
"creationTimeUtc": "2022-02-02T16:07:42.2050562

If you find that a webhook is not being fired when expected, please contact our support team.