profile, address, identity, and proofOfAddress. Any remaining required processes (e.g. customerDueDiligence, taxDetails) must still be completed via the REST API.
- Sumsub
- Veriff
Prerequisites
- API client credentials with permission to create users and create ingestions.
- Your Sumsub account must be configured for KYC data sharing. Contact your Account Manager to coordinate the setup.
The flow
Create the user
The user creation step is identical to the REST API approach: fetch the applicable Terms of Service, display them to the user, and call Create User:Collect KYC data
Your existing KYC provider flow requires no changes. Once the user completes verification and the applicant is approved, generate a share token from your backend. This token authorizes Uphold to copy the applicant’s KYC data from your provider account.- Sumsub
After the applicant is approved in Sumsub, use the Sumsub API to generate a share token for the applicant.
Create an ingestion
Call Create ingestion with the share token and the list of KYC processes you want to ingest.ingestion object with details about the ingestion and its initial status:Response
Monitor the ingestion
Prefer webhooks for real-time updates, or fall back to polling if webhooks are not feasible.- Webhook events (recommended):
- kyc-connector.sumsub.ingestion.created
- kyc-connector.sumsub.ingestion.status-changed
status: queued→ ingestion created, waiting to be picked upstatus: running→ fetching and submitting provider data to Upholdstatus: finished→ processing complete
- Polling (fallback): Get ingestion
Complete onboarding process
Once the ingestion finishes, the KYC Connector has submitted only the processes it supports (profile, address, identity, proofOfAddress). Use Get KYC Overview to confirm which processes are now ok and identify what still needs to be collected.Any remaining required processes (e.g. customerDueDiligence, taxDetails) must still be completed.Via REST API
Check required processes and prompt the user to submit any outstanding ones. Call the relevant endpoints to submit the data and update process statuses until all are
ok.Via KYC Widget
Embed the KYC Widget to let the user complete the remaining processes through a pre-built UI.
Check capabilities
Always check if the required capabilities for the user’s intended activities are unlocked before allowing them to transact. Call List capabilities to check restrictions and requirements for each capability.requirements or restrictions.Response
The user is now onboarded and ready to transact.