DOCUMENTATION / OWNERSHIP & GROUP STRUCTURE

Company Ownership & Group Structure Reference

OpenAPI 3.1 ↗

Inspect shareholder attributes, ownership percentages and corporate group structure. Understand source availability and the limits of UBO interpretation.

BASE URLhttps://companyproof.ai/v2JSON · Bearer authentication

OWNERSHIP · PEOPLE, HOLDINGS & RELATIONSHIPS

Understand the holding and the corporate hierarchy.

CompanyProof returns shareholder records and group relationships as separate modules inside the company profile.

CompanyProof API
One profile. Two complementary modules.

Use profile.shareholders for returned holdings and profile.group_structures_full for corporate relationships. Shareholder records and group links do not themselves constitute a calculated UBO result.

ILLUSTRATIVE SHAREHOLDING

Example Holdings Ltd

Shareholder
Example Parent Ltd
Quantity
7,500
Share class
ORDINARY
Reported percentage
Not supplied

Share quantity alone is insufficient to calculate ownership without the total issued shares and relevant share classes.

ILLUSTRATIVE GROUP STRUCTURE
Example Parent Ltdselected: false
Example Holdings Ltdselected: true
Example Services Ltdselected: false

Each children[] array repeats the company-node shape. Keep the module’s source category with the relationships.

Exact CompanyProof ownership attributes

17 of 17 entries
Attribute pathTypePresenceDetails
idinteger | string | nullOptionalReturned field; availability depends on the record.
namestring | nullOptionalReturned field; availability depends on the record.
currencystring | nullOptionalReturned field; availability depends on the record.
percentagenumber | string | nullOptionalReturned field; availability depends on the record.
quantitynumber | string | nullOptionalReturned field; availability depends on the record.
share_pricenumber | string | nullOptionalReturned field; availability depends on the record.
share_typestring | nullOptionalReturned field; availability depends on the record.
share_valuenumber | string | nullOptionalReturned field; availability depends on the record.
statusstring | nullOptionalReturned field; availability depends on the record.
total_valuenumber | string | nullOptionalReturned field; availability depends on the record.
sourceobject | nullOptionalExpand using the nested attributes listed below.
source.categoryProfileSourcestring | nullOptionalSource class, such as Government Registry, Enriched or Modelled.
source.commentProfileSourcestring | nullOptionalReturned field; availability depends on the record.
source.idProfileSourceinteger | string | nullOptionalProvider source identifier. Upstream records can encode identifiers as integers or strings.
source.nameProfileSourcestring | nullOptionalReturned field; availability depends on the record.
source.urlProfileSourcestring | nullOptionalSource URL when it can be disclosed; otherwise null. Format: uri.
source.retrieved_atProfileSourcestring | nullOptionalFormat: date-time.

Paths are relative to the selected schema; $ means the schema value itself. Required applies when its parent object exists. null, an absent field and an empty list are different values. Alternative response shapes are labelled.

Standalone ownership API reference

Global Database direct API The linked ownership API uses GET /v2/ownership/{id}. This route is not exposed by CompanyProof. The following paths and example types describe that separate response.

Attribute pathType evidenceMeaning
shareholders[]arrayShareholder records returned by the direct ownership endpoint.
shareholders[].idnumber in exampleShareholder record identifier.
shareholders[].namestring in exampleShareholder’s returned name.
shareholders[].quantitynumber in exampleNumber of shares.
shareholders[].currencystring in exampleCurrency of the holding.
shareholders[].share_valuestring in exampleSource description of the holding and share value.
shareholders[].created_atdate-time string in exampleTimestamp on the shareholder record; not necessarily an acquisition date.
shareholders[].share_typestring in exampleShare class.
shareholders[].share_pricenumber in examplePrice per share.
dataarray; item schema unspecifiedThe published example contains an empty array; no item contract is given.
group_structure[]arrayTop-level group nodes.
group_structure[].idnumber in exampleCompany node identifier.
group_structure[].registration_numberstring in exampleCompany registration number.
group_structure[].selectedboolean in exampleMarks the company selected for the query.
group_structure[].namestring in exampleCompany node name.
group_structure[].children[]recursive node arrayChild nodes use the same id, name, registration_number, selected and children fields.
registration_numberstring in exampleRegistration number of the queried company.

The direct ownership reference supplies an example, rather than a complete typed schema. Requiredness and nullability are not specified. Its created_at field is not part of CompanyProof’s documented shareholder schema.

Source: Global Database Ownership API · reviewed 2026-09-08