Skip to main content
POST
Requires X-Api-Key and X-Api-Secret headers. See Authentication for details.
Redirect the user to the returned 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.
Calling this again while a verification is already in progress does not error — it returns 200 with isExisting: true and the same verificationUrl/inquiryId as before, so it’s safe to call defensively.
Returns 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

X-Api-Key
string
header
required

Partner API key. Generated from Qash Dashboard → Settings → API Keys.

X-Api-Secret
string
header
required

Partner API secret. Shown once at creation — store it securely.

Body

application/json

KYC initiation payload.

userId
string<uuid>
required

ID of the user to verify, obtained from POST /users.

Example:

"03384ada-a9c5-4c2e-a1bd-a13629ba060c"

firstName
string

User's first name. Optional — improves Persona pre-fill if provided.

Example:

"Juan"

lastName
string

User's last name. Optional — improves Persona pre-fill if provided.

Example:

"Pérez"

email
string<email>

User's email address. Optional — improves Persona pre-fill if provided.

Example:

"usuario@empresa.com"

phone
string

Phone number in international format.

Example:

"+573001234567"

birthDate
string<date>

Date of birth in YYYY-MM-DD format.

Example:

"1990-04-15"

Response

KYC initiated successfully.

success
boolean
required
Example:

true

data
object
required