Skip to main content
POST
Start KYC verification

Authorizations

x-tenant-api-key
string
header
required

Tenant API key for authentication. Keys are scoped to specific environments (LIVE or SANDBOX). Obtain keys from the admin dashboard.

Path Parameters

userId
string<uuid>
required

Response

KYC started

Response returned when starting KYC verification for a member. The response structure varies based on the configured KYC provider (manual or sumsub).

Manual KYC: Returns uploadUrl and requiredDocuments for document upload workflow. Sumsub KYC: Returns sdkConfig for initializing the Sumsub SDK widget.

kycRecordId
string<uuid>
required

Unique identifier for this KYC verification record. Use this ID when uploading documents or checking status.

Example:

"3c90c3cc-0d44-4b50-8888-8dd25736052a"

provider
enum<string>
required

The KYC provider configured for this tenant.

  • manual: Document upload with admin review
  • sumsub: Automated verification via Sumsub SDK
Available options:
manual,
sumsub
Example:

"manual"

status
enum<string>
required

Current status of the KYC verification process.

  • not_started: KYC record created but no documents submitted
  • pending: Documents submitted, awaiting review
  • approved: KYC verification approved
  • rejected: KYC verification rejected
  • resubmit_required: Additional documents or corrections needed
Available options:
not_started,
pending,
approved,
rejected,
resubmit_required
Example:

"not_started"

uploadUrl
string

Base URL for document uploads (manual KYC only). Use the /kyc/documents/upload-url endpoint to get a signed upload URL for each document.

Example:

"https://api.mlm-platform.com/api/v1/members/{userId}/kyc/documents"

requiredDocuments
object[]

List of documents required to complete KYC verification (manual KYC only). Each document specifies a type that must be uploaded. The member should upload one document for each item in this array.

Example:
sdkConfig
object

Configuration object for initializing the Sumsub SDK widget (Sumsub KYC only). Pass this object to the Sumsub Web SDK or Mobile SDK to launch the verification flow.

Example:
message
string

Human-readable message providing additional context or instructions for the KYC process.

Example:

"Please upload the required documents to complete your identity verification."