> ## 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.

# Request Enhanced Profile

> 🚧 COMING SOON

**Recommended pattern for production integrations.** Creates a request for an enhanced company profile and returns an orderId immediately — no server-side connection hold. Use GET /orders/{orderId} to retrieve the profile when ready. The resulting profile data is identical to that returned by a successful GET 200 on this resource.

Holding connections server-side costs infrastructure capacity at scale. POST + poll avoids that cost: the server acknowledges immediately, and the client polls at its own cadence. This is the preferred pattern for high-volume pipelines and resource-conscious integrations.

For ad-hoc or low-volume use (one-off scripts, manual exploration), GET is available as a convenience: it returns data directly when available within ~40s and automatically falls back to 202 with an orderId otherwise.

Profile content (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.




## OpenAPI

````yaml /openapi/company_v2.yaml post /companies/{kyckrId}/enhanced
openapi: 3.0.3
info:
  title: Kyckr Companies V2 API
  version: '2.0'
  contact:
    url: https://www.kyckr.com
  description: |
    Kyckr Companies V2 API
  license:
    name: Kyckr API License
    url: https://www.kyckr.com/legal
  termsOfService: https://www.kyckr.com/legal
servers:
  - url: https://api.kyckr.com/v2
    description: Production
  - url: https://test-api.kyckr.com/v2
    description: Testing
security:
  - AuthHeader: []
tags:
  - name: Companies
  - name: Orders
  - name: PREVIEW UBO Verify
    description: >-
      Endpoints for analyzing company ownership structure and ultimate
      beneficial owners
paths:
  /companies/{kyckrId}/enhanced:
    parameters:
      - $ref: '#/components/parameters/kyckrId'
    post:
      tags:
        - Companies
      summary: Request Enhanced Profile
      description: >
        🚧 COMING SOON


        **Recommended pattern for production integrations.** Creates a request
        for an enhanced company profile and returns an orderId immediately — no
        server-side connection hold. Use GET /orders/{orderId} to retrieve the
        profile when ready. The resulting profile data is identical to that
        returned by a successful GET 200 on this resource.


        Holding connections server-side costs infrastructure capacity at scale.
        POST + poll avoids that cost: the server acknowledges immediately, and
        the client polls at its own cadence. This is the preferred pattern for
        high-volume pipelines and resource-conscious integrations.


        For ad-hoc or low-volume use (one-off scripts, manual exploration), GET
        is available as a convenience: it returns data directly when available
        within ~40s and automatically falls back to 202 with an orderId
        otherwise.


        Profile content (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.
      operationId: post-companies-kyckrId-enhanced
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                customerReference:
                  type: string
                  description: Optional client reference
                contactEmail:
                  type: string
                  format: email
                  description: >-
                    An email address that can be contacted in case of issues
                    with the order
      responses:
        '201':
          description: Created
          headers:
            Location:
              schema:
                type: string
              description: Location of created resource
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/BaseResponse'
                  - type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - Success
                          - Pending
                          - Failed
                      orderId:
                        type: string
                      customerReference:
                        type: string
        '400':
          $ref: '#/components/responses/400Response'
        '401':
          $ref: '#/components/responses/401Response'
        '403':
          $ref: '#/components/responses/403Response'
        '404':
          $ref: '#/components/responses/404Response'
        '429':
          $ref: '#/components/responses/429Response'
components:
  parameters:
    kyckrId:
      name: kyckrId
      in: path
      required: true
      schema:
        type: string
      description: Kyckr company reference, a shared format, usable across our V2 APIs
      example: GB|MTE2NTUyOTA
  schemas:
    BaseResponse:
      title: BaseResponse
      type: object
      properties:
        orderId:
          type: number
          example: 12345
          description: The related orderId.
        correlationId:
          type: string
          description: "The related correlationId to this request, for support purposes. \r\n"
        customerReference:
          type: string
          description: A customer provided reference, which appears in the order list.
        timeStamp:
          type: string
          format: date-time
          description: The UTC time at which the request occurred.
        details:
          type: string
          description: 'The response status details for the current request.  '
        cost:
          $ref: '#/components/schemas/Cost'
        links:
          type: object
          properties:
            self:
              type: string
              format: uri-reference
              example: /orders/12345
      description: ''
    Cost:
      type: object
      description: Cost of an item
      properties:
        type:
          type: string
          enum:
            - credit
            - lite
          example: credit
        value:
          type: number
          example: 3
    ProblemDetails:
      title: Problem Details
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        detail:
          type: string
        errors:
          type: array
          items:
            type: string
  responses:
    400Response:
      description: Bad request
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/BaseResponse'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProblemDetails'
          examples:
            Missing Parameter:
              value:
                orderId: 12345
                correlationId: string
                customerReference: string
                timeStamp: '2019-08-24T14:15:22Z'
                details: string
                cost:
                  type: credit
                  value: 0
                links:
                  self: ../dictionary
                data:
                  type: https://httpstatuses.com/400
                  title: Missing Parameter
                  detail: The `isoCode` parameter is required
                  errors: []
    401Response:
      description: Unauthorized
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/BaseResponse'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProblemDetails'
          examples:
            Unauthorized:
              value:
                orderId: 12345
                correlationId: string
                customerReference: string
                timeStamp: '2019-08-24T14:15:22Z'
                details: string
                cost:
                  type: credit
                  value: 0
                links:
                  self: ../dictionary
                data:
                  type: https://httpstatuses.com/401
                  title: Unauthorized
                  detail: Please authorize before making requests
                  errors: []
    403Response:
      description: Forbidden
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/BaseResponse'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProblemDetails'
          examples:
            Forbidden:
              value:
                orderId: 12345
                correlationId: string
                customerReference: string
                timeStamp: '2019-08-24T14:15:22Z'
                details: string
                cost:
                  type: credit
                  value: 0
                links:
                  self: ../dictionary
                data:
                  type: https://httpstatuses.com/403
                  title: Forbidden
                  detail: This feature is not available on this account
                  errors: []
    404Response:
      description: Not Found
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/BaseResponse'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProblemDetails'
          examples:
            Not Found:
              value:
                orderId: 12345
                correlationId: string
                customerReference: string
                timeStamp: '2019-08-24T14:15:22Z'
                details: string
                cost:
                  type: credit
                  value: 0
                links:
                  self: ../dictionary
                data:
                  type: https://httpstatuses.com/404
                  title: Not Found
                  detail: This resource could not be found
                  errors: []
    429Response:
      description: Too many requests
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/BaseResponse'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProblemDetails'
          examples:
            Rate limit exceeded:
              value:
                orderId: 12345
                correlationId: string
                customerReference: string
                timeStamp: '2019-08-24T14:15:22Z'
                details: string
                cost:
                  type: credit
                  value: 0
                links:
                  self: ../dictionary
                data:
                  type: https://httpstatuses.com/429
                  title: Too Many Requests
                  detail: >-
                    This service only allows 50 requests within a 10 minute
                    period
                  errors: []
  securitySchemes:
    AuthHeader:
      type: http
      scheme: bearer

````