Three conditions, all required
This route is deliberately narrow. All of these must hold, or the request is rejected:Individuals only
partyType must be INDIVIDUAL. KYC only — there is no KYB equivalent.Self-custody only
Your company’s wallet type must be
SELF_CUSTODY.Tenant provisioned
Verification must be provisioned for your company.
If any of these rule you out, use a hosted verification link
instead — it has none of these constraints.
Only at account creation
The token is accepted only on the inline party ofPOST /accounts:
party object, not at the top level, and you must create the
party inline. There’s no way to attach a token to a party you created earlier, and no way to attach one
to an existing account.
Sending it to POST /parties instead is
rejected with 400 sumsub-token-not-supported.
The field is write-only: never persisted, never returned in any response.
The whole request rolls back on failure
The token is forwarded inside the same transaction that creates the party, account, and wallet. If the forward fails, nothing is persisted — no party, no account, no wallet. That’s deliberate, and it makes your retry logic simple:On failure, get a fresh token and resubmit the entire request. You never have to check what was
partially created, reconcile a half-built account, or clean up an orphaned party.
Errors
Every one of these rolls the transaction back, so a retry is always a clean, full resubmit.
Mint the token late
This is the most common failure with this route. If you’re seeing it intermittently, look at how long your token sits between minting and use, not at the Venly call. Because retries need a fresh token, the resilient shape is: mint → submit → on failure, mint again → submit again. Don’t retry the same body.After it succeeds
The account is created and the verification is registered against your tenant. From there it behaves exactly like the hosted route: the verdict is applied asynchronously to the party’skycStatus, and
you observe it via Get a party or a
webhook.
Forwarding a token is not itself a verdict. A successful 201 means the verification was accepted for
processing, not that the party is VERIFIED.
Next steps
Hosted verification links
The route with no eligibility constraints.
Troubleshooting
Tracking linkage and resolving failures.

