Skip to main content
POST
/
kyc
/
aadhaar
/
okyc
/
otp
Aadhaar Offline e-KYC Generate OTP
curl --request POST \
  --url https://api.sandbox.co.in/kyc/aadhaar/okyc/otp \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --data '
{
  "@entity": "in.co.sandbox.kyc.aadhaar.okyc.otp.request",
  "aadhaar_number": "123456789012",
  "consent": "y",
  "reason": "For KYC"
}
'
{
  "code": 200,
  "timestamp": 1774527050727,
  "transaction_id": "756c78eb-091c-4528-b3f1-185ed7df2a51",
  "data": {
    "@entity": "in.co.sandbox.kyc.aadhaar.okyc.otp.response",
    "reference_id": 1234567,
    "message": "OTP sent successfully"
  }
}
https://mintcdn.com/sandboxfinancialtechnologiesprivatelimited/gviqebbpT5NUt_6i/static/svg/Postman.svg?fit=max&auto=format&n=gviqebbpT5NUt_6i&q=85&s=da47f2b7e10d87befec951aed9468de3

Run in Postman

Headers

x-api-key
string
required

API key for identification

Authorization
string
required

JWT access token

x-api-version
string

Body

application/json
@entity
enum<string>
required
Available options:
in.co.sandbox.kyc.aadhaar.okyc.otp.request
aadhaar_number
string
required

12-digit Aadhaar number of the individual for whom the OTP will be generated. Must contain exactly 12 numeric digits with no spaces or separators.

Required string length: 12
Pattern: ^[0-9]{12}$

Explicit consent from the end user to use their Aadhaar details for OTP-based verification. Must be passed as "Y" or "y" to proceed.

Available options:
Y,
y
reason
string
required

Purpose for initiating Aadhaar OTP verification, such as identity verification or KYC compliance. Used for audit, compliance, and request traceability.

Response

code
integer
required
timestamp
integer
required
transaction_id
string<uuid>
required
data
object
required