Skip to main content
KYC (Know Your Customer) verifies a natural person. It applies to parties with partyType: INDIVIDUAL and is tracked on kycStatus.

States

Read kycStatus from Get a party:
The account under this party has its own kycStatus, and that one is what gates money movement. It also accepts a fourth value, NOT_REQUIRED, which parties never carry. See Roles & entities.

Create the party

firstName and lastName are required for individuals. externalId is your own identifier — useful for reconciling against your user table, and filterable on List parties. The party comes back with status: ACTIVE and kycStatus: VERIFICATION_PENDING. ACTIVE here means the record is live, not that Jane has been identified.

Two routes

Hosted verification link

Venly hosts the flow. Mint a link, hand it to Jane, wait for the verdict. Works for anyone.

Sumsub token sharing

Already verified Jane in your own Sumsub account? Forward a share token instead of re-verifying.
Token sharing is the narrower one — it needs a SELF_CUSTODY company wallet type and must happen at account creation. If either doesn’t hold, use the hosted link. There is also tenant-managed KYC, where you declare kycStatus: NOT_REQUIRED on the account and skip Venly’s verification. It needs a flag a Venly admin enables on your tenant, and is granted for testing rather than production — so treat it as a way to exercise money movement in tests, not as a third onboarding route.

What gets collected

The hosted flow collects and checks identity documents, a selfie/liveness check, and the person’s address details, then returns a single approve/decline verdict. You never handle the documents — they go straight to verification, and Venly’s API only ever exposes the resulting status. Supply the party’s address when you create it where you have it. It’s used in verification and in downstream bank-rail provisioning, which requires a legal name and address on the account holder.

After the verdict

The verdict is asynchronous and flips kycStatus on the party, which in turn clears the account. Register a webhook to be told, rather than polling — KYC verdicts are human-paced. Once VERIFIED, the account still needs its wallet cleared before it can transact. See Wallet readiness.

If it’s rejected

REJECTED is terminal for that verification attempt. The party stays in place, but its account can’t move money. Minting a new link for a rejected party is allowed — a REJECTED party is not VERIFIED, so it doesn’t hit the party-already-verified conflict. If a rejection looks wrong, quote the party’s ivCaseReference from Get verification linkage to Venly support; that reference survives a decline specifically so it can be investigated.

Next steps

Hosted verification link

The default route, step by step.

Business KYB

The organisation equivalent.

Troubleshooting

Every verification error code.

Account verification

How a verified party turns into an account that can transact.