Overview
Use this method to either confirm that the specified transaction belongs to your exchange (VASP), or to reject ownership of the transaction mistakenly sent to your client:
- When you confirm transaction ownership, you unmask the personal information stored in the specified transaction.
- When you reject transaction ownership, you inform us that the wallet does not belong to any of your clients. In this case, the transaction will be marked as
unconfirmed.
Info
The data we exchange includes the Sumsub transaction ID.
Request examples
curl -X POST \
'https://api.sumsub.com/resources/kyt/txns/66cd891eefa135789ce5264f/ownership/confirmed'
curl -X POST \
'https://api.sumsub.com/resources/kyt/txns/66cd891eefa135789ce5264f/ownership/unconfirmed'
Response explained
If the request was sent and processed correctly, you will get a JSON file that represents the structured transaction information. The existence of some fields depends on the transaction type and matched rules.
- By default, the
needMaskingattribute is set totruethat indicates the personal data is masked, so you do not see thefullNamefield in theapplicantandcounterpartyobjects. Personal data stays masked when you reject the transaction ownership. - When you confirm transaction ownership, the
needMaskingattribute is set tofalse, and thefullNamefield appears in theapplicantandcounterpartyobjects.
Note
Mind that
travelRuleInfo.statusstill has theunconfirmedOwnershipvalue even if you confirm transaction ownership. To correctly complete the confirmation, proceed with either enriching the transaction with Travel Rule data, or moving the transaction to the proper applicant, depending on the case.
Response examples
{
"id": "66fbc0e62c633f3ea10c9ed8",
"externalUserId": "t9oxv7qlynvlip2w0rpf",
"clientId": "your_cool_id",
"data": {
"txnId": "2421f077-b5ee-4361-9212-73f69e5c1d44",
"txnDate": "2024-10-01 09:29:10+0000",
"applicant": {
"externalUserId": "t9oxv7qlynvlip2w0rpf",
"type": "individual",
"paymentMethod": {
"type": "",
"accountId": "0X7D1E4CFE1659FB2FF41E70C89BC03A92895C76FE"
}
},
"counterparty": {
"externalUserId": "ticdp37986196cepjaqkm",
"type": "individual",
"paymentMethod": {
"type": "account",
"accountId": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
},
"device": {
"ipInfo": {
"ip": "87.141.63.130",
"countryCode2": "DE",
"countryCode3": "DEU",
"city": "Berlin",
"zipCode": "13357",
"lat": 52.5481,
"lon": 13.3844,
"asn": 3320,
"asnOrg": "Deutsche Telekom AG",
"riskyAsn": false
},
"fingerprint": "m5021x0a87"
}
},
"type": "travelRule",
"info": {
"direction": "in",
"amount": 0.01,
"currencyCode": "ETH",
"currencyType": "crypto",
"amountInDefaultCurrency": 23.798191337458352,
"defaultCurrencyCode": "EUR"
}
},
"score": 0,
"review": {
"reviewId": "snSWH",
"attemptId": "BnDPs",
"attemptCnt": 2,
"elapsedSincePendingMs": 146215,
"createDate": "2024-10-01 09:29:10+0000",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"confirmed": false
},
"createdAt": "2024-10-01 09:29:10+0000",
"scoringResult": {
"score": 0,
"dryScore": 0,
"matchedRules": [
{
"id": "66be1caaf47b4f7a6fccf5fb",
"name": "TRI0-tra-rule-new-tr-data-exc-req-lVyy",
"revision": 1,
"title": "Travel Rule: New TR data exchange request",
"score": 0,
"dryRun": false,
"action": "score"
}
],
"action": "score",
"ruleCnt": 4,
"dryRunRuleCnt": 0
},
"travelRuleInfo": {
"protocolName": "sns",
"applicant": {
"externalUserId": "t9oxv7qlynvlip2w0rpf"
},
"counterparty": {
"externalUserId": "ticdp37986196cepjaqkm"
},
"status": "unconfirmedOwnership",
"applicantVaspId": "668d5fb69c98ed620c55ae0d",
"counterpartyVaspId": "66b10acdf6c30965b9ea644d"
},
"needMasking": true,
"txnInactive": false
}
{
"id": "66fbc0e62c633f3ea10c9ed8",
"externalUserId": "t9oxv7qlynvlip2w0rpf",
"clientId": "your_cool_id",
"data": {
"txnId": "2421f077-b5ee-4361-9212-73f69e5c1d44",
"txnDate": "2024-10-01 09:29:10+0000",
"applicant": {
"externalUserId": "t9oxv7qlynvlip2w0rpf",
"fullName": "John Doe",
"type": "individual",
"paymentMethod": {
"type": "",
"accountId": "0X7D1E4CFE1659FB2FF41E70C89BC03A92895C76FE"
}
},
"counterparty": {
"externalUserId": "ticdp37986196cepjaqkm",
"fullName": "Jane Doe",
"type": "individual",
"paymentMethod": {
"type": "account",
"accountId": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
},
"device": {
"ipInfo": {
"ip": "87.141.63.130",
"countryCode2": "DE",
"countryCode3": "DEU",
"city": "Berlin",
"zipCode": "13357",
"lat": 52.5481,
"lon": 13.3844,
"asn": 3320,
"asnOrg": "Deutsche Telekom AG",
"riskyAsn": false
},
"fingerprint": "m5021x0a87"
}
},
"type": "travelRule",
"info": {
"direction": "in",
"amount": 0.01,
"currencyCode": "ETH",
"currencyType": "crypto",
"amountInDefaultCurrency": 23.798191337458352,
"defaultCurrencyCode": "EUR"
}
},
"score": 0,
"review": {
"reviewId": "snSWH",
"attemptId": "BnDPs",
"attemptCnt": 2,
"elapsedSincePendingMs": 146215,
"createDate": "2024-10-01 09:29:10+0000",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"confirmed": false
},
"createdAt": "2024-10-01 09:29:10+0000",
"scoringResult": {
"score": 0,
"dryScore": 0,
"matchedRules": [
{
"id": "66be1caaf47b4f7a6fccf5fb",
"name": "TRI0-tra-rule-new-tr-data-exc-req-lVyy",
"revision": 1,
"title": "Travel Rule: New TR data exchange request",
"score": 0,
"dryRun": false,
"action": "score"
}
],
"action": "score",
"ruleCnt": 4,
"dryRunRuleCnt": 0
},
"travelRuleInfo": {
"protocolName": "sns",
"applicant": {
"externalUserId": "t9oxv7qlynvlip2w0rpf",
"fullName": "John Doe"
},
"counterparty": {
"externalUserId": "ticdp37986196cepjaqkm",
"fullName": "Jane Doe"
},
"status": "unconfirmedOwnership",
"applicantVaspId": "668d5fb69c98ed620c55ae0d",
"counterpartyVaspId": "66b10acdf6c30965b9ea644d"
},
"needMasking": false,
"txnInactive": false
}
If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:
{
"description": "Invalid id 'xfghxfgtdjyjdxtg'",
"code": 400,
"correlationId": "07470e61730f77a88fbca83fcbc3e358"
}