---
title: "Initiate KYC session"
method: POST
path: "/api/v1/partner/kyc-sessions"
tags: ["Partner API"]
---

# Initiate KYC session

`POST /api/v1/partner/kyc-sessions`

Triggers VoBiz to email a KYC link to the customer. KYC is OTP-based
(PAN + Aadhaar via DigiLocker for individuals, PAN + GSTIN for
companies). No document uploads required.

## Request body

- object
  - `account_auth_id` string, required — Customer's auth_id (from create-customer-account).
  - `flow_type` 'email' | 'redirect' — Delivery mode. `email` (default) emails the customer the KYC link. `redirect` returns a `widget_url` in the response for immediate redirect.
  - `customer_email` string, email — Required when `flow_type` is `email`. Ignored otherwise.
  - `redirect_url` string, uri — Required when `flow_type` is `redirect`. After verification the customer's browser is sent to this URL with query params `session_id`, `status`, `auth_id`.
  - `webhook_url` string, uri — VoBiz POSTs the KYC result here.
  - `expires_in_days` integer — Days before the KYC link expires.
  - `reminder_schedule` object[] — Auto reminder emails before expiry. Email flow only.
    - `trigger` 'days_before_expiry'
    - `value` integer
  - `metadata` object — Free-form key/value object echoed back on GET and webhooks.

## Response `201`

KYC session created

## Other responses

- `404` — `account_auth_id` not found, or belongs to a different partner
- `422` — Validation error (e.g. email flow missing `customer_email`, redirect flow missing `redirect_url`)

---

[API](https://skmtc.dev/vobiz/apis/vobiz-api.md) · [All operations](https://skmtc.dev/vobiz/apis/vobiz-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vobiz/vobiz-api/revisions/863f08cd6737/schema)
