Aadhaar OKYC v2: send OTP

Step 1 of 2. Sends an OTP to the mobile number linked to the Aadhaar and returns the session_id you need for /v2/verify/okyc_get_result.

aadhaar_number must be exactly 12 digits with a first digit of 2-9, and user_consent must be true. Both are checked before any upstream call, so a malformed request is rejected free. Send an optional Idempotency-Key header (up to 255 characters) to make retries safe.

Response contract: every HTTP 2xx is status: "success" and only a raised error is status: "error", so branch on error_code, never on status. Every response carries tranx_id (quote it to support), timestamp (ISO 8601 UTC), billed (whether the call was charged to your idto credits) and the legacy string fields chargeble and user_consent. Authenticate with your X-Client-ID and X-API-KEY headers. A definitive "no record" answer is a successful, billed call: status: "success", data: null and error_code: "IDTO_202".

Codes: IDTO_202 (200, Aadhaar invalid or not found; billed), IDTO_001 (invalid input: Aadhaar not 12 digits or starts with 0/1, or a required field missing; 400, or 422 if the request body fails schema validation), IDTO_005 (user_consent is not true, 400), IDTO_004 (duplicate request with an Idempotency-Key already in progress, 409), IDTO_010 (Idempotency-Key reused with a different body, 422), IDTO_009 (insufficient idto credits, 402), IDTO_006 (too many requests, 429), IDTO_007 (service configuration issue on idto's side; contact [email protected] with the tranx_id, 500), IDTO_008 (upstream Aadhaar service busy, unavailable or timed out; retry shortly, 503), IDTO_103 (OTP generation temporarily blocked for this Aadhaar, 503). Only IDTO_202 is billed; every other code is free.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
^[2-9][0-9]{11}$

Exactly 12 digits, first digit 2-9.

Must be true: the Aadhaar holder's explicit consent to fetch their Aadhaar data.

string | null

Your own ID for the end user, up to 255 characters.

string | null

idto Workflow session token, up to 64 characters; bills the session instead of this call.

Headers
string | null

Optional. Your unique ID for this request, up to 255 characters. Resending the same key with the same body returns the first response instead of calling again; the same key with a different body returns IDTO_010.

Responses

401

Missing or invalid authentication credentials (X-Client-ID / X-API-KEY).

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json