Skip to main content
Use these endpoints to perform liveness checks so you can be confident a real person (not a static photo) is present during onboarding. Base paths:
  • Sandbox: https://sandbox.payvessel.com/kyc
  • Production: https://api.payvessel.com/kyc
All paths below are relative to the base URL.

Initialize H5 liveness

POST /api/v1/merchant/liveness/h5/initialize Initializes a liveness session and returns data your frontend can use (for example, a URL or token to start the H5 liveness flow). Typical request body fields:
  • Customer identifier (e.g. customer_id, email, or similar)
  • reference – unique liveness reference
The response usually contains:
  • A liveness session ID
  • A link or parameters your frontend should use to start the liveness experience

Query H5 liveness result

POST /api/v1/merchant/liveness/h5/query After the customer completes the liveness flow, use this endpoint to fetch the result. Typical request body fields:
  • Liveness session ID
  • reference – your original liveness reference
Responses indicate whether the liveness check passed or failed, and may include additional metadata such as scores or reasons. Use the result to decide whether to continue onboarding or escalate to manual review.

Example (initialize)

curl -X POST "https://sandbox.payvessel.com/kyc/api/v1/merchant/liveness/h5/initialize" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "CUST_12345",
    "reference": "LIVENESS_2026_001"
  }'

Example (query)

curl -X POST "https://sandbox.payvessel.com/kyc/api/v1/merchant/liveness/h5/query" \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "LIV_SESSION_123",
    "reference": "LIVENESS_2026_001"
  }'