curl --request POST \
--url https://api.qash.ai/api/v1/partner/kyc \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--header 'X-Api-Secret: <api-key>' \
--data '
{
"userId": "03384ada-a9c5-4c2e-a1bd-a13629ba060c"
}
'{
"success": true,
"verificationUrl": "https://inquiry.withpersona.com/verify?inquiry-id=inq_A3VPwfoLJtprzJxREEeq3kmz6MyYyw",
"inquiryId": "inq_A3VPwfoLJtprzJxREEeq3kmz6MyYyw"
}{
"success": false,
"error": "Invalid birthDate format. Use YYYY-MM-DD"
}{
"success": false,
"error": "Invalid partner credentials"
}{
"success": false,
"error": "User not found"
}{
"success": false,
"error": "KYC already in progress for this user"
}{
"success": false,
"error": "Failed to create Persona inquiry"
}Start KYC
Initiate identity verification for a user via Persona.
curl --request POST \
--url https://api.qash.ai/api/v1/partner/kyc \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--header 'X-Api-Secret: <api-key>' \
--data '
{
"userId": "03384ada-a9c5-4c2e-a1bd-a13629ba060c"
}
'{
"success": true,
"verificationUrl": "https://inquiry.withpersona.com/verify?inquiry-id=inq_A3VPwfoLJtprzJxREEeq3kmz6MyYyw",
"inquiryId": "inq_A3VPwfoLJtprzJxREEeq3kmz6MyYyw"
}{
"success": false,
"error": "Invalid birthDate format. Use YYYY-MM-DD"
}{
"success": false,
"error": "Invalid partner credentials"
}{
"success": false,
"error": "User not found"
}{
"success": false,
"error": "KYC already in progress for this user"
}{
"success": false,
"error": "Failed to create Persona inquiry"
}X-Api-Key and X-Api-Secret headers. See Authentication for details.verificationUrl to complete their identity check through Persona. Once completed, Persona notifies Qash automatically and the user’s status transitions to active — no polling or webhook required on your end.
200 with isExisting: true and the same verificationUrl/inquiryId as before, so it’s safe to call defensively.422 with KYC already finalized with status: <status> only if the user’s most recent KYC has already reached a terminal state (approved, declined, rejected, failed, or expired). Call KYC status to check current status before retrying.Authorizations
Partner API key. Generated from Qash Dashboard → Settings → API Keys.
Partner API secret. Shown once at creation — store it securely.
Body
KYC initiation payload.
ID of the user to verify, obtained from POST /users.
"03384ada-a9c5-4c2e-a1bd-a13629ba060c"
User's first name. Optional — improves Persona pre-fill if provided.
"Juan"
User's last name. Optional — improves Persona pre-fill if provided.
"Pérez"
User's email address. Optional — improves Persona pre-fill if provided.
"usuario@empresa.com"
Phone number in international format.
"+573001234567"
Date of birth in YYYY-MM-DD format.
"1990-04-15"
Response
KYC initiated successfully.
true
Hide child attributes
Hide child attributes
Persona inquiry ID for tracking the verification.
"inq_A3VPwfoLJtprzJxREEeq3kmz6MyYyw"
URL to redirect the user to for completing identity verification via Persona.
"https://inquiry.withpersona.com/verify?inquiry-id=inq_A3VPwfoLJtprzJxREEeq3kmz6MyYyw"
True if this returns an already in-progress verification instead of creating a new one.
false
Human-readable status message.
"KYC verification started. Please complete the verification process."