Skip to content
PramaanDPDP Live
Sandbox-first API

API quickstart

Use sandbox fixture records only. Real identity data belongs in approved production flows.

Fixture data onlyNo real PIIIdempotencyConsent purposeProduction review
3-call sandbox pattern
curl -X POST https://sandbox.pramaan.online/v1/verify \
  -H "Authorization: Bearer $PRAMAAN_SANDBOX_KEY" \
  -H "Idempotency-Key: demo-fixture-001" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": {
      "name": "Sandbox Worker",
      "phone": "+910000000000"
    },
    "purpose": "household_help_verification_demo",
    "checks": ["identity", "address"],
    "fixture": "fixture_green_domestic_help"
  }'
Quickstart

Three careful calls.

Create a request, confirm consent, and handle result states without leaking identity data into logs or examples.

1

Create verification

Send fixture-only request with purpose and idempotency.

curl -X POST https://sandbox.pramaan.online/v1/verify \
  -H "Authorization: Bearer $PRAMAAN_SANDBOX_KEY" \
  -H "Idempotency-Key: demo-fixture-001" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": {
      "name": "Sandbox Worker",
      "phone": "+910000000000"
    },
    "purpose": "household_help_verification_demo",
    "checks": ["identity", "address"],
    "fixture": "fixture_green_domestic_help"
  }'
2

Capture/confirm consent

Use hosted consent copy or your approved enterprise consent text.

const response = await fetch("https://sandbox.pramaan.online/v1/verify", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.PRAMAAN_SANDBOX_KEY}`,
    "Idempotency-Key": "demo-fixture-001",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    subject: { name: "Sandbox Worker", phone: "+910000000000" },
    purpose: "household_help_verification_demo",
    checks: ["identity", "address"],
    fixture: "fixture_green_domestic_help"
  })
});
3

Receive result

Handle pending, green, amber, red, and error states safely.

{
  "id": "evt_sandbox_001",
  "type": "verification.verdict_emitted",
  "created_at": "2026-05-25T00:00:00Z",
  "data": {
    "verification_id": "vfr_sandbox_001",
    "fixture": "fixture_green_domestic_help",
    "status": "completed",
    "signal": "green"
  }
}

Keep sandbox keys and production API keys separate.

Sandbox keys are for fixture payloads only. Production keys are issued only after purpose, consent, logging, DSR, and support routes are reviewed.

Never paste real API keys, Aadhaar, PAN, OTPs, raw documents, or private keys into examples, screenshots, tickets, or chat.

Build consent-first verification carefully.

Start in sandbox with fixture data, then move to production only after purpose, consent copy, logging, DSR, and support routes are reviewed.