Companies

Request Enhanced Profile

Changed on

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.
post/companies/{kyckrId}/enhanced

Request

  • Base URL
    https://api.kyckr.com/v2
  • Auth
    HTTP bearer

Query parameters

extendstring
Example:shareholdingSummary:10

Profile extension type to include in the order result. shareholdingSummary populates additionalInformation.shareholdingSummary, which is described in the response of GET /companies/{kyckrId}/enhanced. Read the result from GET /orders/{orderId}/download?format=json at additionalInformation.shareholdingSummary. shareholdingSummary alone uses a threshold of 25. shareholdingSummary:<n> uses <n>, which is 5, 10, 15, 20 or 25, for example extend=shareholdingSummary:10. Names are case-insensitive. Each request carries one threshold. The option is read from the query string. Other values are ignored.

An unsupported threshold, such as shareholdingSummary:30, returns HTTP 400 with the detail shareholdingSummary threshold must be one of 5, 10, 15, 20, 25. More than one shareholdingSummary entry returns HTTP 400 with the detail shareholdingSummary may only be requested once. A 400 does not place an order and does not incur a charge.

Request body

customerReferencestring

Optional client reference

contactEmailstring email

An email address that can be contacted in case of issues with the order

Response

Accepted: enhanced profile order created, profile not yet ready

orderIdstring

The related orderId.

correlationIdstring

The related correlationId to this request, for support purposes.

customerReferencestring

A customer provided reference, which appears in the order list.

timeStampstring date-time

The UTC time at which the request occurred.

detailsstring

The response status details for the current request.

Example response

{
  "orderId": "12345",
  "cost": {
    "type": "credit",
    "value": 3
  },
  "links": {
    "self": "/orders/12345"
  },
  "data": {
    "cost": {
      "type": "credit",
      "value": 3
    }
  }
}

Changes

    • breaking

      the / response's property type changed from number to string for status

    • breaking

      the / response's property type changed from number to string for status

    • breaking

      the / response's property type changed from number to string for status

    • breaking

      the / response's property type changed from number to string for status

    • breaking

      the / response's property type changed from number to string for status

    • breaking

      removed the success response with the status

    • info

      added the new optional query request parameter extend

    • info

      added the success response with the status