Submit transactions in bulk

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Use this method to import the list of transactions.

The method expects transactions to be uploaded as a valid NDJSON file with the Content-Type: application/x-ndjson header. The request body must contain a sequence of JSON objects, each representing a single transaction, separated by newline characters (\n) as shown in the examples below.

You can use the following templates as a reference:

🚧

Attention

  • This method is not intended for importing historical transactions. Use Import transaction history
    instead.
  • Import is limited to 1000 records per session.
  • Duplicate transactions are ignored.

Request examples

curl -X POST \
  'https://api.sumsub.com/resources/kyt/misc/txns/import' \
  -H 'Content-Type: application/x-ndjson' \
  -H 'X-App-Token: <your-app-token>' \
  -H 'X-App-Access-Sig: <your-signature>' \
  -H 'X-App-Access-Ts: <unix-timestamp>' \
  -d $'{
          "applicantId": "636cee6b17d6c7000144673b",
          "data": {
            "txnId": "631f268442d8290001e1eee8_newTxn",
            "applicant": {
              "externalUserId": "uniqueRemitterId",
              "address": {
                "country": "DEU",
                "street": "Chauseestr. 60",
                "postCode": "101115",
                "town": "Berlin"
              },
              "device": {
                "ipInfo": {
                    "ip": "87.141.63.130"
                }
              },
              "institutionInfo": {
                "code": "DEUTDEDB101",
                "name": "Deutsche Bank"
              }
            },
            "counterparty": {
              "externalUserId": "uniqueBeneficiaryId",
              "fullName": "John Smith",
              "fullNameEn": "John Smith",
              "type": "individual",
              "institutionInfo": {
                "code": "CRESCHZZXXX",
                "name": "Credit Swiss (Schweiz)"
              }
            },
            "info": {
              "direction": "in",
              "amount": 101.42,
              "currencyCode": "GBP",
              "paymentDetails": "Birthday Present"
            }
          }
    }\n{
          "applicantId": "636cee6b17d6c7000144673b",
          "data": {
            "txnId": "631f268442d8290001e1eee9_newTxn",
            "applicant": {
              "externalUserId": "uniqueRemitterId",
              "address": {
                "country": "DEU",
                "street": "Chauseestr. 60",
                "postCode": "101115",
                "town": "Berlin"
              },
              "institutionInfo": {
                "code": "DEUTDEDB101",
                "name": "Deutsche Bank"
              }
            },
            "counterparty": {
              "externalUserId": "uniqueBeneficiaryId",
              "fullName": "John Smith",
              "fullNameEn": "John Smith",
              "type": "individual"
            },
            "info": {
              "direction": "out",
              "amount": 101.42,
              "currencyCode": "GBP",
              "paymentDetails": "Birthday Present"
            }
          }
      }'
curl -X POST \
  'https://api.sumsub.com/resources/kyt/misc/txns/importHistory' \
  -H 'Content-Type: application/x-ndjson' \
  -H 'X-App-Token: <your-app-token>' \
  -H 'X-App-Access-Sig: <your-signature>' \
  -H 'X-App-Access-Ts: <unix-timestamp>' \
  -d $'{
         "applicantId": "636cee6b17d6c7000144673b",
         "data": {
            "txnId": "631f268442d8290001e1eee8_newTxn",
            "applicant": {
               "externalUserId": "uniqueRemitterId",
               "address": {
                  "country": "DEU",
                  "street": "Chauseestr. 60",
                  "postCode": "101115",
                  "town": "Berlin"
               },
               "device": {
                  "ipInfo": {
                     "ip": "87.141.63.130"
                  }
               },
               "institutionInfo": {
                  "code": "DEUTDEDB101",
                  "name": "Deutsche Bank"
               }
            },
            "counterparty": {
               "externalUserId": "uniqueBeneficiaryId",
               "fullName": "John Smith",
               "type": "individual",
               "institutionInfo": {
                  "code": "CRESCHZZXXX",
                  "name": "Credit Swiss (Schweiz)"
               }
            },
            "info": {
               "direction": "in",
               "amount": 101.42,
               "currencyCode": "GBP",
               "paymentDetails": "Birthday Present"
            }
         },
         "review": {
            "reviewResult": {
               "reviewAnswer": "GREEN"
            },
            "reviewStatus": "completed"
         },         
         "tags": [
            "test tag",
            "test tag 2"
         ]
    }\n{
         "applicantId": "636cee6b17d6c7000144673b",
         "data": {
            "txnId": "631f268442d8290001e1eee9_newTxn",
            "applicant": {
               "externalUserId": "uniqueRemitterId",
               "address": {
                  "country": "DEU",
                  "street": "Chauseestr. 60",
                  "postCode": "101115",
                  "town": "Berlin"
               },
               "institutionInfo": {
                  "code": "DEUTDEDB101",
                  "name": "Deutsche Bank"
               }
            },
            "counterparty": {
               "externalUserId": "uniqueBeneficiaryId",
               "fullName": "John Smith",
               "type": "individual"
            },
            "info": {
               "direction": "out",
               "amount": 101.42,
               "currencyCode": "GBP",
               "paymentDetails": "Birthday Present"
            }
         },
         "review": {
            "reviewStatus": "onHold"
         },         
         "tags": [
            "test tag",
            "test tag 2"
         ]
      }'

Response explained

If the request is successfully sent and processed, you will get a response indicating the number of bets successfully processed.

Response example to successful request:

{
    "createdCnt": 2
}

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error.

Response example to failed request:

{
  "code": 400,
  "correlationId": "c9eab02f4e77c2385866a77a105cb48a",
  "description": "Can't parse lines 1, first error: data.applicant: must not be null, data.txnId: must not be null"
}

Query Params
boolean
Defaults to false
  • true — all valid transactions will be created and returned, errors will be ignored during the processing and listed in the response.
  • false (default) — valid transactions will be created up to the first detected error. The response will only contain the error on which the processing was interrupted.
boolean
Defaults to true

Allows you to control whether scoring should be run on imported transactions or not:

  • true (default) — start scoring after import.
  • false — do not start scoring after import.

Body Params
string
required

Unique identifier of the applicant who passed user verification (KYC) in the Sumsub system.

This identifier is a random combination of 24 digits and lowercase Latin characters. It is automatically generated when the applicant is created on the Sumsub side, and can be found in the Dashboard.

If the applicantId is unknown to you, use the Get applicant data (externalUserId) method to fetch it.

data
object
required

Object that represents the transaction. For more information on the structure, see this article.

tags
array of strings

Tags to add (one tag per string).

Mind the following:

  • You can only add tags that are created and stored in the Dashboard settings.
  • Tag names are case sensitive. For example, Suspicious and suspicious are considered different.

tags
review
object

Includes the details of the transaction status and check result.

⚠️ To pass the review object, set the scoreSavedTxns parameter to false.

Headers
string
required
Defaults to application/x-ndjson
Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here!