> ## Documentation Index
> Fetch the complete documentation index at: https://developer.kyckr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enhanced Profile

> Retrieve an enhanced company profile. The server holds the connection for up to approximately 40 seconds. If the profile is ready within that time, it is returned with HTTP 200. If not, HTTP 202 is returned with a numeric orderId. Poll GET /core/filing/order-status/{orderedWithin} (e.g. orderedWithin=1 for orders from the last day) and match the productOrderIdField in each returned item against the orderId. When the matching item's statusField indicates completion, retrieve the profile from urlField or structuredDataUrlField. You will need the code field (this can be retrieved from the company search by name), ISO country code of the registry and registration authority code (where populated). From this you will be able to retrieve an enhanced company profile (in structured XML/JSON form) containing Registry Information, Capital Structure, Company Officials, Shareholders and UBOs (where available).



## OpenAPI

````yaml /openapi/company_v1.yaml get /core/company/profile/{countryISO}/{companyCode}
openapi: 3.0.1
info:
  title: Kyckr Companies V1 API
  description: |
    Kyckr Companies V1 API
  version: '1.0'
  contact:
    name: Kyckr APIs
    email: support@kyckr.com
servers:
  - url: https://rest.kyckr.com
    description: Production
  - url: https://rest.kyckr.com/test
    description: Test
security:
  - apiKey: []
tags:
  - name: Account
  - name: Company Profile
  - name: Company Search
  - name: Price
  - name: Registry Documents
  - name: UBO Verify
  - name: Lite
paths:
  /core/company/profile/{countryISO}/{companyCode}:
    parameters:
      - $ref: '#/components/parameters/countryISO'
      - $ref: '#/components/parameters/companyCode'
    get:
      tags:
        - Company Profile
      summary: Enhanced Profile
      description: >-
        Retrieve an enhanced company profile. The server holds the connection
        for up to approximately 40 seconds. If the profile is ready within that
        time, it is returned with HTTP 200. If not, HTTP 202 is returned with a
        numeric orderId. Poll GET /core/filing/order-status/{orderedWithin}
        (e.g. orderedWithin=1 for orders from the last day) and match the
        productOrderIdField in each returned item against the orderId. When the
        matching item's statusField indicates completion, retrieve the profile
        from urlField or structuredDataUrlField. You will need the code field
        (this can be retrieved from the company search by name), ISO country
        code of the registry and registration authority code (where populated).
        From this you will be able to retrieve an enhanced company profile (in
        structured XML/JSON form) containing Registry Information, Capital
        Structure, Company Officials, Shareholders and UBOs (where available).
      operationId: Company_CompanyProfile
      parameters:
        - $ref: '#/components/parameters/regAuth'
        - $ref: '#/components/parameters/orderRef'
        - schema:
            type: boolean
            default: false
          in: query
          name: showDirectorships
          description: >-
            Where supported (currently GB/UK only), includes additional
            directorship information for each director, showing other companies
            where the director holds positions. When set to true, the
            directorships array will be populated for each director.
      responses:
        '200':
          $ref: '#/components/responses/CoreCompanyProfile'
        '202':
          description: Accepted — enhanced profile order created; profile not yet ready
          headers:
            Location:
              schema:
                type: string
              description: >-
                Polling hint. Poll GET /core/filing/order-status/{orderedWithin}
                (e.g. orderedWithin=1) and match the returned
                productOrderIdField against the orderId in this response body.
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: number
                    description: >-
                      Numeric order identifier. Match against
                      productOrderIdField in GET
                      /core/filing/order-status/{orderedWithin} responses to
                      track completion.
                  status:
                    type: string
                    enum:
                      - Pending
                      - Success
                      - Failed
                  estimatedCompletion:
                    type: string
                    format: date-time
                  customerReference:
                    type: string
components:
  parameters:
    countryISO:
      name: countryISO
      description: 2-digit ISO country code
      in: path
      required: true
      schema:
        type: string
      example: IE
    companyCode:
      name: companyCode
      in: path
      required: true
      schema:
        type: string
      description: Retrieved from search results "codeField" attribute
      example: GB12485372
    regAuth:
      name: regAuth
      in: query
      schema:
        type: string
      description: Registration Authority string from search query
      example: ITTO
    orderRef:
      name: orderRef
      in: query
      schema:
        type: string
      description: Optional client order reference
      example: kyckr_order_123
  responses:
    CoreCompanyProfile:
      description: Example response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CoreCompanyProfile'
          examples:
            Example:
              $ref: '#/components/examples/CoreExtendedProfile'
  schemas:
    CoreCompanyProfile:
      type: object
      properties:
        companyProfileField:
          type: object
          properties:
            activityField:
              type: array
              description: Industry classifications for the company
              items:
                $ref: '#/components/schemas/Activity'
            activityDeclarationField:
              type: array
              description: Activity declarations by the company
              items:
                type: object
                properties:
                  declarationDescriptionField:
                    type: string
                    description: Activity declaration extended description
                  languageField:
                    type: string
                    description: Activity declaration language
            addressesField:
              type: array
              description: Addresses for the company
              items:
                $ref: '#/components/schemas/AddressObject'
            aliasesField:
              type: array
              description: Alternative names e.g. business names, trading names
              items:
                type: string
                description: Alternative name
            previousNamesField:
              type: array
              description: Previous company names
              items:
                type: string
                description: Previous name
            capitalField:
              type: array
              description: >-
                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.
              items:
                $ref: '#/components/schemas/ShareCapital'
            codeField:
              type: string
              description: Internal Kyckr field - Company registration number
            dateField:
              type: string
              description: Date that information was pulled from registry
            emailField:
              type: string
              description: Primary email address
            faxNumberField:
              type: string
              description: Primary fax number
            lastAnnualAccountDateField:
              type: string
              description: Date last annual accounts were filed
            fiscalCodeField:
              deprecated: true
              description: Deprecated, use otherIdentifiers instead
              type: string
            foundationDateField:
              type: string
              description: Date of company foundation
            legalFormField:
              type: string
              description: Company type
            legalFormDeclarationField:
              type: string
              description: Company type (description)
            legalFormDetailsField:
              type: string
              description: Company sub-type
            legalStatusField:
              type: string
              description: Legal status of company
            normalizedLegalStatusField:
              type: string
              description: Normalized legal status
              enum:
                - Active
                - Inactive
                - Distressed
                - Other
            nameField:
              type: string
              description: Company name
            officialField:
              type: boolean
              deprecated: true
            registrationAuthorityField:
              type: string
              description: The registration authority for the company
            registrationAuthorityCodeField:
              type: string
              description: The registration authority code for the company
            registrationDateField:
              type: string
              description: Date of company registration
            registrationNumberField:
              type: string
              description: Company registration number issued by the registrationAuthority
            otherIdentifiers:
              type: array
              description: Additional identifiers with their standardized type codes
              items:
                $ref: '#/components/schemas/Identifier'
            telephoneNumberField:
              type: string
              description: Primary telephone number
            vatNumberField:
              deprecated: true
              description: Deprecated, use otherIdentifiers instead
              type: string
            virtualIdField:
              type: string
              deprecated: true
            websiteURLField:
              type: string
              description: Primary website URL
            stateOfIncorporationField:
              type: string
              description: State of Incorporation (US only)
            mailingAddressField:
              type: string
              description: Mailing address
            agentNameField:
              type: string
              description: Name of Registered Agent
            agentAddressField:
              type: string
              description: Address of Registered Agent
            companyNameInEnglishField:
              type: string
              description: Registered English Company Name
            directorAndShareDetailsField:
              type: object
              properties:
                directorsField:
                  type: array
                  description: Directors of the company
                  items:
                    $ref: '#/components/schemas/CoreDirectorDetail'
                shareHoldersField:
                  type: array
                  description: Shareholders of the company
                  items:
                    $ref: '#/components/schemas/CoreShareholderDetail'
                personsOfSignificantControlField:
                  type: array
                  description: >-
                    Persons of significant control (also know as beneficial
                    owners)
                  items:
                    type: object
                    properties:
                      natureOfControlField:
                        type: array
                        description: Nature of significant control
                        items:
                          type: string
                      kindField:
                        type: string
                        description: Type of PSC (e.g. company or person)
                      addressField:
                        type: string
                        description: PSC address
                      notifiedOnField:
                        type: string
                        description: Date PSC was recorded with registry
                      dOBDayField:
                        type: integer
                        description: PSC date of birth (Day)
                      dOBMonthField:
                        type: integer
                        description: PSC date of birth (Month)
                      dOBYearField:
                        type: integer
                        description: PSC date of birth (Year)
                shareHolderSummaryField:
                  type: object
                  properties:
                    shareCapitalField:
                      type: string
                      description: Total share count of company
            officersField:
              type: array
              items:
                type: object
                properties:
                  titleField:
                    type: string
                    description: Officer's Title / Role
                  nameField:
                    type: string
                    description: Officer's Name
                  addressField:
                    type: string
                    description: Officer's Registered Address
        transactionIdField:
          type: string
          description: Transaction ID
        retrievalLocationField:
          type: string
        responseCodeField:
          type: string
    Activity:
      title: Activity
      type: object
      description: >-
        Description of a company's economic activity according to
        internationally defined schemas
      properties:
        codeField:
          type: string
          description: Industry classification code
        descriptionField:
          type: string
          description: Industry classification description
        classificationSchemeField:
          type: string
          enum:
            - NACE
            - SIC
            - SIC07
            - NAICS
          description: Classification scheme, for example SIC, SIC07, NAICS, or NACE
        typeField:
          type: string
          enum:
            - Primary
            - Secondary
          description: Primary or secondary activity
    AddressObject:
      type: object
      properties:
        countryField:
          type: string
          description: Country
        lineField:
          type: array
          deprecated: true
          items:
            type: object
            deprecated: true
            properties:
              lineField:
                type: string
                deprecated: true
        typeField:
          type: string
          description: Address Type
        typeCodeField:
          type: string
          description: Address Type Code
        addressInOneLineField:
          type: string
          description: Full address concatenated in one line
        addressLine1Field:
          type: string
          description: 1st Line of Address
        addressLine2Field:
          type: string
          description: 2nd Line of Address
        addressLine3Field:
          type: string
          description: 3rd Line of Address
        addressLine4Field:
          type: string
          description: 4th Line of Address
        addressLine5Field:
          type: string
          description: 5th Line of Address
        postcodeField:
          type: string
          description: Postal Code
        cityTownField:
          type: string
          description: City or Town
        regionStateField:
          type: string
          description: Region or State
    ShareCapital:
      type: object
      description: Represents a share capital class with its details
      properties:
        ammountField:
          type: string
          description: Total amount of share capital for this class
          example: '31180878.8'
        currencyField:
          type: string
          description: Currency code for the share capital (e.g., AUD, GBP, USD, EUR)
          example: AUD
        typeField:
          type: string
          description: Full description of the share class type
          example: CLASS B
        typeCodeField:
          type: string
          description: >-
            Short code identifying the share class type (e.g., B, ORD, PRF,
            PRF2, SEED)
          example: B
        shareQuantityField:
          type: number
          description: Number of shares issued for this class
          example: 764370
        amountDueField:
          type: number
          description: Amount still due for shares in this class
          example: 0
    Identifier:
      title: Identifier
      type: object
      description: A standardized identifier with its type code
      properties:
        value:
          type: string
          description: The identifier value
          example: NA0091712
        type:
          type: string
          description: The standardized type code for this identifier
    CoreDirectorDetail:
      type: object
      properties:
        directorNumberField:
          type: string
          description: Director ID, where one is assigned by a registry
        titleField:
          type: string
          description: Director's Title / Role
        nameField:
          type: string
          description: Director's Name
        address1Field:
          type: string
          description: 1st Line of Director's Registered Address
        address2Field:
          type: string
          description: 2nd Line of Director's Registered Address
        address3Field:
          type: string
          description: 3rd Line of Director's Registered Address
        address4Field:
          type: string
          description: 4th Line of Director's Registered Address
        address5Field:
          type: string
          description: 5th Line of Director's Registered Address
        address6Field:
          type: string
          description: 6th Line of Director's Registered Address
        postcodeField:
          type: string
          description: Director's Registered Postal Code
        birthdateField:
          type: string
          description: >-
            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.
        nationalityField:
          type: string
          description: Director's Nationality
        otherIdentifiers:
          type: array
          description: >-
            Additional identifiers with their standardized type codes for this
            director/officer entity
          items:
            $ref: '#/components/schemas/Identifier'
        directorshipsField:
          type: array
          description: Directorships of the director (UK only)
          items:
            type: object
            properties:
              companyNumberField:
                type: string
                description: Company Number of Directorship
              companyNameField:
                type: string
                description: Company Name of Directorship
              companyStatusField:
                type: string
                description: Company Status of Directorship
              functionField:
                type: string
                description: Function of Director
              appointedDateField:
                type: string
                description: Appointment Date
              nationalityField:
                type: string
                description: Nationality of Director in Directorship
    CoreShareholderDetail:
      type: object
      properties:
        idField:
          type: string
          description: >-
            Unique identifier for the shareholder (if available). For example,
            ACN in Australia.
          example: '152400489'
        nameField:
          type: string
          description: Full name of the shareholder (company or person)
          example: EXAMPLE SHAREHOLDER PTY LTD
        addressField:
          type: string
          description: Complete address of the shareholder (if available)
          example: LEVEL 1, 123 EXAMPLE STREET, BUSINESS DISTRICT, VIC, 3000
        percentageField:
          type: string
          nullable: true
          description: >
            Percentage of shares held by the shareholder across all share
            classes.

            Null when ownership is expressed as a range (use
            percentageIsRangeField, percentageRangeField,
            percentageLowerLimitField, percentageUpperLimitField instead).
          example: '6.83'
        percentageIsRangeField:
          type: boolean
          description: >-
            When true, the holding is expressed as a range and percentageField
            is null. Use percentageRangeField, percentageLowerLimitField and
            percentageUpperLimitField for the range.
          example: true
        percentageRangeField:
          type: string
          nullable: true
          description: >-
            Human-readable percentage range when the registry provides a range
            rather than a single value (e.g. "0-100%"). Present when
            percentageIsRangeField is true.
          example: 0-100%
        percentageLowerLimitField:
          type: string
          nullable: true
          description: >-
            Lower bound of the percentage range as a numeric string (e.g. "0").
            Present when percentageIsRangeField is true.
          example: '0'
        percentageUpperLimitField:
          type: string
          nullable: true
          description: >-
            Upper bound of the percentage range as a numeric string (e.g.
            "100"). Present when percentageIsRangeField is true.
          example: '100'
        allInfoField:
          type: string
          description: >-
            Detailed share information string (e.g., "30,000.00 ORDINARY A GBP
            .82")
          example: 30,000.00 ORDINARY A GBP .82
        currencyField:
          type: string
          description: Currency code for the share value (e.g., GBP, AUD, USD, EUR)
          example: GBP
        nominalValueField:
          type: string
          description: Total nominal value for this shareholding
        shareClassField:
          type: string
          description: |
            Class code of shares held

            Examples by jurisdiction:
            - IT: 01, 02
            - AU: A, B, C, D, E
        shareCountField:
          type: number
          description: Number of shares held by this shareholder
          example: 30000
        shareTypeField:
          type: string
          description: |
            Type description of shareholding 

            Examples by jurisdiction:
            - GR: member
            - GB: ORDINARY, ORDINARY A, ORDINARY B, ORDINARY D, ORDINARY E
            - AU: ORDINARY
            - SG: Ordinary, Preference
            - AT: REGISTERED_COMPANY
        shareholderTypeField:
          type: string
          description: Type of shareholder (Company or Person or C or P)
          example: Company
        totalShareCountField:
          type: number
          description: >-
            Total number of shares issued by the company, used for calculating
            the percentage of shares by total count.
          example: 258712
        totalShareValueField:
          type: number
          description: >-
            Total value of all shares in this capital's currency, used for
            calculating the percentage of shares by total value.
          example: 188655
        totalSharesField:
          type: number
          description: Total shares
        beneficiallyHeldField:
          type: boolean
          description: >-
            Indicates if shares are held beneficially (true) or non-beneficially
            (false)
          example: true
        jointlyHeldField:
          type: boolean
          description: Indicates if shares are held jointly with other shareholders
          example: false
        jointHoldingGroupIdField:
          type: string
          description: Unique identifier for the group of jointly held shares
          example: '1234567890'
        otherIdentifiers:
          type: array
          description: >-
            Additional identifiers with their standardized type codes for this
            shareholder entity
          items:
            $ref: '#/components/schemas/Identifier'
  examples:
    CoreExtendedProfile:
      value:
        companyProfileField:
          activityField:
            - codeField: '63120'
              descriptionField: Web portals
          addressesField:
            - countryField: United Kingdom
              addressInOneLineField: Kemp House, 160 City Road, London, United Kingdom, EC1V 2NX
              addressLine1Field: Kemp House
              addressLine2Field: 160 City Road
              cityTownField: London
              postcodeField: EC1V 2NX
          codeField: '11655290'
          dateField: '2023-03-01T09:49:08.9919958Z'
          foundationDateField: '2018-11-01'
          legalFormField: ltd
          legalStatusField: active
          nameField: NewCo UK LIMITED
          officialField: false
          registrationAuthorityField: Companies House, United Kingdom
          directorAndShareDetailsField:
            directorsField:
              - titleField: Director
                nameField: Joe Bloggs
                address1Field: Kemp House 160 City Road
                address2Field: ''
                address3Field: London
                address4Field: ''
                address5Field: ''
                address6Field: ''
                postcodeField: EC1V 2NX
                birthdateField: '1960-06-01'
                nationalityField: ''
                appointedOnField: '2019-10-02'
                directorshipsField:
                  - companyNumberField: '06419578'
                    companyNameField: OLDCO PLC
                    companyStatusField: Active - Accounts Filed
                    functionField: Director
                    appointedDateField: '2020-04-20'
              - titleField: Director
                nameField: Jane Bloggs
                address1Field: Kemp House 160 City Road
                address2Field: ''
                address3Field: London
                address4Field: ''
                address5Field: ''
                address6Field: ''
                postcodeField: EC1V 2NX
                birthdateField: '1981-01-01'
                nationalityField: Australian
                appointedOnField: '2022-11-04'
                directorshipsField: []
              - titleField: Director
                nameField: John Bloggs
                address1Field: Kemp House 160 City Road
                address2Field: ''
                address3Field: London
                address4Field: ''
                address5Field: ''
                address6Field: ''
                postcodeField: EC1V 2NX
                birthdateField: '1973-09-01'
                nationalityField: Australian
                appointedOnField: '2022-11-04'
                directorshipsField: []
            shareHoldersField:
              - nameField: OLDCO PLC
                percentageField: '100'
                allInfoField: 1.00 ORDINARY  GBP 1.00
                currencyField: GBP
                nominalValueField: '1'
                shareCountField: 1
                shareTypeField: ORDINARY
                shareholderTypeField: Company
                totalShareCountField: 1
                totalShareValueField: 1
                totalSharesField: 1
            personsOfSignificantControlField:
              - natureOfControlField:
                  - ownership-of-shares-75-to-100-percent
                  - voting-rights-75-to-100-percent
                  - right-to-appoint-and-remove-directors
                nameField: Jim Bloggs
                kindField: individual-person-with-significant-control
                nationalityField: Australian
                countryOfResidenceField: Australia
                addressField: 1, Main Street, 2015, Alexandria, Nsw, Australia
                notifiedOnField: '2022-11-18'
                dOBDayField: 1
                dOBMonthField: 12
                dOBYearField: 1954
            shareHolderSummaryField:
              shareCapitalField: '1'
        transactionIdField: '9039815'
        retrievalLocationField: https://download.kyckr.com
        responseCodeField: '100'
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header

````