Table of Contents
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 undercorrespondenceAddressbecomes 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.
