Skip to main content
POST
curl
Use this endpoint after POST /v3/kyb/search/ returns candidate companies when you need the direct shareholders on top of the Lite profile. It is billed at the country’s Shareholders price (per-country prices). Where the registry holds no shareholder record for the company, or the country offers no ownership data at all, the Lite profile is delivered and billed instead: registry_tier_delivered is basic and registry_ownership_status is unavailable. When the report is still being prepared, or the ownership section has not been retrieved from the registry yet, the endpoint returns 202 Accepted, kyb_registry.fetch_status: "pending", kyb_registry.registry_ownership_status: "pending", and registry_tier_delivered: null. Keep the returned request_id and retrieve GET /v3/session/{request_id}/decision/ until registry_checks[0].company.fetch_status is resolved. Didit completes the pending report automatically and charges the delivered tier once it is ready. Do not repeat the purchase request while it is pending: each new POST creates a separate request. Available on v3 only. POST /v2/kyb/select/ and POST /v3/kyb/select/ keep their contract and price.

Authorizations

x-api-key
string
header
required

Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is missing, wrong, revoked or expired; 403 means the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.

Body

application/json
kyb_response_id
string
required

Candidate handle from POST /v3/kyb/search/ (kyb_registry.companies[].kyb_response_id). Ephemeral — use it shortly after the search that produced it.

Maximum string length: 255
Example:

"69aeeb95febb0f1704042259"

vendor_data
string

Your identifier for this company; echoed back and stored with the business session.

metadata
object | null

Free-form JSON stored with the business session and echoed back.

save_api_request
boolean
default:true

Must be true (the default). KYB registry selects are always persisted so billing and retrieval can be tracked; false returns 400.

Response

Company report returned and billed at the delivered tier. Ownership reports still being prepared can return 202; keep request_id to retrieve their saved decision.

request_id
string<uuid>

Id of the business session created for this retrieval. The stored record (visible in the console) keeps updating if the registry resolves after the response.

registry_tier_requested
enum<string>

The tier this endpoint sells: basic (Lite) for select, shareholders, ubo.

Available options:
basic,
shareholders,
ubo
registry_tier_delivered
enum<string> | null

The tier actually delivered and billed. Lower than requested when the country's registries hold no ownership data, or the registry has no ownership record for this company.

Available options:
basic,
shareholders,
ubo,
null
kyb_registry
object

Full registry company profile.

vendor_data
string | null

Echo of the vendor_data you sent.

metadata
object | null

Echo of the metadata you sent.

created_at
string<date-time>