Skip to main content
POST
Send a beneficial owner's verification link
Issue (or re-issue) the owner’s identity-verification link via the same core the app uses. This spends a credit (or bills the customer) on the same model as KYC / KYB start:
  • payer: organization (or the record default) — a credit is spent now and the check is settled.
  • payer: customer — the owner is armed payment-pending and pays at the portal.
  • deliverEmail: false — the link is returned in verification_link instead of emailed.
Reusing a link never rotates the owner’s token, so previously issued links keep working. A verified owner returns 409 conflict; an org-paid send with no credit returns 402 insufficient_credits (nothing armed or charged). Requires the verification:write scope.

Authorizations

Authorization
string
header
required

Bearer API key issued from Settings → Developers in your Instant Compliance organisation. Format: ic_live_….

Headers

Idempotency-Key
string

Caller-supplied unique key for safe retries. Repeat the same key within 24 hours and we replay the original response instead of repeating the side effect. Reusing the key with a different request body returns 409 idempotency_conflict.

Maximum string length: 255

Path Parameters

id
string
required

Entity identifier (UUID or your external_id).

uboId
string<uuid>
required

The beneficial owner's id (from the add / list responses).

Body

application/json

Options for sending a beneficial owner's verification link. All fields optional.

payer
enum<string>

Who pays for the check. Omit to honour the customer record's own billing default. customer arms the check payment-pending and emails a pay link — the customer pays by card at the portal.

Available options:
organization,
customer
email
string<email>

Where to email the link. Defaults to the owner's recorded email; required (here or on file) unless deliverEmail is false.

Maximum string length: 255
deliverEmail
boolean

When false, the link is returned in verification_link instead of emailed.

Response

The owner after arming, plus their verification link.

A beneficial owner. Never includes link tokens, applicant ids, or payment fields.

id
string<uuid>
name
string
holder_type
string
role_type
enum<string> | null

Typed trust-party / ownership role.

Available options:
TRUSTEE,
CORPORATE_TRUSTEE,
SETTLOR,
APPOINTOR,
GUARDIAN,
PROTECTOR,
BENEFICIARY_NAMED,
BENEFICIARY_CLASS,
BENEFICIARY_EXCLUDED,
UNIT_HOLDER,
MEMBER,
DIRECTOR,
SHAREHOLDER,
OTHER_CONTROLLER,
OTHER
role_types
enum<string>[]

Typed trust-party / ownership role.

Available options:
TRUSTEE,
CORPORATE_TRUSTEE,
SETTLOR,
APPOINTOR,
GUARDIAN,
PROTECTOR,
BENEFICIARY_NAMED,
BENEFICIARY_CLASS,
BENEFICIARY_EXCLUDED,
UNIT_HOLDER,
MEMBER,
DIRECTOR,
SHAREHOLDER,
OTHER_CONTROLLER,
OTHER
percentage_held
number | null
kyc_required
boolean

False for excluded / recorded-only parties that are never checked.

kyc_status
enum<string>
Available options:
NOT_STARTED,
PENDING,
IN_PROGRESS,
VERIFIED,
FAILED,
NOT_REQUIRED,
AWAITING_RESUBMISSION
kyc_email
string | null
linked_customer
object | null
added_via
string
created_at
string<date-time>
updated_at
string<date-time>

The owner's portal verification link.