POST
/v1/kyc/submit
201 Created

Submit KYC

Submit a new KYC verification with document and selfie.

Request Parameters

Set your API key in the sidebar

cURL example

curl -X POST https://api.klyr.io/v1/kyc/submit \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "full_name": "Ada Lovelace",
    "date_of_birth": "1990-12-10",
    "email": "ada@example.com",
    "phone": "+2348012345678",
    "document_type": "nin_slip",
    "document": "data:image/jpeg;base64,/9j/4AAQ...",
    "selfie": "data:image/jpeg;base64,/9j/4AAQ...",
    "liveness_action": "blink",
    "consent_given": true
  }'

Response — 201 Created

{
  "id": "8b3f7a2e-1c5d-4e9f-8a0b-3c2d1e5f7a8b",
  "status": "PENDING",
  "submitted_at": "2026-06-14T10:21:00Z"
}

Webhook Event

After processing, KLYR sends a signed POST to your registered webhook URL:

POST /your-webhook-url
X-Klyr-Signature: sha256=a1b2c3d4...
X-Klyr-Event: kyc.status_changed

{
  "submission_id": "8b3f7a2e-...",
  "status": "APPROVED",
  "timestamp": "2026-06-14T10:21:00Z",
  "checks": {
    "face_match": { "passed": true, "score": 94.2 },
    "liveness": { "passed": true }
  }
}