Case management webhooks

Monitor AML and transaction cases in real-time with webhooks.

This section lists a collection of webhooks related to the legacy case management workflow only.

🚧

Important

Currently, we provide two distinct workflows for AML case management — the new workflow and the legacy one. To learn more about these flows, refer to this article.

WebhookDescription
kytCaseCreatedNew case has been created in the Sumsub system.
kytCaseReviewedCase has been reviewed.
kytCaseStatusChangedCase status has been changed in the Sumsub system.
amlCaseApprovedAML case associated with the transaction was approved. No suspicious matches were found in the Sumsub databases.
amlCaseRejectedAML case associated with the transaction was rejected due to the true positive matches found in the Sumsub database.
amlCaseOnHoldBased on the rules you applied, the AML case was put on hold and queued for a manual review by the dedicated expert.
kytCaseV2CreatedNew case has been created in the Sumsub system for Case Management 2.0.
kytCaseV2BlueprintChangedCase blueprint has been changed in the Sumsub system for Case Management 2.0.
kytCaseV2StatusChangedCase status has been changed in the Sumsub system for Case Management 2.0.
kytCaseV2PriorityChangedCase priority has been changed in the Sumsub system for Case Management 2.0.
📘

Note

Personal applicant information is not available in the webhook payload. To get this information, use this API method.

👍

Tip

If you are not receiving webhooks, try to check your endpoints using SSL Labs or Docker.

kytCaseCreated

The following example indicates that a new case has been created in the Sumsub system.

{
  "applicantId" : "670f85df0578a72bf1131856",
  "correlationId" : "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode" : true,
  "type" : "kytCaseCreated",
  "reviewStatus" : "init",
  "createdAt" : "2024-11-18 10:49:47+0000",
  "createdAtMs" : "2024-11-18 10:49:47.918",
  "kytCaseId" : "670f85e00578a72bf113189d"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
typeStringWebhook type. In this context, it is kytCaseCreated.
reviewStatusStringCurrent status of the case (e.g., init, queued, completed, onHold).
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.

kytCaseReviewed

The following example indicates that the case has been reviewed.

{
  "applicantId" : "670f85e10578a72bf1131906",
  "correlationId" : "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode" : true,
  "type" : "kytCaseReviewed",
  "reviewResult" : {
    "reviewAnswer" : "RED",
    "reviewRejectType" : "FINAL"
  },
  "reviewStatus" : "completed",
  "createdAt" : "2024-11-18 10:43:45+0000",
  "createdAtMs" : "2024-11-18 10:43:45.068",
  "kytCaseId" : "670f85e20578a72bf1131950"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
typeStringWebhook type. In this context, it is kytCaseReviewed.
reviewResultObjectContains extra information on the case verification result, such as reviewAnswer indicating the result and reviewRejectType if the case was rejected.
reviewAnswerStringExplains the review result:
  • GREEN — the case is approved.
  • RED — the case is rejected.
reviewRejectTypeString

Indicates the type of rejection:

  • Rejected — rejection in case of major violations. The case cannot be resubmitted for another review.
  • ResubmissionRequested — rejection in case of minor violations. The case can be resubmitted for another review.

For more details, see Temporary rejection and Final rejection clarification.

reviewStatusStringCurrent status of the case (e.g., init, queued, completed, onHold).
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.

kytCaseStatusChanged

The following example indicates that the status of the case has been changed.

{
  "applicantId" : "670f85e10578a72bf1131906",
  "correlationId" : "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode" : true,
  "type" : "kytCaseStatusChanged",
  "reviewResult" : {
    "reviewAnswer" : "RED",
    "reviewRejectType" : "FINAL"
  },
  "reviewStatus" : "completed",
  "createdAt" : "2024-11-18 10:42:42+0000",
  "createdAtMs" : "2024-11-18 10:42:42.720",
  "kytCaseId" : "670f85e20578a72bf1131950"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
typeStringWebhook type. In this context, it is kytCaseStatusChanged.
reviewResultObjectContains extra information on the case verification result, such as reviewAnswer indicating the result and reviewRejectType if the case was rejected.
reviewAnswerStringExplains the review result:
  • GREEN — the case is approved.
  • RED — the case is rejected.
reviewRejectTypeString

Indicates the type of rejection:

  • FINAL — final rejection in case of major violations.
  • RETRY — temporary rejection in case of minor violations. The case can be resubmitted for another review.

For more details, see Temporary rejection and Final rejection clarification.

reviewStatusStringCurrent status of the case (e.g., init, queued, completed, onHold).
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.

amlCaseApproved

{
  "correlationId": "26e4b45a9a0e3e8715de1b8dba0851fa",
  "sandboxMode": false,
  "type": "amlCaseApproved",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2023-08-30 10:03:20.907",
  "amlCaseId": "64baa015ebc52e736d147e8c"
}
FieldTypeDescription
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is amlCaseApproved.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
amlCaseIdStringUnique identifier of the AML case.

amlCaseRejected

{
  "correlationId": "f1510d9aee2f7d30c7eb33cb59f24c3c",
  "sandboxMode": false,
  "type": "amlCaseRejected",
  "reviewResult": {
    "reviewAnswer": "RED"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2023-08-30 10:02:36.496",
  "amlCaseId": "63652066f11034000121a52b"
}
FieldTypeDescription
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is amlCaseRejected.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
amlCaseIdStringUnique identifier of the AML case.

amlCaseOnHold

{
   "correlationId":"da9564f4437c9fcd059f99e0b94fa04d",
   "sandboxMode":false,
   "type":"amlCaseOnHold",
   "reviewResult":{
      "reviewAnswer":"YELLOW"
   },
   "reviewStatus":"onHold",
   "createdAtMs":"2023-08-30 09:59:52.864",
   "amlCaseId":"63d7d1bac92045720c5e354a"
}
FieldTypeDescription
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is amlCaseOnHold.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
amlCaseIdStringUnique identifier of the AML case.

kytCaseV2Created

The following example indicates that a new case has been created in the Sumsub system.

{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2Created",
  "reviewStatus": "open",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340bb",
  "kytCasePriority": "medium",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
 }
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is kytCaseV2Created.
reviewStatusStringIndicates the current transaction status (open, awaitingUser, resolvedFalsePositive, resolvedPotentialThreat).
kytCaseStageString[Configurable] Current stage of the case.
kytCaseBlueprintIdStringUnique identifier of the case blueprint.
kytCasePriorityStringCurrent priority of the KYT case, for example, low, medium, or high.
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.

kytCaseV2BlueprintChanged

The following example indicates that a case blueprint has been changed in the Sumsub system.

{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2BlueprintChanged",
  "reviewStatus": "open",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340bb",
  "kytCasePriority": "medium",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is kytCaseV2BlueprintChanged.
reviewStatusStringIndicates the current transaction status (open, awaitingUser, resolvedFalsePositive, resolvedPotentialThreat).
kytCaseStageString[Configurable] Current stage of the case.
kytCaseBlueprintIdStringUnique identifier of the case blueprint.
kytCasePriorityStringCurrent priority of the KYT case, for example, low, medium, or high.
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.

kytCaseV2StatusChanged

The following example indicates that a case status has been changed in the Sumsub system.

{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2StatusChanged",
  "reviewStatus": "awaitingUser",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340aa",
  "kytCasePriority": "medium",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
}
{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2StatusChanged",
  "reviewStatus": "resolvedFalsePositive",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340aa",
  "kytCasePriority": "medium",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
}
{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2StatusChanged",
  "reviewStatus": "resolvedPotentialThreat",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340aa",
  "kytCasePriority": "medium",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
}
{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2StatusChanged",
  "reviewStatus": "open",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340aa",
  "kytCasePriority": "medium",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is kytCaseV2StatusChanged.
reviewStatusStringIndicates the current transaction status (open, awaitingUser, resolvedFalsePositive, resolvedPotentialThreat).

Note that webhook payload does not indicate whether a case was reopened from resolved or newly opened. In both cases, the payload contains the same reviewStatus: "open" value.
kytCaseStageString[Configurable] Current stage of the case.
kytCaseBlueprintIdStringUnique identifier of the case blueprint.
kytCasePriorityStringCurrent priority of the KYT case, for example, low, medium, or high.
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.

kytCaseV2PriorityChanged

The following example indicates that a case priority has been changed in the Sumsub system.

{
  "applicantId": "670f85df0578a72bf1131856",
  "correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
  "sandboxMode": true,
  "type": "kytCaseV2PriorityChanged",
  "reviewStatus": "open",
  "kytCaseStage": "review",
  "kytCaseBlueprintId": "6717a1b20578a72bf11340aa",
  "kytCasePriority": "high",
  "createdAt": "2024-11-18 10:49:47+0000",
  "createdAtMs": "2024-11-18 10:49:47.918",
  "kytCaseId": "670f85e00578a72bf113189d"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant.
correlationIdStringA shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
typeStringWebhook type. In this context, it is kytCaseV2PriorityChanged.
reviewStatusStringIndicates the current transaction status (open, awaitingUser, resolvedFalsePositive, resolvedPotentialThreat).
kytCaseStageString[Configurable] Current stage of the case.
kytCaseBlueprintIdStringUnique identifier of the case blueprint.
kytCasePriorityStringCurrent priority of the KYT case, for example, low, medium, or high.
createdAtDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss+0000, e.g. 2021-05-14 16:00:25+0000) in UTC.
createdAtMsDateDate and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
kytCaseIdStringUnique identifier of the case on the Sumsub side.


Did this page help you?