Add applicant as beneficiary

Adds an existing applicant as a beneficiary to the company profile.

Overview

Use this method to add an existing applicant in the Sumsub system to the control and ownership structure of a company. You can add both an individual and a company applicant as a beneficiary to the company profile.

Adding an applicant as a beneficiary to the company does not affect the verification status of one another as they are independent. For example, the applicant X in the pending status is added as a beneficiary to the company applicant Y that is already verified and has the completed status. The applicant X is staying in pending until the verification is over and the verdict is returned. The status of the company applicant Y does not change.

📘

Note

For information on creating an applicant, refer to this method.

Request example

curl -X POST \
  'https://api.sumsub.com/resources/applicants/5e9412223cc1813b4db0b0e3/info/companyInfo/beneficiaries' \
  -H 'Content-Type: application/json' \
  -d '{
          "applicant": {
              "id": "5f6490a55584b510013e87df"
          },
          "applicantId": "5f6490a55584b510013e87df",
          "positions": [
            "director",
            "shareholder"
          ],
          "type": "ubo"
      }'

Response explained

If the request is successfully sent and processed, you will get a JSON file that contains the object representing the newly created beneficiary. The following table explains the fields available within this (beneficiary) object.

FieldTypeDescription
idStringAutogenerated key for all KYB 2.0 beneficiaries.
applicantIdStringApplicant identifier of the beneficiary in the Sumsub system.
positionsArray of stringsPositions in the company that the beneficiary is holding.
Possible values:
  • director — an individual that is appointed to manage the company business and affairs.
  • shareholder — an individual that owns shares in the company stock.
  • other — position that does not meet the two above.
typeStringBeneficiary single role in the company control and ownership structure.
Possible values:
  • ubo — ultimate beneficial owner of the company.
  • shareholder — owns shares in the company stock.
  • representative — authorized to act or speak for or in support of the company.
  • director — appointed to manage the company business and affairs.
inRegistryBooleanMatching to a Corporate registry.
  • true — found in the registry.
  • false — not found.
  • null — unknown
imageIdsArray of stringsImage IDs represent a document uploaded. If imageIds array contains more than one element, the first one would be the front side and the others — back sides.
applicantObjectStructure to create a new beneficiary.
shareSizeDoublePercentage of ownership if the beneficiary is a shareholder of the company.
typesArray of stringsList of beneficiary roles for the new data structure, when one entity may have multiple roles. Possible values:
  • ubo — ultimate beneficial owner of the company.
  • shareholder — owns shares in the company stock.
  • representative — authorized to act or speak for or in support of the company.
  • director — appointed to manage the company business and affairs.
beneficiaryInfoObjectStructure that contains the beneficiary contact data.

beneficiaryInfo attributes

The following table explains the beneficiaryInfo attributes representing the beneficiary contact data.

FieldTypeDescription
firstNameStringFirst name of the beneficiary.
lastNameStringLast name of the beneficiary.
dobDateBeneficiary date of birth.
emailStringBeneficiary email address.
taxResidenceCountryStringCountry where the beneficiary pays taxes. Presented as an alpha-3 code (for example, DEU, GBR, ARG, and so on).

Response example

{
  "id": null,
  "applicantId": "63e096c51b6b400000000000",
  "positions": [
    "shareholder",
    "other"
  ],
  "type": "shareholder",
  "inRegistry": null,
  "imageIds": null,
  "applicant": {
    "id": "63e096c51b6b4030f2e01154",
    "createdAt": "2023-02-06 05:57:25",
    "clientId": "someCoolId",
    "inspectionId": "63e096c51b6b400000000000",
    "externalUserId": "11111111111111",
    "sourceKey": "newSourceKey",
    "info": {
      "firstName": "John",
      "firstNameEn": "John",
      "lastName": "Doe",
      "lastNameEn": "Doe"
    },
    "email": "[email protected]",
    "phone": "+44 123456789",
    "requiredIdDocs": {
      "docSets": [
        {
          "idDocSetType": "IDENTITY",
          "types": [
            "ID_CARD"
          ]
        },
        {
          "idDocSetType": "PHONE_VERIFICATION"
        },
        {
          "idDocSetType": "EMAIL_VERIFICATION"
        }
      ]
    },
    "deleted": false,
    "review": {
      "reviewId": "TBJoW",
      "attemptId": "KLUSg",
      "attemptCnt": 0,
      "levelName": "basic-kyc-level",
      "createDate": "2024-06-17 08:34:37+0000",
      "reviewStatus": "pending"
    },
    "lang": "en",
    "type": "individual"
  },
  "shareSize": null,
  "types": null,
  "beneficiaryInfo": null
}

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

For example:

{
  "description": "Malformed data provided in the request",
  "code": 400,
  "correlationId": "62825afad452fb4007534e1529f000e5"
}
Language
Authorization
Header
Click Try It! to start a request and see the response here!