Confirm or reject transaction ownership

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 needMasking attribute is set to true that indicates the personal data is masked, so you do not see the fullName field in the applicant and counterparty objects. Personal data stays masked when you reject the transaction ownership.
  • When you confirm transaction ownership, the needMasking attribute is set to false, and the fullName field appears in the applicant and counterparty objects.

📘

Note

Mind that travelRuleInfo.status still has the unconfirmedOwnership value 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"
}
Language
Credentials
Header
Click Try It! to start a request and see the response here!