Skip to main content
POST
Verify and assess risk

Authorizations

Authorization
string
header
required

API key created in the console. Scopes: kyc:extract, kyc:verify, kyc:eid; bank:read, bank:write (Growth plan, enabled per workspace by Sahl).

Body

application/json

A profile and the per-file extractions that back it.

reference
string | null

Your own id for the client (see /extract). With one, the verdict is filed on the case for (workspace, environment, reference) and the answer carries case_id. Documents whose document_id came from /extract are linked to it.

Required string length: 1 - 64
Pattern: ^[A-Za-z0-9_.:-]+$
environment
enum<string>
default:sandbox

sandbox (default) or production.

Available options:
sandbox,
production
subject
string | null

Client name (a person) or legal name (an entity), for the case. Up to 255 characters.

Maximum string length: 255
values
Values · object

The client profile, as an object of field keys to values: names, date_of_birth, address, id_type, id_number, id_expiry, occupation, income and the other data points. Unknown keys are ignored.

documents
Documents · object[]

The documents entries that /extract returned, sent back unchanged.

kind
string | null

Client kind: individual, corporation, partnership, charitable_org, trust, estate (aliases: entity, business, kyb, charity, fiducie, societe, succession). Decides which document establishes the account holder. Null falls back on entity.

entity
boolean
default:false

True for a business (KYB). Used when kind is null.

require_documents
boolean
default:true

Ask for the identity document. False is honoured only while the workspace policy does not lock identity verification, or on a periodic review. A refused switch is listed in policy.overrides_refused.

screen
boolean
default:true

Sanctions screening of every party on the file. False is honoured only while the policy does not lock the sanctions screen.

canadian_screening
boolean | null

Extra Canadian AML and PEP screening for a Canadian client. Null means the workspace policy decides. It needs eID provider credentials on the workspace.

extra_checks
CheckIn · object[]

Checks only you can run (a duplicate client, your own blocklist). They are added to the verdict and can block it. An id starting eid: or policy: comes back prefixed partner:.

purpose
enum<string>
default:onboarding

onboarding (default) or periodic_review. A review does not re-verify identity; screening and every other lock still apply.

Available options:
onboarding,
periodic_review

Response

OK

verification
object
required
assessment
Assessment · object
required
registry
object | null
required
case_id
string<uuid>

Only with a reference.