API Sathi docs
← All products

Aadhaar OKYC

kyc

OTP-based Aadhaar verification (Offline KYC). Two-step: generate OTP, submit OTP.

POST /gw/v1/aadhaar-okyc-v1/SLA p95: 3500 ms

Authentication

Pass your key in the X-API-Key header. Use a test_ key against the sandbox and a live_ key in production. Send an optional Idempotency-Key header to safely retry — the same key returns the same response for 24h.

X-API-Key: live_xxxxxxxxxxxx

Request

Endpoint: POST https://apisathi.dsasathi.com/gw/v1/aadhaar-okyc-v1

FieldTypeRequiredConstraints
otpstringrequiredpattern: ^\d{6}$
aadhaarstringrequiredpattern: ^\d{12}$
otp_referencestringrequired

Code snippets

curl -X POST https://apisathi.dsasathi.com/gw/v1/aadhaar-okyc-v1/ \
  -H "X-API-Key: $API_SATHI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"otp":"123456","aadhaar":"999999990019","otp_reference":"ref_sandbox_001"}'

Response

FieldTypeRequiredConstraints
dobstringoptional
namestringoptional
genderstringoptional
addressobjectoptional
verifiedbooleanoptional

Sample response

{
  "dob": "1968-05-13",
  "name": "Shivshankar Choudhry",
  "gender": "M",
  "address": {
    "house": "12",
    "state": "Rajasthan",
    "street": "MG Road",
    "pincode": "302001",
    "district": "Jaipur"
  },
  "verified": true
}

Error codes

CodeHTTPWhen
INVALID_INPUT422Request body failed schema validation.
INVALID_API_KEY401Missing, malformed, or revoked X-API-Key.
OUT_OF_SCOPE403API key is not scoped for this product.
INSUFFICIENT_BALANCE402Wallet balance is below the per-call sale price.
RATE_LIMITED429Per-key RPS or RPM limit exceeded. See Retry-After.
ROUTER_NO_VENDOR503No healthy vendor is currently available for this product.
VENDOR_AUTH_FAILED502Upstream vendor rejected our credentials.
VENDOR_ERROR502Upstream vendor returned an unexpected error.
TIMEOUT504Upstream vendor did not respond within the SLA window.

OpenAPI 3.1

Generated from this product's request/response JSON Schemas.

{
  "openapi": "3.1.0",
  "info": {
    "title": "API Sathi — Aadhaar OKYC",
    "version": "1.0.0",
    "description": "OTP-based Aadhaar verification (Offline KYC). Two-step: generate OTP, submit OTP."
  },
  "servers": [
    {
      "url": "https://apisathi.dsasathi.com/gw/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "Your live or test key, e.g. `live_xxxxxxxxxxxx`."
      }
    }
  },
  "paths": {
    "/aadhaar-okyc-v1": {
      "post": {
        "operationId": "aadhaarOkycV1",
        "tags": [
          "kyc"
        ],
        "summary": "Aadhaar OKYC",
        "description": "OTP-based Aadhaar verification (Offline KYC). Two-step: generate OTP, submit OTP.",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional. Same key returns the same response for 24h."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "aadhaar",
                  "otp_reference",
                  "otp"
                ],
                "properties": {
                  "otp": {
                    "type": "string",
                    "pattern": "^\\d{6}$"
                  },
                  "aadhaar": {
                    "type": "string",
                    "pattern": "^\\d{12}$"
                  },
                  "otp_reference": {
                    "type": "string"
                  }
                }
              },
              "example": {
                "otp": "123456",
                "aadhaar": "999999990019",
                "otp_reference": "ref_sandbox_001"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful, normalized response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dob": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "gender": {
                      "type": "string"
                    },
                    "address": {
                      "type": "object"
                    },
                    "verified": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "dob": "1968-05-13",
                  "name": "Shivshankar Choudhry",
                  "gender": "M",
                  "address": {
                    "house": "12",
                    "state": "Rajasthan",
                    "street": "MG Road",
                    "pincode": "302001",
                    "district": "Jaipur"
                  },
                  "verified": true
                }
              }
            }
          },
          "401": {
            "description": "Missing, malformed, or revoked X-API-Key.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Wallet balance is below the per-call sale price.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "API key is not scoped for this product.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Request body failed schema validation.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Per-key RPS or RPM limit exceeded. See Retry-After.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream vendor rejected our credentials.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "No healthy vendor is currently available for this product.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream vendor did not respond within the SLA window.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "call_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}