View Categories

User — Add Additional Data

1 min read

User – Add Additional Data #

Submits the extended KYC/Risk questionnaire collected from the user (source of funds, account purpose, addresses, geolocation, etc.). This call is mandatory before triggering external identification.

Endpoint #

POST https://api-test.10npay.com/User/add-additional-data

Headers #

  • Authorization: Bearer <access_token>
  • Content-Type: application/json

Request Body #

{
  "id": 2077,
  "additionalData": {
    "type": "EnrollAdditionalData",
    "data": {
      "userId": 2077,
      "BTrustAppCallBackId": "",
      "isCorrespondenceAddressSame": true,
      "sourceOfFundId": "8",
      "residenceAddressZipCode": "1000",
      "correspondenceAddress": {
        "addressLine": "",
        "city": "",
        "stateProvinceCounty": "",
        "zipCode": "",
        "countryId": "BG"
      },
      "secondaryLanguage": "BUL",
      "taxResidences": "BG",
      "gender": "M",
      "accountPurposeCode": "1",
      "mainActivityCode": "1",
      "financingMethodCode": "2",
      "enrollIP": "203.0.113.24",
      "enrollLatitude": 42.6975,
      "enrollLongitude": 23.3241,
      "enrollChannel": "M"
    }
  }
}

Field Reference #

Field Description
id, additionalData.data.userId User identifier (keep both in sync). Required.
additionalData.type Contract marker. Use "EnrollAdditionalData".
BTrustAppCallBackId Optional string from the later identification callback.
isCorrespondenceAddressSame If false, populate correspondenceAddress with full details.
sourceOfFundId, accountPurposeCode, mainActivityCode, financingMethodCode Codes retrieved from GET /User/source-of-funds, /account-purpose, /main-activity, /financing-method.
secondaryLanguage, taxResidences, gender Strings (ISO codes / policy-supported values).
residenceAddressZipCode Postal code (validated via GET /User/{zip}/{country}/postal-code-by-country).
enrollIP, enrollLatitude, enrollLongitude, enrollChannel Device/geolocation metadata captured at enrollment time.

Responses #

  • 200 OK — data stored successfully.
  • 400 Bad Request — validation failure (missing codes, invalid postal data, etc.).
  • 401 Unauthorized — missing/expired Bearer token.
  • 404 Not Found — unknown user.
  • 5xx Server Error — transient backend issue.

Notes #

  • Call the lookup endpoints first to populate dropdowns (Account Purpose, Source of Funds, Main Activity, Financing Method, Countries).
  • When isCorrespondenceAddressSame = false, every field under correspondenceAddress becomes mandatory.
  • Ensure you capture the user’s IP and geolocation once (e.g., via the mobile SDK) and include them here.
  • This step must succeed before invoking any identification endpoints.