Transaction monitoring webhooks

This section lists a collection of webhooks that you may receive during transaction monitoring.

WebhookDescription
applicantKytTxnApprovedTransaction was approved and the transfer or deposition of assets/properties can be expected soon.
applicantKytTxnRejectedChecks have been completed and the review result is — rejected.
applicantKytTxnReviewedTtransaction that was previously put on hold was reviewed by the officer and removed from the on-hold queue. You can soon expect the webhook to note you on the review results.
applicantKytTxnDeletedTransaction and all the related information were deleted.
applicantKytOnHoldBased on the rules you applied, the transaction was put on hold and queued for manual review by the dedicated expert. As soon as the transaction is reviewed, its status will be set to applicant reviewed.
applicantKytTxnAwaitingUserTransaction status was set to awaiting user. This means that the rule requiring the applicant action, such as passing an additional check, was triggered. The scoring is stopped until the applicant completes the required flow.
applicantKytTxnDataChangedTransaction data was enriched by the service. This means that the wallet ownership was confirmed, and the transaction information is unmasked.
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.

📘

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.

applicantKytTxnApproved

{
  "applicantId": "634829375766b80001a40152",
  "applicantType": "individual",
  "correlationId": "f24f6616020245053139a6537303a251",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytTxnApproved",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAt": "2024-04-24 11:15:09+0000",
  "createdAtMs": "2024-04-24 11:15:09.446",
  "clientId": "coolClientId",
  "kytTxnId": "64a7dc05fbf57c624afcb72d",
  "kytDataTxnId": "uauu08x44xexbohyh4lkp9",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytTxnApproved.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

applicantKytTxnRejected

{
  "applicantId": "634829375766b80001a40152",
  "applicantType": "individual",
  "correlationId": "0f5a7c828bab750775564534fc0470a8",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytTxnRejected",
  "reviewResult": {
    "reviewAnswer": "RED",
    "reviewRejectType": "FINAL"
  },
  "reviewStatus": "completed",
  "createdAt": "2024-04-24 11:15:09+0000",
  "createdAtMs": "2024-04-24 11:15:09.446",
  "clientId": "coolClientId",
  "kytTxnId": "64a7dc05fbf57c624afcb72d",
  "kytDataTxnId": "j8bqz29yn491vksi9qfydw",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytTxnRejected.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

applicantKytTxnReviewed

{
  "applicantId": "634829375766b80001a40152",
  "applicantType": "individual",
  "correlationId": "0f5a7c828bab750775564534fc0470a8",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytTxnReviewed",
  "reviewResult": {
    "reviewAnswer": "RED",
    "reviewRejectType": "FINAL"
  },
  "reviewStatus": "completed",
  "createdAt": "2024-04-24 11:15:09+0000",
  "createdAtMs": "2024-04-24 11:15:09.446",
  "clientId": "coolClientId",
  "kytTxnId": "64a7dc05fbf57c624afcb72d",
  "kytDataTxnId": "j8bqz29yn491vksi9qfydw",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytTxnReviewed.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

applicantKytTxnDeleted

{
  "applicantId": "634829375766b80001a40152",
  "applicantType": "individual",
  "correlationId": "0f5a7c828bab750775564534fc0470a8",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytTxnDeleted",
  "reviewStatus": "completed",
  "createdAt": "2024-04-24 11:15:09+0000",
  "createdAtMs": "2024-04-24 11:15:09.446",
  "clientId": "coolClientId",
  "kytTxnId": "64a7dc05fbf57c624afcb72d",
  "kytDataTxnId": "j8bqz29yn491vksi9qfydw",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytTxnDeleted.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

applicantKytOnHold

{
  "applicantId": "634829375766b80001a40152",
  "applicantType": "individual",
  "correlationId": "98d4dac61c977c1b3f81d6ab78d29c3c",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytOnHold",
  "reviewStatus": "onHold",
  "createdAt": "2024-04-24 11:15:09+0000",
  "createdAtMs": "2024-04-24 11:15:09.446",
  "clientId": "coolClientId",
  "kytTxnId": "64a7dc05fbf57c624afcb72d",
  "kytDataTxnId": "j8bqz29yn491vksi9qfydw",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytOnHold.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

applicantKytTxnAwaitingUser

{
  "applicantId": "6447b564728bf40939a7664f",
  "applicantType": "individual",
  "correlationId": "7310f3ffddbff223cdf10221cdf12064",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytTxnAwaitingUser",
  "reviewStatus": "awaitingUser",
  "createdAt": "2023-12-11 10:41:54+0000",
  "createdAtMs": "2023-12-11 10:41:54.431",
  "clientId": "coolClientId",
  "kytTxnId": "6576e772b2f80732714d1de0",
  "kytDataTxnId": "m26m980m9jd7pozq72se4",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytTxnAwaitingUser.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

applicantKytTxnDataChanged

{
  "applicantId": "6447b564728bf40939a7664f",
  "applicantType": "individual",
  "correlationId": "fb36d7a2f2e1ac15773ec9a56f999dde",
  "sandboxMode": false,
  "externalUserId": "customExternalUserId",
  "type": "applicantKytTxnDataChanged",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAt": "2024-01-24 07:38:34+0000",
  "createdAtMs": "2024-01-24 07:38:34.994",
  "clientId": "coolClientId",
  "kytTxnId": "6576e772b2f80732714d1de0",
  "kytDataTxnId": "m26m980m9jd7pozq72se4",
  "kytTxnType": "finance"
}
FieldTypeDescription
applicantIdStringUnique identifier of the applicant in the Sumsub system.
applicantTypeStringDefines the applicant entity type:
  • individual — for applicants registered and checked as individuals.
  • company — for applicants registered and checked as legal entities.
correlationIdStringUnique identifier of the event.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
externalUserIdStringUnique applicant identifier as registered on your side.

When creating an applicant , you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub.
typeStringWebhook type. In this context, it is applicantKytTxnDataChanged.
reviewResultObjectContains extra information on the transaction verification results.
reviewStatusStringIndicates the current transaction status (init, onHold, completed).
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.
clientIdStringUnique identifier of you as our client in the Sumsub system.

This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created.
kytTxnIdStringUnique transaction identifier (.id) on the Sumsub side.
kytDataTxnIdStringUnique transaction identifier (data.txnId) on your side.
kytTxnTypeStringTransaction type. Expects values:
  • finance(default)
  • gamblingBet
  • gamblingLimitChange
  • gamblingBonusChange
  • kyc
  • travelRule
  • userPlatformEvent
    • login
    • signup
    • passwordChange
    • twoFaReset

amlCaseApproved

{
  "correlationId": "26e4b45a9a0e3e8715de1b8dba0851fa",
  "sandboxMode": false,
  "type": "amlCaseApproved",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2023-08-30 10:03:20.907",
  "amlCaseId": "64baa015ebc52e736d147e8c"
}
FieldTypeDescription
correlationIdStringUnique identifier of the event.
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
correlationIdStringUnique identifier of the event.
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
correlationIdStringUnique identifier of the event.
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.