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

# Request Enhanced Profile

`POST /companies/{kyckrId}/enhanced`

## Request

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

**Recommended pattern for production integrations.** Creates a request for an enhanced company profile and returns an orderId immediately, with 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.

GET is also available for ad-hoc or low-volume use (one-off scripts, manual exploration): it returns data directly when available in time 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.

## Query parameters

- `extend` string

## Request body

- object
  - `customerReference` string: Optional client reference
  - `contactEmail` string, email: An email address that can be contacted in case of issues with the order

## Response `202`

Accepted: enhanced profile order created, profile not yet ready

- 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` object
    - `status` 'Pending' | 'Success' | 'Failed'
    - `orderId` integer: Use with GET /orders/{orderId} to retrieve the profile when ready
    - `cost` Cost: Cost of an item
      - `type` 'credit' | 'lite'
      - `value` number

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too many requests

## Changes

- **2026-11-03** `43819cfabfed`: 6 breaking, 2 info
  - the `allOf[subschema #1: BaseResponse]/orderId` response's property type changed from `number` to `string` for status `400`
  - the `allOf[subschema #1: BaseResponse]/orderId` response's property type changed from `number` to `string` for status `401`
  - the `allOf[subschema #1: BaseResponse]/orderId` response's property type changed from `number` to `string` for status `403`
  - the `allOf[subschema #1: BaseResponse]/orderId` response's property type changed from `number` to `string` for status `404`
  - …4 more

[Operation history](https://skmtc.dev/kyckr/apis/kyckr-companies-v2-api/changes/companies/:kyckrId/enhanced/post.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)
