Skip to main content
If you’re just getting started, please check out our quick start guide.
Compliance check creation, regardless was it successful or not, results into webhooks delivered to the registered addresses.

Completed

When identity compliance check completes, either with Approved or Rejected KYC status, system sends IdentityComplianceCheck_Completed webhook.
{
  "type": "IdentityComplianceCheck_Completed",
  "organizationId": "clwf218k000001wrwr7dvi9wp",
  "timestamp": 1740071905278,
  "data": {
    "id": "cm7dlpeon000kp925og708phy",
    "identityId": "cm7dloxy8000gp925tzej8sxk",
    "status": "Approved",
    "metadata": {
      "hasAcceptedTos": true,
      "rejectionReason": []
    }
  }
}
{
  "type": "IdentityComplianceCheck_Completed",
  "organizationId": "clwf218k000001wrwr7dvi9wp",
  "timestamp": 1740071905278,
  "data": {
    "id": "cm7dlpeon000kp925og708phy",
    "identityId": "cm7dloxy8000gp925tzej8sxk",
    "status": "Rejected",
    "metadata": {
      "hasAcceptedTos": true,
      "rejectionReasons": [
        {
          "code": "DocumentExpired",
          "description": "Document has expired.",
          "pfiMessage": "ID is expired."
        },
        {
          "code": "FaceNotLive",
          "description": "Liveness check failed.",
          "pfiMessage": "The selfie video shows signs of presentation attack."
        }
      ]
    }
  }
}
Changes during compliance check process are reflected via IdentityComplianceCheck_Updated webhooks, e.g. when a customer accepts terms of service or there is a change in KYC status.

Updated

{
  "type": "IdentityComplianceCheck_Updated",
  "organizationId": "clwf218k000001wrwr7dvi9wp",
  "timestamp": 1740071905278,
  "data": {
    "id": "cm7dlpeon000kp925og708phy",
    "identityId": "cm7dloxy8000gp925tzej8sxk",
    "status": "UnderReview",
    "metadata": {
      "hasAcceptedTos": true,
      "rejectionReason": []
    }
  }
}
If you have any questions, please don’t hesitate to reach out to us via email or slack.