---
title: "Enhanced Profile"
method: GET
path: "/companies/{kyckrId}/enhanced"
tags: ["Companies"]
---

# Enhanced Profile

`GET /companies/{kyckrId}/enhanced`

## Request

- Base URL: `https://api.kyckr.com/v2`
- URL: `https://api.kyckr.com/v2/companies/{kyckrId}/enhanced`
- Auth: HTTP bearer

Retrieve an enhanced company profile. The server holds the connection open while the registry fulfils the request. If the profile is ready in time, it is returned with HTTP 200. If not, HTTP 202 is returned with an orderId in the response body; poll GET /orders/{orderId} to retrieve the profile when complete. For production and high-volume integrations, POST is preferred: it returns an orderId immediately with no server-side connection hold, avoiding infrastructure cost at scale.

The profile includes (where filed in structured form at the registry):

- Registration Information (Lite Profile + expanded details where available)
- Share capital structure
- Company Officials (incl. Directors) – including function, date of birth and address.
- Shareholders (Beneficial owners) – including share count, share percentage and ID information.
- Ultimate Beneficial Owners – where filed in structured form.

## Query parameters

- `showDirectorships` boolean
- `customerReference` string
- `extend` string

## Response `200`

OK

- object
  - `orderId` string: The related orderId.
  - `correlationId` string: The related correlationId to this request, for support purposes.
  - `customerReference` string: A customer provided reference, which appears in the order list.
  - `timeStamp` string, date-time: The UTC time at which the request occurred.
  - `details` string: The response status details for the current request.
  - `cost` Cost: Cost of an item
    - `type` 'credit' | 'lite'
    - `value` number
  - `links` object
    - `self` string, uri-reference
  - `data` EnhancedProfile: Basic company information
    - `activities` Activity[]: Industry classifications for the company
      - `code` string: Activity code
      - `description` string: Description of activity
      - `classificationScheme` 'NACE' | 'NACErev2' | 'NACErev2.1' | 'SIC' | 'SIC07' | 'NAICS': Classification scheme, for example NAICS or NACErev2
      - `type` 'Primary' | 'Secondary': Primary or secondary activity
    - `activityDeclarations` ActivityDeclaration[]: Full text declarations of the company's business purpose as stated in the registry
      - `declaration` string: The full text of the activity declaration from the registry (e.g., the company's stated business purpose from articles of incorporation)
      - `declarationDescription` string: The section heading or label from the registry document indicating where this declaration appears (e.g., "Objet social", "Business Purpose")
      - `language` string: Language code of the declaration text (e.g., 'fr', 'en')
    - `addresses` Address[]: Addresses for the company
      - `identifier` string, nullable: Stable identifier for this address instance within the profile. Use to cross-reference into the additionalInformation.addressInformation array.
      - `type` string: Type of address, for example "Head Office" or "Registered Address"
      - `fullAddress` string: The full address as a single string
      - `rawAddressLines` string[]: An array of address lines as retrieved from the registry
      - `buildingName` string: Name of building, e.g. "The Chrysler Building"
      - `streetNumber` string: Number portion of street address, e.g. "18", "21A"
      - `streetName` string: Street name
      - `city` string: City or town
      - `postcode` string: Primary postal code
      - `municipality` string: Administrative sub-region, for example a French commune or US county
      - `region` string: Administrative region for example a US state or UK county
      - `country` string: Country
      - `isoCode` string: Jurisdiction code in ISO 3166 alpha-2
      - `secondaryPostalCode` string: A secondary postal code, for example a CEDEX
    - `totalCapital` object: Total share capital summary as reported by the registry. This value represents what the registry provides and may be authorized capital, issued capital, or nominal capital - the specific type is often not explicitly stated by registries. This summary is commonly available even when detailed share class breakdowns in the `capital` array are not provided. When the `capital` array is populated with share classes, the sum of `capital[].totalNominalValue` may represent the issued capital. The sum of shareholdings across all capital classes can also represent the issued capital, though this may not always equal `totalCapital.totalValue` if the registry reports authorized capital instead.
      - `totalValue` number: Total share capital amount as reported by the registry. This may represent authorized capital, issued capital, or nominal capital depending on what the registry provides. The specific type is typically not distinguished in registry data.
      - `quantity` number: Total number of shares as reported by the registry. This represents the aggregate number of shares across all share classes when available from the registry.
      - `currency` string: Currency of the capital amount. If multiple currencies exist in the `capital` array, this represents the primary currency or the currency used for the total calculation as reported by the registry.
      - `type` 'Fixed' | 'Variable' | 'Registered': Capital structure type. `Fixed` and `Variable` indicate whether share capital can vary. `Registered` indicates the registry reports registered-capital amount (rather than authorized or paid-in), used primarily for CN / JP / VN entities. See [Normalised values](/documentation/useful-information/normalised-values) for definitions.
    - `capital` Capital[]: Array of share capital classes for the company. Each class represents a different type of share with its own details including state, code, title, number of shares, and amounts.
      - `type` string: Deprecated. Use classCode instead.
      - `description` string: Deprecated. Use classDescription instead.
      - `classCode` string: Class code of capital instrument
      - `classDescription` string: Description of capital class
      - `quantity` number: Number of shares in class/category (when available)
      - `unitNominalValue` number: Nominal value of each unit (i.e. each share)
      - `totalNominalValue` number: Total nominal value of shares in class/category
      - `currency` string: Currency of recorded capital
      - `capitalAttributes` CapitalAttributes: Capital amounts for a capital class as the registry reports them. Shareholdings are based on issued shares, not on these amounts.
        - `registeredCapital` CapitalAmount: A capital amount and its currency
          - `amount` number: Capital amount
          - `currency` string: Currency of the amount
          - `quantity` number: Number of shares that the amount relates to, for example the authorised share count. The `quantity` on the capital class entry is the issued share count.
        - `authorisedCapital` CapitalAmount: A capital amount and its currency
          - `amount` number: Capital amount
          - `currency` string: Currency of the amount
          - `quantity` number: Number of shares that the amount relates to, for example the authorised share count. The `quantity` on the capital class entry is the issued share count.
        - `paidUpCapital` CapitalAmount: A capital amount and its currency
          - `amount` number: Capital amount
          - `currency` string: Currency of the amount
          - `quantity` number: Number of shares that the amount relates to, for example the authorised share count. The `quantity` on the capital class entry is the issued share count.
      - `votingRights` string: A text description of voting rights from the registry
      - `shareholdings` Shareholding[]: Array of shareholdings for the class
        - `percentage` string, nullable: Percentage of class/category that this shareholding represents. Null when ownership is expressed as a range (use percentageIsRange, percentageRange, percentageLowerLimit, percentageUpperLimit instead).
        - `percentageIsRange` boolean: When true, the holding is expressed as a range and percentage is null. Use percentageRange, percentageLowerLimit and percentageUpperLimit for the range.
        - `percentageRange` string, nullable: Human-readable percentage range when the registry provides a range rather than a single value (e.g. "0-100%"). Present when percentageIsRange is true.
        - `percentageLowerLimit` string, nullable: Lower bound of the percentage range as a numeric string (e.g. "0"). Present when percentageIsRange is true.
        - `percentageUpperLimit` string, nullable: Upper bound of the percentage range as a numeric string (e.g. "100"). Present when percentageIsRange is true.
        - `count` number: Number of shares held in class/category (when available)
        - `totalNominalValue` number: Total nominal value of shares in class/category
        - `currency` string
        - `beneficiallyHeld` boolean: In some jurisdictions a share holding may not be beneficially held for the indicated shareholders and needs to be investigated.
        - `shareholders` object: If multiple entries, the indicated shareholders have a joint holding of this shareholding with an unknown split.
          - `corporations` union[]: Array of shareholders that are corporations, or unknown legal entities depending on available data from the registry.
            - union
              - …
          - `individuals` union[]: Array of shareholders that are individuals, or unknown legal entities depending on available data from the registry.
            - union
              - …
    - `representatives` object
      - `corporations` union[]: Array of representatives that are corporations, or unknown legal entities depending on available data from the registry.
        - union
          - CorporationRepresentative: Any type of incorporated entity
            - `type` 'Corporation', required: Corporation type representative
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `registrationNumber` string: Company registration number in home registry
            - `registrationDate` NormalizedDate
              - …
            - `registrationAuthority` string: Registration Authority
            - `registeredAddress` Address: Standardised shared model for addresses
              - …
            - `otherIdentifiers` Identifier[]: Additional identifiers with their standardized type codes for this corporate entity
              - …
            - `englishName` string, nullable: English name of the corporation, when the source sends one that differs from the name in `name`. `name` holds the name as the registry sends it.
            - `natureOfControl` string[]: Nature of control of representative
            - `startDate` object: The date when the corporation became a beneficial owner. May not be available in all jurisdictions as some only record notification dates.
              - …
            - `notifiedDate` object: The date when the beneficial ownership was officially notified to the registry. This is often the only date available in beneficial ownership registers, representing when the ownership was declared rather than when it began.
              - …
            - `endDate` object: The date when the corporation ceased to be a beneficial owner. Only present for historical records.
              - …
            - `role` object
              - …
            - `isActive` boolean: True if officer is currently in post
            - `directorships` Directorship[]: List of directors roles at other companies
              - …
            - `powers` string[]: List of descriptions of officer's powers as described at source
          - OtherRepresentative: Description of a single representative of a company that cannot be definitively mapped to Individual or Corporation
            - `type` 'Other', required: Type of representative
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `role` object
              - …
            - `startDate` NormalizedDate
              - …
            - `endDate` NormalizedDate
              - …
            - `isActive` boolean: True if officer is currently in post
            - `directorships` Directorship[]: List of directors roles at other companies
              - …
            - `powers` string[]: List of descriptions of officer's powers as described at source
      - `individuals` union[]: Array of representatives that are individuals, or unknown legal entities depending on available data from the registry.
        - union
          - IndividualRepresentative: A natural person as opposed to a legal person/corporation
            - `type` 'Person', required: Person type representative
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `birthdate` object: Director's date of birth. The precision of this field matches what is available at the registry source. For UK companies, dates are normalized to ISO 8601 format (YYYY-MM) when only month and year are available. The normalized field will reflect the precision available at the registry and will not introduce additional precision.
              - …
            - `nationality` string: Nationality
            - `placeOfBirth` Address: Standardised shared model for addresses
              - …
            - `placeOfResidence` Address: Standardised shared model for addresses
              - …
            - `englishName` string, nullable: English name of the person, when the source sends one that differs from the name in `name`. `name` holds the name as the registry sends it.
            - `role` object
              - …
            - `startDate` NormalizedDate
              - …
            - `endDate` NormalizedDate
              - …
            - `isActive` boolean: True if officer is currently in post
            - `directorships` Directorship[]: List of directors roles at other companies
              - …
            - `powers` string[]: List of descriptions of officer's powers as described at source
          - OtherRepresentative: Description of a single representative of a company that cannot be definitively mapped to Individual or Corporation
            - `type` 'Other', required: Type of representative
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `role` object
              - …
            - `startDate` NormalizedDate
              - …
            - `endDate` NormalizedDate
              - …
            - `isActive` boolean: True if officer is currently in post
            - `directorships` Directorship[]: List of directors roles at other companies
              - …
            - `powers` string[]: List of descriptions of officer's powers as described at source
    - `ultimateBeneficialOwners` object: Information about Ultimate Beneficial Owners (UBOs) sourced from official beneficial ownership registers when integrated into company registers where available (e.g., UK's Persons of Significant Control register).
      - `individuals` union[]: Array of individuals identified as Ultimate Beneficial Owners
        - union
          - IndividualUBO: Details of an individual identified as an Ultimate Beneficial Owner from official beneficial ownership registers
            - `type` 'Person', required: Person type UBO
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `birthdate` object: Director's date of birth. The precision of this field matches what is available at the registry source. For UK companies, dates are normalized to ISO 8601 format (YYYY-MM) when only month and year are available. The normalized field will reflect the precision available at the registry and will not introduce additional precision.
              - …
            - `nationality` string: Nationality
            - `placeOfBirth` Address: Standardised shared model for addresses
              - …
            - `placeOfResidence` Address: Standardised shared model for addresses
              - …
            - `natureOfControl` string[]: List of nature of control of UBO
            - `startDate` object: The date when the individual became a beneficial owner. May not be available in all jurisdictions as some only record notification dates.
              - …
            - `notifiedDate` object: The date when the beneficial ownership was officially notified to the registry. This is often the only date available in beneficial ownership registers, representing when the ownership was declared rather than when it began.
              - …
            - `endDate` object: The date when the individual ceased to be a beneficial owner.
              - …
            - `kind` string: [FUTURE] The kind of individual UBO
          - OtherUBO: Details of an individual identified as an Ultimate Beneficial Owner from official beneficial ownership registers
            - `type` 'Other', required: Type of UBO
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `natureOfControl` string[]: List of nature of control of UBO
            - `startDate` object: The date when the individual became a beneficial owner. May not be available in all jurisdictions as some only record notification dates.
              - …
            - `notifiedDate` object: The date when the beneficial ownership was officially notified to the registry. This is often the only date available in beneficial ownership registers, representing when the ownership was declared rather than when it began.
              - …
            - `endDate` object: The date when the individual ceased to be a beneficial owner.
              - …
      - `corporations` union[]: Array of corporations identified as Ultimate Beneficial Owners
        - union
          - CorporationUBO: Details of a corporate entity identified as an Ultimate Beneficial Owner from official beneficial ownership registers
            - `type` 'Corporation', required: Corporation type
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `registrationNumber` string: Company registration number in home registry
            - `registrationDate` NormalizedDate
              - …
            - `registrationAuthority` string: Registration Authority
            - `registeredAddress` Address: Standardised shared model for addresses
              - …
            - `otherIdentifiers` Identifier[]: Additional identifiers with their standardized type codes for this corporate entity
              - …
            - `natureOfControl` string[]: Nature of control
            - `startDate` object: The date when the corporation became a beneficial owner. May not be available in all jurisdictions as some only record notification dates.
              - …
            - `notifiedDate` object: The date when the beneficial ownership was officially notified to the registry. This is often the only date available in beneficial ownership registers, representing when the ownership was declared rather than when it began.
              - …
            - `endDate` object: The date when the corporation ceased to be a beneficial owner. Only present for historical records.
              - …
            - `kind` string: [FUTURE] The kind of corporation UBO
          - OtherUBO: Details of an individual identified as an Ultimate Beneficial Owner from official beneficial ownership registers
            - `type` 'Other', required: Type of UBO
            - `idNumber` string: Identification number assigned to representative
            - `name` string: Full Name
            - `address` Address: Standardised shared model for addresses
              - …
            - `natureOfControl` string[]: List of nature of control of UBO
            - `startDate` object: The date when the individual became a beneficial owner. May not be available in all jurisdictions as some only record notification dates.
              - …
            - `notifiedDate` object: The date when the beneficial ownership was officially notified to the registry. This is often the only date available in beneficial ownership registers, representing when the ownership was declared rather than when it began.
              - …
            - `endDate` object: The date when the individual ceased to be a beneficial owner.
              - …
    - `contactDetails` ContactDetails
      - `email` string: Primary email address for company
      - `fax` string: Primary fax number for company
      - `telNumber` string: Primary phone number for company
      - `website` string: Primary website address for company
    - `companyRelationships` CompanyRelationship[]: Array of relationships between this company and other companies
      - `relationship` 'Subsidiary' | 'Merged' | 'Demerged' | 'Acquired' | 'Other': Type of relationship (subsidiaries; or evolution history – merged, demerged, acquired)
      - `company` object: Details of the related company
        - `kyckrId` string: Kyckr ID of the related company
        - `companyName` string: Name of the related company
        - `companyNumber` string: Registration number of the related company
      - `effectiveDate` string, date: Date when the relationship became effective
      - `description` string: Additional description or details about the relationship
    - `links` object
      - `document` string, uri-reference
      - `data` string, uri
    - `registrationType` string: If present, indicates that the original foundational legal entity registration is at another register (the source register).
    - `registrationTypeDetails` object: Additional details in relation to the registration type, if registrationType is set.
      - `originalCode` string: Non standard code for the source registry.
      - `originalDescription` string: Description text for the source registry.
      - `normalizedCode` string: ISO code for the country, province or state of the source registry.
      - `normalizedDescription` string: Country and state description of the foreign registry.
    - `additionalInformation` AdditionalInformation: Additional enriched information for the profile. Only populated when an extension type is requested via the `extend` query parameter.
      - `addressInformation` AddressAdditionalInformation: Parsed and geocoded address variants for all addresses in the profile. Populated when the `geocoding` extension type is requested via the `extend` query parameter.
        - `addresses` AddressGroup[]: Array of address groups, one per unique source address. Each group contains parsed and/or geocoded variants and references to the entities in the profile that use this address.
          - `identifier` string: Matches the `identifier` on the source Address object. Use to correlate address groups with their corresponding addresses in the profile.
          - `variants` Address[]: Address representations derived from this source address. May include parsed variants (structured decomposition of the raw address) and geocoded variants (resolved via Google Maps, indicated by "Geocoded (Exact Match)" or "Geocoded (Partial Match)" type). Multiple parsed variants may exist where different parsers produce different results. Parsed and geocoded variants indicated by the 'Type' property
            - `identifier` string, nullable: Stable identifier for this address instance within the profile. Use to cross-reference into the additionalInformation.addressInformation array.
            - `type` string: Type of address, for example "Head Office" or "Registered Address"
            - `fullAddress` string: The full address as a single string
            - `rawAddressLines` string[]: An array of address lines as retrieved from the registry
            - `buildingName` string: Name of building, e.g. "The Chrysler Building"
            - `streetNumber` string: Number portion of street address, e.g. "18", "21A"
            - `streetName` string: Street name
            - `city` string: City or town
            - `postcode` string: Primary postal code
            - `municipality` string: Administrative sub-region, for example a French commune or US county
            - `region` string: Administrative region for example a US state or UK county
            - `country` string: Country
            - `isoCode` string: Jurisdiction code in ISO 3166 alpha-2
            - `secondaryPostalCode` string: A secondary postal code, for example a CEDEX
          - `sources` InformationSource[]: References to the entities in the profile that use this address.
            - `entityName` string: Display name of the entity (company name or person name).
            - `entityType` string: Type of entity (e.g. "Company", "Individual Representative").
            - `context` string: The address type context (e.g. "Registered Address", "Service Address").
            - `path` string: JSON path to the source address within the profile response.
      - `shareholdingSummary` ShareholdingSummaryAdditionalInformation: Each owner's combined shareholding across every share class, with one beneficial ownership resolution. Returned when the `shareholdingSummary` extension type is requested. See the [developer news article](/company-v2/developer-news/2026-11-shareholding-summary) for a worked example.
        - `owners` ShareholdingSummaryOwner[]: One entry per distinct owner, sorted by `ownershipPercentage` from highest to lowest. Owners without an `ownershipPercentage` follow, ordered by `name` then `identifier`.
          - `identifier` string: Identifier of this owner within `shareholdingSummary`. Referenced by `individualsAtOrAboveThreshold` and `individualsWithinReach`.
          - `name` string: Owner name. Where holdings were filed under differently written names, `byClass[].sourceName` carries each spelling.
          - `shareholderType` 'Person' | 'Corporation' | 'Other': Type of owner as classified by the register.
          - `idNumber` string, nullable: Identification number used to match this owner across classes.
          - `registrationNumber` string, nullable: Registration number used to match a corporate owner across classes.
          - `matchedBy` 'IdNumber' | 'RegistrationNumber' | 'Name': The field that grouped this owner's holdings across classes. `Name` is a lightly normalised name match, used when no identifier is disclosed.
          - `totalShareCount` number, nullable: Shares held across every class. Absent when a contributing count is unknown.
          - `shareCountPercentage` object, nullable: Percentage of the company by share count, weighted across all classes. Also carries quota percentages where a company issues quotas, for example an Italian S.r.l. Not voting power. `original` is not set.
            - `exact` number, nullable: Exact percentage to two decimal places.
            - `minimum` number, nullable: Lower end of the range.
            - `maximum` number, nullable: Upper end of the range.
            - `exclusiveMinimum` boolean: True when the lower end is excluded.
            - `exclusiveMaximum` boolean: True when the upper end is excluded.
            - `original` string, nullable: The value as the register filed it, for example 25-50%.
          - `valuePercentage` object, nullable: Percentage of the company by nominal capital value, weighted across all classes. Value per share is constant within a class, so a holding is valued in proportion to the class value. Can differ from `shareCountPercentage` when share classes differ in value per share. Not voting power. `original` is not set.
            - `exact` number, nullable: Exact percentage to two decimal places.
            - `minimum` number, nullable: Lower end of the range.
            - `maximum` number, nullable: Upper end of the range.
            - `exclusiveMinimum` boolean: True when the lower end is excluded.
            - `exclusiveMaximum` boolean: True when the upper end is excluded.
            - `original` string, nullable: The value as the register filed it, for example 25-50%.
          - `ownershipPercentage` number, nullable: Headline percentage to two decimal places, taken from the lens named by `ownershipPercentageBasis`. An exact figure is used before a bound. When both lenses are exact the higher is used. When neither is exact the higher `maximum` is used. A tie goes to share count. Omitted when neither lens has a figure, which makes the outcome `Indeterminate` with the reason `OwnerPercentageUnknown`.
          - `ownershipPercentageBasis` 'ShareCountExact' | 'ValueExact' | 'ShareCountBound' | 'ValueBound', nullable: The lens and figure behind `ownershipPercentage`. `ShareCountExact` and `ValueExact` are the `exact` figure. `ShareCountBound` and `ValueBound` are the `maximum`. Omitted together with `ownershipPercentage`.
          - `hasJointHoldings` boolean: True when a contributing holding is jointly held with no disclosed split. Each joint holder is credited in full, so totals across owners can exceed 100.
          - `investigationReasons` string[]: Why this owner's figures can be partial or approximate. - `JointHolding` means a holding is jointly held with no disclosed split. - `ShareCountUnknown` means the share count lens cannot be computed exactly. - `ValueUnknown` means the value lens cannot be computed exactly. - `BandOnlyPercentage` means a holding percentage is disclosed as a range. - `ClassWeightUnknown` means a class percentage cannot be converted to a company percentage because the class weight is not known. - `NameMatch` means holdings were grouped by name, so holdings filed under a differently written name can appear as a separate owner. Compare `byClass[].sourceName`.
          - `requiresInvestigation` boolean: True when `investigationReasons` is not empty.
          - `byClass` ShareholdingSummaryClassContribution[]: This owner's contribution from each share class.
            - `classCode` string, nullable: Matches `Capital.classCode`.
            - `classDescription` string, nullable: Matches `Capital.classDescription`.
            - `percentage` object, nullable: Percentage of the class, not of the company, as the register discloses it. `exact` for a point figure, `minimum` and `maximum` for a band. `original` carries the disclosed value as filed.
              - …
            - `count` number, nullable: Shares held in this class.
            - `value` number, nullable: Nominal value held in this class. Taken from the source when disclosed per holding, otherwise the class value per share multiplied by the shares held.
            - `jointlyHeld` boolean: True when the holding is shared with other parties and no split is disclosed. Each joint holder is credited the full `count` and `value`.
            - `sourceName` string, nullable: The holder name exactly as filed on this holding.
        - `beneficialOwnershipResolution` ShareholdingSummaryResolution: Whether this profile alone shows who owns at or above `threshold`. Name matching can split one person across two owner entries, and `shareholderType` is the register classification.
          - `threshold` 5 | 10 | 15 | 20 | 25: The ownership threshold evaluated, as requested in `extend`. 25 when `shareholdingSummary` is requested without a threshold.
          - `outcome` 'ResolvedFromProfile' | 'FurtherResolutionRequired' | 'Indeterminate': `ResolvedFromProfile` when this profile alone shows who owns at or above `threshold`. `FurtherResolutionRequired` when a corporate holding could change who is at or above it. Use Ownership Discovery in the UBO Verify API to trace corporate shareholders down to individuals. `Indeterminate` when the profile cannot support the assessment.
          - `reasons` string[]: Why `outcome` was reached. `OwnerPercentageUnknown` comes first when present, followed by the reason for the remaining owners. - `NoShareholdingData` means the profile discloses no shareholders, so `owners` is empty. - `OwnerPercentageUnknown` means at least one owner has no figure on either lens, and the outcome is `Indeterminate`. - `NoCorporateShareholders` means every owner is an individual. - `CorporateHoldingsAtOrAboveThreshold` means `corporateHoldingTotal` is at or above `threshold`. - `CorporateHoldingsCouldLiftIndividual` means an individual below `threshold` would reach it with `corporateHoldingTotal` added, and those owners are listed in `individualsWithinReach`. - `CorporateHoldingsCannotLiftAnyone` means `corporateHoldingTotal` is below `threshold` and no individual would reach it.
          - `corporateHoldingTotal` number: The sum of `ownershipPercentage` across corporate owners. It can exceed 100 because joint holders are each credited in full.
          - `individualsAtOrAboveThreshold` string[]: The `identifier` of each individual owner whose `ownershipPercentage` is at or above `threshold`.
          - `individualsWithinReach` string[]: The `identifier` of each individual owner below `threshold` who would reach it with `corporateHoldingTotal` added.
    - `identifiers` object
      - `primaryRegistrationNumber` string: Primary corporate registration number
      - `taxNumber` string: Deprecated, use otherIdentifiers instead
      - `secondaryRegistrationNumber` string: Deprecated, use otherIdentifiers instead
      - `otherIdentifiers` Identifier[]: Additional identifiers with their standardized type codes
        - `value` string: The identifier value
        - `type` string: The standardized type code for this identifier
    - `companyName` string: Company name in original language
    - `tradingName` string: Deprecated. Use aliases instead.
    - `englishName` string: Company name in English, if available
    - `aliases` AlternativeNames[]: Alternative company names
      - `name` string: Alternative company names
      - `type` string: Type of name, e.g. Trading Name, Business Name
    - `previousNames` PreviousNames[]: Previous company names
      - `name` string: Previous company name
      - `startDate` NormalizedDate
        - `original` string: Date as formatted at registry source
        - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
      - `endDate` NormalizedDate
        - `original` string: Date as formatted at registry source
        - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `registrationAuthority` string: Name of authority where the company is registered, e.g. KVK, Companies House
    - `source` RegisterSource: Information about the register the profile data was extracted from.
      - `notices` RegisterNotice[]: Notices that the register provides with its data.
        - `text` string, required: The notice exactly as the register provides it.
        - `origin` string, required: Who the notice comes from, such as the register's short name.
        - `displayRequired` boolean: When true, the notice must be shown wherever the data is presented.
      - `extractedAt` string, date-time, nullable: When Kyckr took this extract from the register: Kyckr's clock, distinct from `dataAsOfDate`. May be null where the source pipeline does not stamp it.
      - `dataAsOfDate` string, date, nullable: Date the register itself states the data is current as of: the register's own clock. Null where a register makes no such currency claim.
    - `lastUpdated` string, date-time: Date that the information in the profile was last updated
    - `lastAnnualAccountDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `lastAgmDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `lastAnnualConfirmationDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `nextAnnualConfirmationDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `foundationDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `registrationDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `incorporationDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `dissolutionDate` NormalizedDate
      - `original` string: Date as formatted at registry source
      - `normalized` string, date: Date in ISO-8601 format. The precision matches what is available at the registry source. Supports both full dates (YYYY-MM-DD) and partial dates (YYYY-MM) when only month and year are available.
    - `status` NormalizedStatus
      - `original` string: Legal status as described at source
      - `normalized` 'Active' | 'Inactive' | 'Distressed' | 'Other': Legal status mapped to a standard Kyckr value (see Normalised values guide)
    - `legalForm` NormalizedLegalForm
      - `original` string: Legal form as described at source
      - `normalized` 'Private Limited Company' | 'Public Limited Company' | 'Limited Partnership' | 'Limited Liability Partnership' | 'General Partnership' | 'Cooperative' | 'Collective Investment Vehicle' | 'Association' | 'Sole Proprietor' | 'Branch' | 'Foreign Registered Body' | 'Government or Public Body' | 'Foundation' | 'Trust' | 'Other': Standard value mapped from the registry's legal form. See [Normalised values](/documentation/useful-information/normalised-values) for the 15 possible values and what they mean. **Beta** — first populated for HK, CN, and JP in an upcoming release; other jurisdictions will follow. Where populated, `Other` is used when no specific value fits; the original registry label remains in `original`.
    - `incorporationJurisdiction` object
      - `original` string: Jurisdiction of incorporation
    - `registeredAgentName` string: Name of registered agent
    - `registeredAgentAddress` string: Address of registered agent

## Other responses

- `202`: Accepted: enhanced profile order created, profile not yet ready
- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too many requests

## Changes

- **2026-11-10** `b5008b331ed7`: 10 info
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #1]/capital/items/capitalAttributes` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #1]/capital/items/shareholdings/items/shareholders/individuals/items/anyOf[subschema #1: Shareholder Person Details]/allOf[subschema #2]/englishName` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #1]/representatives/corporations/items/anyOf[subschema #1: CorporationRepresentative]/allOf[subschema #2]/englishName` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #1]/representatives/individuals/items/anyOf[subschema #1: IndividualRepresentative]/allOf[subschema #2: Representative Details]/englishName` to the response with the `200` status
  - …6 more
- **2026-11-06** `f7cb3dcbfb13`: 2 warning
  - added the new `NACErev2` enum value to the `allOf[subschema #2]/data/allOf[subschema #1]/activities/items/classificationScheme` response property for the response status `200`
  - added the new `NACErev2.1` enum value to the `allOf[subschema #2]/data/allOf[subschema #1]/activities/items/classificationScheme` response property for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/kyckr/apis/kyckr-companies-v2-api/changes/companies/:kyckrId/enhanced/get.md)

---

[API](https://skmtc.dev/kyckr/apis/kyckr-companies-v2-api.md) - [All operations](https://skmtc.dev/kyckr/apis/kyckr-companies-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kyckr/apis/kyckr-companies-v2-api/revisions/b5008b331ed7?raw)
