Skip to main content

Overview

The capital[] array in an Enhanced Profile reports each shareholding as a percentage of its own share class. An owner who holds shares in three classes appears as three figures, each relative to one class. The shareholding summary combines those figures into one entry per owner, calculated across every class the owner holds. It also tells you whether the profile alone shows who owns at or above an ownership threshold. If a corporate shareholder could change the result, use Ownership Discovery in the UBO Verify API to trace that shareholder down to individuals.

Request the summary

Add shareholdingSummary to the extend query parameter on GET or POST /v2/companies/{kyckrId}/enhanced:
shareholdingSummary alone uses a threshold of 25. To choose another threshold, request shareholdingSummary:<n>, where <n> is 5, 10, 15, 20 or 25:
Each request carries one threshold. Names are case-insensitive and extension types combine, for example extend=geocoding,shareholdingSummary:5. On POST, the option goes in the query string:
The result is in the order download, at additionalInformation.shareholdingSummary:
A GET that returns 202 with an orderId carries the same option. The summary is in that order download once the order completes.

Unsupported requests

An unsupported threshold, such as shareholdingSummary:30, returns HTTP 400 with this detail:
Requesting shareholdingSummary more than once returns HTTP 400 with this detail:
A 400 does not place an order and does not incur a charge.

Owners

owners[] has one entry per distinct owner across all capital classes, sorted by ownershipPercentage from highest to lowest. Owners without an ownershipPercentage follow, ordered by name and then identifier. ownershipPercentage is the headline figure. ownershipPercentageBasis names where it came from: An exact figure is used before a range. When both lenses are exact the higher is used. When neither is exact the higher upper end is used. A tie goes to share count. ownershipPercentage and ownershipPercentageBasis are omitted when neither lens has a figure. Such an owner makes the outcome Indeterminate with the reason OwnerPercentageUnknown. matchedBy names the field that grouped an owner’s holdings across classes: IdNumber, RegistrationNumber or Name.

Two percentages

  • shareCountPercentage is the owner’s combined share count divided by the company’s total share count.
  • valuePercentage weights the same holdings by nominal capital value.
The two differ when share classes differ in value per share. Value per share is constant within a class, so an owner’s value in a class is their share of the class value in proportion to their shares. Neither percentage is voting power. Classes can carry different voting or economic rights. shareCountPercentage also carries quota percentages where a company issues quotas rather than shares, for example an Italian S.r.l. Each percentage uses the same shape. exact is set when one figure is known. minimum and maximum carry a range when only a bound is known. original carries the value as the register filed it.

Classes and joint holdings

byClass[] lists one entry for each share class an owner holds, with the class percentage, count, value and sourceName, the holder name exactly as filed. A holding shared between parties with no disclosed split is a joint holding. Each joint holder is credited with the full holding, so figures across owners and corporateHoldingTotal can add up to more than 100. hasJointHoldings marks the owner and jointlyHeld marks the class entry.

Investigation reasons

investigationReasons explains why an owner’s figures can be partial or approximate. requiresInvestigation is true when the list is not empty. The two lenses are independent. An owner can have an exact figure on one lens while the other lens carries a reason.

Beneficial ownership resolution

beneficialOwnershipResolution carries the threshold it was evaluated at and an outcome: reasons[] explains the outcome: corporateHoldingTotal is the sum of ownershipPercentage across corporate owners. individualsAtOrAboveThreshold lists the identifier of each individual at or above the threshold. individualsWithinReach lists the identifier of each individual below it who would reach it with corporateHoldingTotal added. Two things shape the result. Name matching can split one person across two owner entries. shareholderType is the register classification.

Example

A company has two share classes. Class A holds Ordinary Shares with the higher value per share. Class B holds Preference Shares. The request uses the default threshold of 25.
Jane Example holds only Class A and the count is disclosed. Both lenses are exact. Her share count percentage is 25 and her value percentage is 33.33, because a Class A share carries twice the nominal value of a Class B share. John Sample’s Class A holding discloses no percentage and no count. His Class B holding discloses a percentage of 30 and no count. The Class B portion converts to 15 by share count and 10 by value. The Class A portion can add up to 50 percentage points by share count and 66.67 by value, which is Class A’s weight on each lens. The result is a range of 15 to 65 by share count and 10 to 76.67 by value. ShareCountUnknown and ValueUnknown record why. Neither lens is exact, so ownershipPercentage is 76.67 with the basis ValueBound, the highest figure he could hold by value. He is listed in individualsAtOrAboveThreshold on that basis. Example Holdings Ltd is the only corporate owner at 7.5, below the threshold of 25. Carol Sample holds 20. With corporateHoldingTotal added her figure reaches 27.5, which is at or above the threshold, so the outcome is FurtherResolutionRequired with the reason CorporateHoldingsCouldLiftIndividual.

Additional resources