There is a lot of variation in how information for businesses is stored in various datasources, countries and jurisdictions due to local norms. As a result, the information received by Trulioo and previously displayed to you could have a lot of variability and unpredictability which made it difficult for API programmers to consume these responses across multiple geographies.
With the launch of Standardized Fields in KYB, you can expect more predictable and uniform responses to your business verification requests, making it easier to interpret results across all countries and jurisdictions as well as build streamlined internal processes on top of.
Once your account configurations are updated to standardized datasource variants, you will be able to view the new responses across normalized API (NAPI) as well as on Customer Portal.
Standardized Complex Objects
The new Standardized Complex Objects are JSON objects which allow for the information received to be stored in a structured format. A Standardized Complex Object will have a defined format in terms of one or more properties and their associated values. These are hierarchical, so properties fall under their parent Standardized Complex Object and can be repeated in case multiple records exist.
Example:
Complex Object “Super Heroes” defined as
Properties -
{
Name : “String”,
Age : Number,
Secret Identity : “Name”,
}
Example Response
"Super Heroes":
[
{
"Name":"Superman",
"Age":35,
"Secret Identity":"Clark Kent"
},
{
"Name":"Spiderman",
"Age":20,
"Secret Identity":"Peter Parker"
}
]
The details of the new standardized Complex Objects are outlined below. Please note, not all the properties mentioned below will be returned in every verification, this will depend on the configured country and underlying datasource.
{
"StandardizedRegistrationNumbers": [
{
"Number": "859557977",
"Type": "Tax ID Number - BN9",
"UsedForMatching": true
},
{
"Number": "123456789RC0001",
"Type": "Federal Business Number",
"UsedForMatching": true
},
{
"Number": "987654321",
"Type": "Business Registration Number",
"UsedForMatching": false
},
{
"Number": "1122334455",
"Type": "Ontario Corporation Number (OCN)",
"UsedForMatching": null
}
]
}
Standardized Business Names
Root Object: StandardizedBusinessNames
Purpose:
Encapsulates a list of business names along with type classifications. Helps consumers understand what names were used and returned during the KYB match process.
Field | Type | Descriptiopn |
---|---|---|
StandardizedBusinessName | List | A collection of business name entries |
Object: StandardizedBusinessName
Represents a single business name record with associated metadata.
JSON Property | Type | Descriptiopn |
---|---|---|
Name | string | The business name string |
Type | string | A label describing the origin or purpose of the name (see types below) |
UsedForMatching | bool | Indicates if the name was used in the entity matching process |
Types of Business Names
The following values are valid for the Type field. They help categorize whether a name was provided as input or returned by a registry, and what format it was in.
Type Value | Descriptiopn |
---|---|
Input Business Name | Original business name provided as input |
Input Tradestyle Name | Input trade or operating name |
Returned Business Name | Registry-returned business name |
Returned Registered Name | Registry-returned legally registered name |
Returned Alternate Name | Alternate name returned from registry |
Translated Input Name | Input name translated into another language |
Transliterated Input Name | Input name transliterated (e.g., from another script) |
Translated Returned Name | Returned name translated |
Transliterated Returned Name | Returned name transliterated |
Returned Previous Name | Previously registered name |
Returned Tradestyle Name | Registry-returned tradestyle or DBA |
Matched Name based on IRS Name Control | A derived match against U.S. IRS name controls |
You can use the following helper logic (implemented in StandardizedBusinessNameType
) to categorize a name:
IsReturnedType
(string type) → true if the type is from registry data.IsInputType
(string type) → true if the name was provided by the user or system.
Example Response
{
"StandardizedBusinessName": [
{
"Name": "Trulioo Information Services Inc.",
"Type": "Input Business Name",
"UsedForMatching": true
},
{
"Name": "Trulioo",
"Type": "Returned Tradestyle Name",
"UsedForMatching": true
},
{
"Name": "Trulioo (Canada)",
"Type": "Returned Alternate Name",
"UsedForMatching": false
},
{
"Name": "Trulioo信息服务有限公司",
"Type": "Translated Returned Name",
"UsedForMatching": false
},
{
"Name": "Trulioo Information Services Inc.",
"Type": "Matched Name based on IRS Name Control",
"UsedForMatching": true
}
]
}
Standardized Communication
Purpose:Contains a list of communication values like phone numbers, emails, and websites, categorized by type.
Field | Type | Description |
---|---|---|
StandardizedCommunication | List | A collection of contact methods for the business or its employees |
Object: StandardizedCommunication
Represents a single contact value with a classification type.
JSON Property | Type | Description |
---|---|---|
Value | string | The communication value (e.g., phone number, email address, website URL) |
Type | string | Type of communication (see predefined types below) |
Valid Type
Values
Defined in StandardizedCommunicationType, these describe the context or ownership of the communication data:
Value | Description |
---|---|
Website | Official company or organizational website |
General business email | |
Telephone | General business phone number |
Fax | Fax number |
Primary business email | Main email contact for business inquiries |
Primary business mobile | Mobile phone designated for business use |
Contact information listed name | Name listed with public contact info |
Contact information listed mobile | Mobile phone listed publicly |
Contact information listed email | Public email listed for contact |
Employee Email | Email belonging to an employee |
Employee Phone | Phone number associated with an employee |
Example Response
{
"StandardizedCommunication": [
{
"Value": "https://www.trulioo.com",
"Type": "Website"
},
{
"Value": "[email protected]",
"Type": "Primary business email"
},
{
"Value": "+1-604-900-1111",
"Type": "Telephone"
},
{
"Value": "+1-604-900-2222",
"Type": "Primary business mobile"
},
{
"Value": "[email protected]",
"Type": "Employee Email"
},
{
"Value": "+1-604-900-3333",
"Type": "Employee Phone"
},
{
"Value": "[email protected]",
"Type": "Contact information listed email"
}
]
}
Standardized Directors Officers
Root Object: StandardizedDirectorsOfficers
This is the root object that contains a list of standardized director/officer entries.
Field | Type | Description |
---|---|---|
StandardizedDirectorsOfficers | Array of StandardizedDirectorOfficer | A list of director/officer objects |
Object: StandardizedDirectorOfficer
Each entry represents a single person or organization in a director/officer role.
JSON Property | Type | Description |
---|---|---|
GivenName | string | First name of the individual (if applicable) |
Surname | string | Last name of the individual (if applicable) |
FullName | string | Complete name of the individual or organization |
AlternateFullName | string | Alternate or additional full name used |
DateOfBirth | string | Date of birth (for individuals only) |
FullAddress | string | Address split into components; can be joined into one string |
Position | string | Original position title (e.g., "Director", "CEO") |
StandardizedPosition | string | Normalized version of the position for consistency |
Designation | string | Title or label used in source documents |
StandardizedDesignation | string | Unified designation label for analysis |
Type | string | Type of entity: Individual, Business, Foreign Entity, or Unknown |
Status | string | Status of the role: Active or Resigned |
BeginDate | string | Start date of this role |
EndDate | string | End date of this role (if applicable) |
Percentage | string | Ownership or control percentage (exact value) |
PercentageRange | string | Ownership/control expressed as a range (e.g., "25–50%") |
IsCorporate | string | Indicates if the entity is a corporation (true /false ) |
NationalIDNumber | string | National identification number, if available |
Example Response
{
"StandardizedDirectorsOfficers": [
{
"GivenName": "Jane",
"Surname": "Doe",
"FullName": "Jane Doe",
"AlternateFullName": "J. A. Doe",
"DateOfBirth": "1980-07-12",
"FullAddress": [
"123 Main Street",
"Suite 400",
"Vancouver",
"BC",
"Canada",
"V5K 0A1"
],
"Position": "Chief Executive Officer",
"StandardizedPosition": "CEO",
"Designation": "Director",
"StandardizedDesignation": "Director",
"Type": "Individual",
"Status": "Active",
"BeginDate": "2015-03-01",
"EndDate": null,
"Percentage": "45",
"IsCorporate": "false",
"PercentageRange": "25-50%",
"NationalIDNumber": "A123456789",
"AlternateFullName": "J. A. Doe"
},
{
"GivenName": null,
"Surname": null,
"FullName": "Acme Holdings Ltd.",
"AlternateFullName": null,
"DateOfBirth": null,
"FullAddress": [
"456 Business Rd",
"London",
"United Kingdom",
"WC2N 5DU"
],
"Position": "Corporate Director",
"StandardizedPosition": "Director",
"Designation": "Legal Representative",
"StandardizedDesignation": "Corporate Entity",
"Type": "Business",
"Status": "Resigned",
"BeginDate": "2017-01-15",
"EndDate": "2022-06-30",
"Percentage": "30",
"IsCorporate": "true",
"PercentageRange": "25-50%",
"NationalIDNumber": "GB987654321",
"AlternateFullName": null
}
]
}
Standardized Filings
Root Object: StandardizedFilings
Purpose:Holds a list of standardized filing entries. Each entry corresponds to a single event, disclosure, or record from a regulatory body or legal source.
Field | Type | Description |
---|---|---|
Filings | List | A collection of individual filing records |
Object: StandardizedFiling
Represents the metadata and content of a single filing or disclosure record.
Field | Type | Description |
---|---|---|
FilingCategory | string | High-level category (e.g., "Financial", "Legal", "Compliance") |
FilingType | string | Specific type of filing (e.g., "Annual Return", "Tax Lien") |
FilingDescription | string | Additional details or summary of the filing |
FilingReference | string | Reference ID or filing number (registry or internal) |
FilingStartDate | string | The start date of the filing period (ISO-8601 or string) |
FilingEndDate | string | The end date of the filing period (optional) |
FilingAmount | string | Amount related to the filing (e.g., financial penalties or capital values) |
FilingAmountCurrency | string | Currency code for the amount (e.g., "USD", "CAD") |
FilingRolePlayers | string | People or organizations involved in the filing and their roles |
Object: FilingRolePlayer
Describes a party involved in the filing — typically a person, business, or entity associated with the case.
Field | Type | Description |
---|---|---|
Name | string | Full name of the entity or individual |
RoleDescription | string | Their role in the filing (e.g., "Plaintiff", "Respondent", "Registered Agent") |
Address1 | string | Street address or primary location info |
City | string | City of the role player |
StateProvince | string | State or province of the role player |
PostalCode | string | Postal code or ZIP code |
Country | string | Country of the role player (usually ISO-3166 or full name) |
Example Response - US
{
"Filings": [
{
"FilingCategory": "Legal",
"FilingType": "Tax Lien",
"FilingDescription": "Lien filed by CRA due to outstanding tax debt",
"FilingReference": "TLN-CA-2023-001",
"FilingStartDate": "2023-04-01",
"FilingEndDate": "2023-09-30",
"FilingAmount": "12000.00",
"FilingAmountCurrency": "CAD",
"FilingRolePlayers": [
{
"Name": "Trulioo Information Services Inc.",
"RoleDescription": "Respondent",
"Address1": "123 Main Street",
"City": "Vancouver",
"StateProvince": "BC",
"PostalCode": "V5K 0A1",
"Country": "Canada"
},
{
"Name": "Canada Revenue Agency",
"RoleDescription": "Filer",
"Address1": "200 Kent Street",
"City": "Ottawa",
"StateProvince": "ON",
"PostalCode": "K1A 0L5",
"Country": "Canada"
}
]
},
{
"FilingCategory": "Financial",
"FilingType": "Annual Return",
"FilingDescription": "Annual return filed for fiscal year 2024",
"FilingReference": "AR-2024-TRU",
"FilingStartDate": "2024-01-01",
"FilingEndDate": "2024-12-31",
"FilingAmount": "0.00",
"FilingAmountCurrency": "CAD",
"FilingRolePlayers": [
{
"Name": "Trulioo Information Services Inc.",
"RoleDescription": "Registrant",
"Address1": "123 Main Street",
"City": "Vancouver",
"StateProvince": "BC",
"PostalCode": "V5K 0A1",
"Country": "Canada"
}
]
}
]
}
Standardized Incorporation Details
Object: StandardizedIncorporationDetails
Purpose:Encapsulates the full incorporation profile of a business, including jurisdiction, dates, legal form, and estimated company age.
Field | Type | Description |
---|---|---|
JurisdictionOfIncorporation | string | Jurisdiction where the entity is officially incorporated (e.g., "Delaware" ) |
HomeJurisdiction | string | Jurisdiction where the business is primarily based (may differ from incorporation) |
PlaceOfRegistration | string | Specific registry or location (e.g., "Companies House, UK" ) |
BusinessLegalForm | string | Standardized description of the business legal form (e.g., "Limited Liability Company" ) |
OriginalBusinessLegalForm | string | Legal form in its original format (e.g., "Société à responsabilité limitée" ) |
DayOfIncorporation | string | Day of incorporation (e.g., "15" ) |
MonthOfIncorporation | string | Month of incorporation (e.g., "08" ) |
YearOfIncorporation | string | Year of incorporation (e.g., "2012" ) |
DerivedBusinessAgeInMonths | string | Business age, calculated in months (e.g., "152" ) |
DayOfIssue | string | Day a certificate or related record was issued (e.g., "01" ) |
MonthOfIssue | string | Month of issuance |
YearOfIssue | string | Year of issuance |
EmployeeCount | string | Approximate or reported number of employees |
TerminationDate | string | Date the business was terminated or dissolved (if applicable) |
Example Response
{
"JurisdictionOfIncorporation": "Delaware",
"HomeJurisdiction": "United States",
"PlaceOfRegistration": "Delaware Division of Corporations",
"BusinessLegalForm": "Limited Liability Company",
"OriginalBusinessLegalForm": "LLC",
"DayOfIncorporation": "15",
"MonthOfIncorporation": "08",
"YearOfIncorporation": "2012",
"DerivedBusinessAgeInMonths": "152",
"DayOfIssue": "01",
"MonthOfIssue": "09",
"YearOfIssue": "2012",
"EmployeeCount": "150",
"TerminationDate": null
}
Standardized Industries
Root Object: StandardizedIndustries
Purpose:Encapsulates a list of industry codes that describe the business domain or activities of a legal entity.
Field | Type | Description |
---|---|---|
StandardizedIndustries | List | A collection of industry classification records |
Object: StandardizedIndustry
Represents a single industry code and its associated classification system and descriptions.
JSON Property | Type | Description |
---|---|---|
Code | string | Industry classification code (e.g., 541611 , C82990 ) |
CodeType | string | Source of the code (e.g., NAICS , NACE , SIC ) |
Description | string | Brief name of the industry or category |
DetailedDescription | string | Extended definition or explanation of the industry code |
Example Response
{
"StandardizedIndustries": [
{
"Code": "541611",
"CodeType": "NAICS",
"Description": "Administrative Management and General Management Consulting Services",
"DetailedDescription": "This industry comprises establishments primarily engaged in providing advice and assistance to businesses and other organizations on administrative management issues, such as financial planning, budgeting, human resources, marketing strategies, and production scheduling."
},
{
"Code": "C82990",
"CodeType": "NACE",
"Description": "Other business support service activities n.e.c.",
"DetailedDescription": "Includes support activities for businesses not elsewhere classified, such as document preparation, customer contact centers, and miscellaneous administrative support services."
}
]
Standardized Locations
Purpose:Encapsulates a list of standardized location records that describe the physical or mailing presence of an entity.
Property | Type | Description |
---|---|---|
StandardizedLocations | List | A collection of business addresses and location metadata |
Object: StandardizedLocation
Represents a single address or location record with full geographic and classification context.
JSON Property | Type | Description |
---|---|---|
LocationType | string | Category of the location (see predefined values below) |
Address1 | string | Full formatted street address |
BuildingName | string | Name of the building, if applicable |
BuildingNumber | string | Number of the building |
UnitNumber | string | Apartment, suite, or unit number |
StreetName | string | Street name (excluding number or type) |
StreetType | string | Street type (e.g., Avenue, Blvd) |
City | string | City or locality |
StateProvinceCode | string | State or province code (e.g., “BC”) |
PostalCode | string | ZIP or postal code |
CountryCode | string | ISO 3166-1 alpha-2 country code (e.g., “CA”, “US”) |
County | string | County or administrative division |
POBox | string | PO Box number if applicable |
BusinessEntityType | string | Legal form or business entity classification at this location |
RegistrationNumber | string | Local registration number (if tied to this location) |
EstablishmentStatus | string | Status (e.g., Active, Inactive, Pending) |
UsedForMatching | string | Indicates whether this location was used during entity matching |
Predefined LocationType
Values
Defined in StandardizedLocationType. These categorize the purpose of each address:
Value | Description |
---|---|
Primary Address | Main or head office |
Secondary Address | Secondary location or branch |
Mailing Address | Designated for correspondence |
Registered Address | Official registered address with a government body |
Alternative Communication Address | Optional contact address |
Previous Address | Former address |
Employee Address | Address associated with an employee |
Operational Address | Physical operational site |
Not Specified | No specific type assigned |
Example Response
{
"StandardizedLocations": [
{
"LocationType": "Registered Address",
"Address1": "123 Main Street, Suite 400, Vancouver, BC, V5K 0A1, Canada",
"BuildingName": "Innovation Tower",
"BuildingNumber": "123",
"UnitNumber": "400",
"StreetName": "Main",
"StreetType": "Street",
"City": "Vancouver",
"StateProvinceCode": "BC",
"PostalCode": "V5K 0A1",
"CountryCode": "CA",
"County": "Metro Vancouver",
"POBox": null,
"BusinessEntityType": "Corporation",
"RegistrationNumber": "123456789",
"EstablishmentStatus": "Active",
"UsedForMatching": true
},
{
"LocationType": "Operational Address",
"Address1": "789 Industrial Park Rd, Edmonton, AB, T5J 3E9, Canada",
"BuildingName": null,
"BuildingNumber": "789",
"UnitNumber": null,
"StreetName": "Industrial Park",
"StreetType": "Rd",
"City": "Edmonton",
"StateProvinceCode": "AB",
"PostalCode": "T5J 3E9",
"CountryCode": "CA",
"County": null,
"POBox": null,
"BusinessEntityType": "Subsidiary",
"RegistrationNumber": null,
"EstablishmentStatus": "Pending",
"UsedForMatching": false
}
]
}
Standardized Metadata
Root Object: StandardizedMetadata
Contains:
- List of sources contributing to the data.
- Attribution statement.
- A timeline of data updates, categorized by type.
Field | Type | Description |
---|---|---|
Sources | List | Names or identifiers of data sources |
AttributionStatement | string | Legal or formal statement on data usage or licensing |
UpdateData | List | A list of metadata entries indicating what type of data was updated and when |
Object: UpdateData
Represents one metadata update entry, including the type of update and the date it occurred.
Field | Type | Description |
---|---|---|
Year | string | The year part of the date |
Month | string | The month part of the date |
Day | string | (Optional) The day part of the date |
Behavior:
- Supports partial dates (e.g., only year and month).
- Serializes to JSON with all parts as strings.
Enum: UpdateTypeEnum
These are predefined types of update categories:
Enum Value | JSON Value | Description |
---|---|---|
CompanyProfileLastUpdate | "CompanyProfileLastUpdate" | Indicates latest company profile update |
DirectorsOfficersLastUpdate | "DirectorsOfficersLastUpdate" | Indicates last update to director/officer information |
OwnershipLastUpdate | "OwnershipLastUpdate" | Indicates update to ownership or shareholders data |
DataRetrievalDate | "DataRetrievalDate" | Timestamp for when the data was retrieved |
Example Response
{
"Sources": [
"Business Registry X",
"Public Filings Database Y"
],
"AttributionStatement": "Data provided under license from Registry X and Y. Use restricted to compliance purposes.",
"UpdateData": [
{
"Type": "CompanyProfileLastUpdate",
"Date": {
"Year": "2023",
"Month": "11",
"Day": "05"
}
},
{
"Type": "DirectorsOfficersLastUpdate",
"Date": {
"Year": "2024",
"Month": "01"
}
},
{
"Type": "OwnershipLastUpdate",
"Date": {
"Year": "2024",
"Month": "04",
"Day": "17"
}
},
{
"Type": "DataRetrievalDate",
"Date": {
"Year": "2025",
"Month": "05",
"Day": "14"
}
}
]
}
Standardized Registration Numbers
Purpose:Encapsulates a list of standardized registration numbers used for verification and compliance processes.
Field | Type | Description |
---|---|---|
StandardizedRegistrationNumbers | List | A collection of business registration identifiers |
Object: StandardizedRegristrationNumber
Represents a single business registration number, including its type and an optional flag to indicate matching relevance.
JSON Property | Type | Description |
---|---|---|
Number | string | The actual registration number (e.g., tax ID, incorporation number) |
Type | string | A label indicating the kind of registration number (see list below) |
UsedForMatching | bool (nullable) | Optional flag to indicate if the number was used during entity matching |
Matching Behavior
UsedforMarching
can betrue
,false
, ornull
- Omission or
null
means unknown or not evaluated during matching
Valid Registration Number Types
Defined in StandardizedRegistrationNumberType
, these describe what kind of number is represented:
Type Value | Description |
---|---|
Business Registration Number | General legal identifier of the business |
Tax ID Number | Taxpayer Identification Number (e.g., EIN, TIN) |
Tax ID Number - BN9 | Canadian 9-digit Business Number |
Provincial Business Number | Jurisdiction-specific number issued at the province/state level |
Federal Business Number | Issued at the federal/national level |
Ontario Corporation Number (OCN) | Corporation number issued by Ontario registry |
Business Identification Number (BIN) | BIN or other jurisdictional identifiers |
Example Response
{
"StandardizedRegistrationNumbers": [
{
"Number": "859557977",
"Type": "Tax ID Number - BN9",
"UsedForMatching": true
},
{
"Number": "123456789RC0001",
"Type": "Federal Business Number",
"UsedForMatching": true
},
{
"Number": "987654321",
"Type": "Business Registration Number",
"UsedForMatching": false
},
{
"Number": "1122334455",
"Type": "Ontario Corporation Number (OCN)",
"UsedForMatching": null
}
]
}
Standardized Share Capital
Root Object: StandardizedShareCapitals
Purpose:Encapsulates a list of share capital declarations—each with amount, type, and currency.
Field | Type | Description |
---|---|---|
StandardizedShareCapitals | List | A collection of share capital entries for the business |
Object: StandardizedShareCapital
Represents one declaration of share capital with monetary and classification context.
JSON Property | Type | Description |
---|---|---|
CapitalAmount | float | The numeric value of the declared capital |
CapitalType | string | Type of capital being declared (see list below) |
Currency | string | Currency name or symbol used for the amount |
Valid CapitalType
Values
Defined in StandardizedShareCapitalType
:
Value | Description |
---|---|
Authorised Capital | Maximum capital a company is allowed to raise (per charter or regulation) |
Paid Up Capital | Capital that shareholders have fully paid to the company |
Paid-In Capital | Capital received from investors in exchange for stock |
Registered Capital | Official capital reported during registration (used in some jurisdictions) |
Valid Currency
Values
Defined in StandardizedShareCapitalCurrency
(examples shown):
Code | Description |
---|---|
INR | Indian Rupees |
CNY | Chinese Yuan |
The Currency
value is represented as a full name, not a 3-letter ISO code.
Example Response
{
"StandardizedShareCapitals": [
{
"CapitalAmount": 1000000.00,
"CapitalType": "Authorised Capital",
"Currency": "Indian Rupees"
},
{
"CapitalAmount": 500000.00,
"CapitalType": "Paid Up Capital",
"Currency": "Indian Rupees"
},
{
"CapitalAmount": 300000.00,
"CapitalType": "Paid-In Capital",
"Currency": "Chinese Yuan"
}
]
}
Standardized Stock Exchanges
Root Object: StandardizedStockExchanges
Purpose:Encapsulates a list of public listings, each representing a stock ticker and its associated exchange.
Field | Type | Description |
---|---|---|
StandardizedStockExchanges | List | A collection of public listings (tickers and exchanges) associated with the company |
Object: StandardizedStockExchange
Each entry represents a single listing of the business on a stock exchange.
JSON Property | Type | Description |
---|---|---|
Ticker | string | Public ticker symbol used to trade the company’s stock (e.g., "TRU" ) |
Exchange | string | Name of the stock exchange (e.g., "NASDAQ" , "TSX" ) |
Country | string | Full country name where the exchange is based (e.g., "United States" ) |
Example Response
{
"StandardizedStockExchanges": [
{
"Ticker": "TRU",
"Exchange": "NASDAQ",
"Country": "United States"
},
{
"Ticker": "TRUL",
"Exchange": "Toronto Stock Exchange",
"Country": "Canada"
}
]
}
Standardized Company Ownership Hierarchy
Root Object: CompanyOwnershipHierarchy
Purpose:Provides a full ownership map for an entity, including:
- A list of UBO nodes
- A list of relationships (branches)
- A summary of ownership metrics
- The company ownership objects will be comprised of the following two objects:
Property | Type | Description |
---|---|---|
Ownerships | List | All individuals and companies involved in ownership or control |
Relationships | List | Edges defining ownership/control links between nodes |
OwnershipSummary | CompanyOwnershipSummary | Computed metrics summarizing the tree |
Node: CompanyOwnership
Describes an individual or organization involved in ownership/control.## Ownerships Object Field Mapping
Field | Type | Description |
---|---|---|
UniqueId | string | Internal ID for referencing in the relationship tree |
VendorId | string | ID from the original data provider |
FullName / GivenName / Surname | string | Name components |
BeneficiaryType | string | Nature of the control (e.g., Beneficial Owner, Shareholder) |
BusinessEntityType | string | One of: Individual, Business, Unknown |
FullAddress | string | Array of address strings |
City, StateProvinceCode, PostalCode, CountryCode | string | Address breakdown |
Nationality, DateOfBirth, ResidenceCountry | string | Personal attributes for individuals |
LegalAuthority, LegalForm | string | Legal definitions or governance |
IsOutOfBusiness | bool | Whether the entity is defunct |
ControlOwnershipType | string | Describes how control is exercised |
ControlOwnershipConfidenceLevel | string | Confidence in control classification |
DegreeOfSeparation | int | Distance from root business |
Shares, DirectOwnershipPercentage, IndirectOwnershipPercentage, BeneficialOwnershipPercentage | float | Reported ownership metrics |
InferredDirectOwnershipPercentage, InferredIndirectOwnershipPercentage, InferredBeneficialOwnershipPercentage | float | Inferred values where data was not available |
OwnershipNotes, OwnershipUnavailableReason | string | Additional context |
IsCorporate | string | Whether the entity is a corporation |
NationalIDNumber | string | National identifier, if known |
Status | string | Status of the individual (e.g., Active, Resigned) |
Relationship: CompanyOwnershipRelationship
Describes a link from a parent to a child UBO in the ownership tree.
Field | Type | Description |
---|---|---|
ParentUniqueId | string | Unique ID of the upstream (controlling) entity |
TargetUniqueId | string | Unique ID of the controlled entity |
Type | string | Type of relationship (e.g., Shareholding, Extended Connection) |
SharePercentage | float | Direct ownership percent at this level |
InferredSharePercentage | float | Imputed ownership due to incomplete data |
ControlType, ControlClass, ControlReason | string | Qualitative descriptions of influence or control |
IsDirectControl | bool | Whether the relationship implies direct control |
ControlStartDate, ControlEndDate | DateTime | Duration of control period |
RelationshipNotes | string | Free-form notes or explanation |
Summary: CompanyOwnershipSummary
Computed from the ownership tree. Ignores nodes with "Extended Connection" and the "Root Business" type.
Field | Type | Description |
---|---|---|
TotalOwnershipCount | int | Total number of ownership nodes (excluding extended links) |
MaximumDegreeOfSeparation | int | Furthest distance from the root |
TotalAllocatedOwnershipPercentage | float | Sum of direct + indirect ownership percentages |
OrganizationsCount | int | Count of entities with BusinessEntityType = Business |
IndividualsCount | int | Count of individuals |
UnknownsCount | int | Entities not classified as individual or business |
Example Response
{
"Ownerships": [
{
"UniqueId": "1",
"VendorId": "ROOT-001",
"FullName": "Trulioo Information Services Inc.",
"BusinessEntityType": "Business",
"BeneficiaryType": "Root Business",
"DegreeOfSeparation": 0
},
{
"UniqueId": "2",
"VendorId": "IND-123",
"FullName": "Jane Doe",
"GivenName": "Jane",
"Surname": "Doe",
"BusinessEntityType": "Individual",
"BeneficiaryType": "Beneficial Owner",
"Shares": 1000,
"DirectOwnershipPercentage": 50,
"DegreeOfSeparation": 1,
"DateOfBirth": "1980-04-12",
"CountryCode": "CA",
"Nationality": "Canadian"
},
{
"UniqueId": "3",
"VendorId": "BUS-456",
"FullName": "Global Holdings Ltd.",
"BusinessEntityType": "Business",
"BeneficiaryType": "Shareholder",
"IndirectOwnershipPercentage": 25,
"DegreeOfSeparation": 2
}
],
"Relationships": [
{
"ParentUniqueId": "1",
"TargetUniqueId": "2",
"Type": "Direct",
"SharePercentage": 50,
"IsDirectControl": true
},
{
"ParentUniqueId": "1",
"TargetUniqueId": "3",
"Type": "Indirect",
"InferredSharePercentage": 25,
"IsDirectControl": false
}
]
}