Skip to main content
POST
Initiate KYC verification

Authorizations

Authorization
string
header
required

Basic Auth header with your app ID as the username and your app secret as the password.

Headers

privy-app-id
string
required

ID of your Privy app.

Path Parameters

user_id
string
required

The ID of the user.

Body

application/json

Request body for initiating a hosted KYC flow.

provider
enum<string>
required

KYC/KYB provider identifier.

Available options:
bridge
environment
enum<string>

Provider environment (production or sandbox).

Available options:
production,
sandbox
email
string<email>

Email address for the KYC session.

endorsements
string[]

Endorsements to request during KYC.

Endorsement identifier.

Maximum string length: 256
redirect_uri
string<uri>

URI to redirect the user after completing KYC.

client_agreement_id
string

Client-side agreement ID for ToS acceptance.

Response

200 - application/json

KYC status snapshot including the hosted verification link.

Full KYC status for a user with a given provider.

provider
enum<string>
required

KYC/KYB provider identifier.

Available options:
bridge
environment
enum<string>
required

Provider environment (production or sandbox).

Available options:
production,
sandbox
status
string
required

KYC/KYB status for the user.

Example:

"approved"

tos
KyxTosStatusDetail · object
required

Terms of Service acceptance status for a KYC or KYB flow.

endorsements
KyxEndorsement · object[]
required
capabilities
KyxCapabilities · object
required

Capability statuses for the customer.

requirements_due
string[]
required

Top-level items still needed (e.g. link a bank account).

future_requirements_due
string[]
required

Items that will be required in the future.

kyc
KyxVerificationStatusDetail · object
required

Verification status detail for a KYC or KYB check.