Skip to main content
The default verification route. Venly hosts the onboarding page, so you never handle identity documents — you mint a URL, hand it over, and wait. Works for both party types: the KYC flow for an INDIVIDUAL, the KYB flow for an ORGANISATION.
1

Create the party

Create an INDIVIDUAL or ORGANISATION party. It starts unverified.
2

Mint a link

POST /parties/{partyId}/verification with no request body — the party’s stored partyType decides the flow.
Only the URL for the party’s own flow is returned — there’s no choice to make and no second URL.
3

Hand the URL to the end-user

Redirect them, or deliver it over a channel you trust.
Treat verificationUrl as a credential. It grants access to that user’s onboarding session — don’t log it, don’t put it anywhere shared, and don’t email it to a group address.
4

Collect the verdict

The verdict arrives asynchronously. Register a webhook, or poll Get a party and read kycStatus (individuals) or kybStatus (organisations).
Worth internalising, because it simplifies your error handling more than you’d expect: So “re-send the verification link” is a safe, idempotent operation. You don’t need to store the URL, track link state, or worry about handing a user a dead link by calling twice. If a user says they lost the email, just call it again. The distinction between 200 and 201 is informational — both carry a usable URL in the same shape. Treat any 2xx as success rather than branching on the code.

The status field

The response’s status is the party’s verification status at mint time, which tells you what state the party was in when you asked: It is never VERIFIED — an already-verified party returns 409 instead of a link. Seeing REJECTED or DENIED here means you’re re-verifying someone who previously failed, which is allowed.

Errors

Full list in Troubleshooting.

When to use this route

Use hosted links when

You have no existing KYC provider · you’re verifying an organisation · your company runs Venly-managed wallets · you’d rather not touch identity documents at all

Consider the alternative when

You already verified this individual in your own Sumsub account and run SELF_CUSTODY — then token sharing avoids a second flow

Next steps

Sumsub token sharing

The alternative route for individuals.

Troubleshooting

Tracking linkage and resolving failures.