KYC · Live

Aadhaar eSign API

Send a PDF, get it signed with Aadhaar OTP — legally valid, no paper.

From ₹30/callPrepaid · billed per successful call

What the Aadhaar eSign API does

Post a PDF and a list of signatories; each one receives a signing invitation and authenticates with Aadhaar OTP, WhatsApp or auto-DSC. Signatures are legally valid under Section 5 of the IT Act 2000. Pricing is per signatory, not per request, so a two-party agreement is two signatures in one call.

Popular use cases

  • →Loan agreements and sanction letters for NBFCs and lenders
  • →Rental and vendor agreements without couriering paper
  • →Employment offer letters and onboarding packs at scale
Request
curl -X POST https://apisathi.in/gw/v1/esign-create-v1/ \
  -H "X-API-Key: live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "document": { "name": "loan.pdf", "data": "<base64>" }, "signers": [{ "signer_name": "…", "signer_auth_type": "AADHAAR" }] }'
Response
{
  "group_id": "…",
  "requests": [{ "signing_url": "…" }]
}

Response fields returned by the Aadhaar eSign API

FieldExample
group_id…
requests[{"signing_url":"…"}]

Every field, error code and the full schema are in the Aadhaar eSign API reference.

Call the Aadhaar eSign API from Node.js or Python

Node.js
const res = await fetch('https://apisathi.in/gw/v1/esign-create-v1/', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.APISATHI_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({"document":{"name":"loan.pdf","data":"<base64>"},"signers":[{"signer_name":"…","signer_auth_type":"AADHAAR"}]}),
});
const data = await res.json();
Python
import os, requests

res = requests.post(
    "https://apisathi.in/gw/v1/esign-create-v1/",
    headers={"X-API-Key": os.environ["APISATHI_KEY"]},
    json={"document":{"name":"loan.pdf","data":"<base64>"},"signers":[{"signer_name":"…","signer_auth_type":"AADHAAR"}]},
    timeout=30,
)
data = res.json()

Aadhaar eSign API pricing

  • → From ₹30 per successful call + 18% GST
  • → Prepaid wallet from ₹200; no monthly fee, no minimum volume
  • → Failed or timed-out calls are not charged
  • → Bonus credit on recharges of ₹1,000 and above; GST invoice on every recharge
See live prices for every API →

Start in four steps

  1. Create a free account — about a minute.
  2. Call the Aadhaar eSign API with your TEST key in the sandbox, free.
  3. Recharge the wallet (UPI, card or netbanking) from ₹200.
  4. Switch to your LIVE key — the same key works for every API.
Create a free account →

Frequently asked questions

Is Aadhaar eSign legally valid in India?

Yes. An Aadhaar OTP eSign is an electronic signature under the IT Act 2000 and is admissible in court, the same as a wet signature for most commercial contracts.

How is the eSign API priced?

Per signatory, not per API call. One request carrying three signers is billed as three signatures.

How do I know when the document is signed?

Poll the status endpoint, or register a webhook and we will post the completed document reference to you.

Can I test the Aadhaar eSign API for free?

Yes. Every account gets a TEST key that calls the Aadhaar eSign API in the sandbox at no cost and returns realistic sample responses, so you can finish your integration before adding money to the wallet.

Am I charged if a Aadhaar eSign API call fails?

No. You pay only for successful calls. If the source is unavailable, times out or rejects the request, the amount held for that call is released straight back to your wallet.

How do I get a Aadhaar eSign API key?

Sign up at apisathi.in — it takes about a minute — and create a key under API Keys. Use the TEST key in the sandbox, then recharge from ₹200 and switch to a LIVE key. The same key works for every API on API Sathi.

Start using the Aadhaar eSign API today

Sign up, recharge a prepaid wallet and generate a key in minutes. Lowest price guaranteed, no volume commitment.