Surepass

Overview

The Surepass connector enables your Leena AI Agents to integrate with Surepass's digital identity verification and electronic signature platform, facilitating automated KYC workflows, identity verification, and e-signature processes.

Surepass is a digital identity verification platform that provides KYC (Know Your Customer) services, Aadhaar verification, bank account verification, and e-signature capabilities. The Surepass connector allows Leena AI to automate identity verification workflows, validate financial information, and facilitate electronic document signing seamlessly.

API Details

Leena AI integrates with Surepass via REST APIs.

Documentation link: https://surepass.io

Setup

The Surepass connector uses Bearer Token authentication.


Prerequisites

Before setting up the Surepass connector, ensure you have:

  • A Surepass account with appropriate API access
  • Valid API Token from Surepass dashboard
  • Access to your Leena AI workspace with connector management permissions
  • Basic understanding of KYC (Know Your Customer) and e-signature concepts
  • Compliance with applicable Indian data protection and privacy regulations
  • Aadhaar Act and UIDAI guidelines compliance (for Aadhaar-related actions)

Get credentials

Here is how to obtain API credentials from Surepass:

  1. Access Surepass Dashboard:
    1. Log in to your Surepass account at https://surepass.io
    2. Navigate to the API Settings or Developer section
    3. Locate your API credentials section
  2. Request API Access:
    1. If you don't have an API token, fill out the API access request form at https://surepass.io/get-api-key/
    2. The Surepass team will reach out within 24 hours for onboarding
    3. Test APIs in the sandbox environment before production use
  3. Generate or Copy API Token:
    1. Once approved, generate a new API token from your dashboard
    2. Copy the API token securely
    3. Store it in a secure location for reference

Add connection

Here is how to add a connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings > Integrations
  3. Search for "Surepass" and select it from the list to add its new connector
  4. Start configuring the connector
    1. Auth Type: Select "Surepass Bearer Auth"
    2. API Token: Your Surepass API token (e.g., sk_live_xxxxxxxxxxxxx)
  5. Required Permissions and Compliance:

Regulatory Compliance:

  • Ensure compliance with Aadhaar Act and UIDAI guidelines
  • Follow RBI guidelines for bank account verification
  • Adhere to IT Act provisions for electronic signatures
  • Maintain data privacy as per Indian data protection laws

Required Permissions:

  • E-sign service activation
  • Aadhaar verification service access
  • Bank verification service access
  • Document storage and retrieval permissions
  1. Test the connection and save the configuration

Actions

The following actions are supported for the Surepass connector:

Generate Aadhaar OTP

Generates an OTP for Aadhaar verification. The Agent can leverage the skill (workflow), which has been designed to initiate the Aadhaar OTP-based verification process, once the user provides their Aadhaar number. Here are some common use cases:

  • Identity Verification: Initiate secure identity verification during onboarding
  • KYC Compliance: Start the Know Your Customer verification process
  • OTP-Based Authentication: Generate OTP for Aadhaar-linked mobile number
  • Secure Onboarding: Begin secure employee or customer onboarding

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Aadhaar NumberThe 12-digit Aadhaar ID number to generate OTP

Here is a sample JSON input:

{
  "id_number": "123456789012"
}

Response

Upon successful OTP generation, the action returns:

  • Client ID (unique identifier for the verification session)
  • OTP sent status
  • Message confirmation

Submit Aadhaar OTP

Submits the OTP for Aadhaar verification. The Agent can leverage the skill (workflow), which has been designed to complete the Aadhaar verification by submitting the OTP received on the user's registered mobile number.

  • Complete Verification: Finish the Aadhaar OTP verification process
  • KYC Completion: Complete Know Your Customer requirements
  • Identity Confirmation: Confirm user identity with OTP validation
  • Data Retrieval: Retrieve demographic details upon successful verification

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Client IDUnique Client ID generated from "Generate Aadhaar OTP" API
OTPThe 6-digit OTP received on the Aadhaar linked mobile number

Here is a sample JSON input:

{
  "client_id": "abc123xyz789",
  "otp": "123456"
}

Response

Upon successful verification, the action returns comprehensive demographic information including:

  • Full name
  • Date of birth
  • Gender
  • Address details
  • Photo (base64 encoded)
  • Verification status

Aadhaar Validation

Validates an Aadhaar number for basic identity verification without OTP. The Agent can leverage the skill (workflow), which has been designed to perform a quick validation check on an Aadhaar number. Here are some common use cases:

  • Quick Validation: Perform basic Aadhaar number validation
  • Format Verification: Check if Aadhaar number format is valid
  • Existence Check: Verify if the Aadhaar number exists
  • Pre-screening: Quick identity pre-screening before full KYC

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Aadhaar NumberThe 12-digit Aadhaar ID number to validate

Here is a sample JSON input:

{
  "id_number": "123456789012"
}

Response

The action returns validation results including:

  • Aadhaar validity status
  • Age range of the Aadhaar holder
  • Gender
  • State of residence
  • Mobile number availability status

Bank Account Verification

Validates bank account details using penny drop verification. The Agent can leverage the skill (workflow), which has been designed to verify bank account details and confirm account existence. Here are some common use cases:

  • Account Verification: Verify bank account before processing payments
  • KYC Validation: Validate financial information for compliance
  • Penny Drop Test: Confirm account is active and accessible
  • Account Holder Verification: Verify account holder name matches provided details

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Account NumberThe bank account number which needs to be validated
IFSC CodeIFSC code of the bank branch (e.g., SBIN0000123)

Optional

NameDescription
Include IFSC DetailsWhether to include detailed information about the bank branch (default: true)

Here is a sample JSON input:

{
  "id_number": "1234567890123",
  "ifsc": "SBIN0001234",
  "ifsc_details": true
}

Response

The action returns verification results including:

  • Account holder name (as registered with bank)
  • Account existence status
  • Bank and branch details (if ifsc_details=true)
  • IMPS reference number
  • Transaction status

Bank Account Verification (Pennyless)

Validates bank account details without penny drop (instant verification). The Agent can leverage the skill (workflow), which has been designed to perform instant bank account verification without any monetary transaction. Here are some common use cases:

  • Instant Verification: Verify bank account instantly without penny drop
  • Cost-Effective KYC: Perform verification without transaction fees
  • Quick Validation: Fast account validation for high-volume onboarding
  • Account Existence Check: Confirm account validity without fund transfer

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Account NumberThe bank account number which needs to be validated
IFSC CodeIFSC code of the bank branch (e.g., SBIN0000123)

Optional

NameDescription
Include IFSC DetailsWhether to include detailed information about the bank branch (default: true)

Here is a sample JSON input:

{
  "id_number": "1234567890123",
  "ifsc": "HDFC0001234",
  "ifsc_details": true
}

Response

The action returns verification results including:

  • Account holder name (as registered with bank)
  • Account validity status
  • Bank and branch details (if ifsc_details=true)
  • Verification timestamp

Initialize E-Sign

Creates a new electronic signature request with configuration options. The Agent can leverage the skill (workflow), which has been designed to initiate electronic signature workflows for documents. Here are some common use cases:

  • Document Signing: Enable electronic signatures on PDF documents
  • Digital Onboarding: Facilitate paperless onboarding processes
  • Agreement Execution: Execute contracts and agreements digitally
  • Compliance Documentation: Obtain legally valid electronic signatures
  • Offer Letter Signing: Automate offer letter acceptance workflows

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
E-Sign TypeType of e-sign to initialize (SureSign, NSDL, NSDL with Stamp, HSM)
PDF Pre-uploadedIndicates if the PDF is being uploaded by merchant (Boolean)
Signing ReasonReason for the eSign process
Signature PositionsSignature positions with page number, X coordinate, and Y coordinate

Optional

NameDescription
PDF URLURL of the PDF to upload after initialization (required if PDF Pre-uploaded is true)
Callback SourceSource for the URL to be called after eSign process is complete (e.g., Onboarding)
Skip OTPSkip OTP verification during the eSign process (Boolean)
Full NameFull name for pre-filling the form
Mobile NumberMobile number for pre-filling the form
EmailEmail address for pre-filling the form
Accept SelfieAllow accepting selfie (for NSDL and NSDL with Stamp types)
Allow Selfie UploadAllow selfie upload (for NSDL and NSDL with Stamp types)
Accept Virtual SignAllow virtual sign (for NSDL and NSDL with Stamp types)
Track LocationTrack location during signing (for NSDL and NSDL with Stamp types)
Stamp Paper AmountThe amount for the stamp paper (for NSDL with Stamp type only)
Stamp Paper StateThe state for which the stamp paper is issued (for NSDL with Stamp type only)
Stamp DataAdditional stamp paper data including Name, DOB, Address, Passport Number, Email, Mobile, Mother's Name, Father's Name, Occupation, Work Address (for NSDL with Stamp type only)

Here is a sample JSON input:

// Basic E-Sign Initialization (SureSign)

{
  "sign_type": "SURESIGN",
  "pdf_pre_uploaded": false,
  "config": {
    "reason": "Part of the onboarding process",
    "skip_otp": false
  },
  "positions": [
    {
      "page": 1,
      "x": 100,
      "y": 200
    }
  ],
  "prefill_options": {
    "full_name": "John Doe",
    "mobile_number": "9876543210",
    "user_email": "[email protected]"
  }
}

// NSDL E-Sign with PDF Upload

{
  "sign_type": "NSDL",
  "pdf_pre_uploaded": true,
  "pdf_url": "https://example.com/documents/agreement.pdf",
  "callbackSource": "ONBOARDING",
  "config": {
    "reason": "Employment Agreement Signing",
    "skip_otp": false,
    "accept_selfie": true,
    "allow_selfie_upload": true,
    "accept_virtual_sign": true,
    "track_location": true
  },
  "positions": [
    {
      "page": 2,
      "x": 150,
      "y": 450
    }
  ],
  "prefill_options": {
    "full_name": "Jane Smith",
    "mobile_number": "9123456789",
    "user_email": "[email protected]"
  }
}

// NSDL with Stamp Paper

{
  "sign_type": "NSDL_WITH_STAMP",
  "pdf_pre_uploaded": true,
  "pdf_url": "https://example.com/documents/rental-agreement.pdf",
  "config": {
    "reason": "Rental Agreement Execution",
    "stamp_paper_amount": 100,
    "stamp_paper_state": "Maharashtra",
    "stamp_data": {
      "Name": "John Doe",
      "DOB": "1990-01-15",
      "Address": "123 Main Street, Mumbai",
      "Email": "[email protected]",
      "Mobile": "9876543210",
      "FathersName": "Robert Doe",
      "Occupation": "Software Engineer"
    }
  },
  "positions": [
    {
      "page": 5,
      "x": 100,
      "y": 500
    }
  ]
}

Response

Upon successful initialization, the action returns:

  • Client ID for the signature request
  • Redirect URL for user to complete signing
  • E-signature session details
  • Upload PDF response (if pdf_pre_uploaded is true)

Get Signed Document

Retrieves the signed PDF document after successful e-signature completion. The Agent can leverage the skill (workflow), which has been designed to download or access electronically signed documents. Here are some common use cases:

  • Document Retrieval: Download signed documents for storage
  • Archive Management: Store signed documents in document management systems
  • Audit Trail: Retrieve documents for compliance and audit purposes
  • Document Distribution: Share signed documents with relevant parties

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Client IDID Number of the client to get signed document for (from Initialize E-Sign)

Here is a sample JSON input:

{
  "client_id": "1001234"
}

Response

The action returns:

  • Download URL for signed document
  • Signed PDF data (base64 encoded)
  • Document metadata
  • Signature details

Get Status

Retrieves the current status of an e-signature transaction. The Agent can leverage the skill (workflow), which has been designed to check the progress of an e-signature request. Here are some common use cases:

  • Status Tracking: Monitor the progress of signature requests
  • Workflow Automation: Trigger actions based on signature status
  • User Notification: Notify users about pending or completed signatures
  • Process Management: Manage multi-step signing workflows

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Client IDID Number of the client to get status for

Here is a sample JSON input:

{
  "client_id": "1001234"
}

Response

The action returns:

  • Current e-sign status (CLIENT_INITIATED, OTP_SENT, OTP_VERIFIED, ESIGN_STARTED, ESIGN_COMPLETED, ESIGN_FAILED)
  • Status timestamp
  • Transaction details

Get Audit Trail

Retrieves the detailed audit trail of an e-signature transaction. The Agent can leverage the skill (workflow), which has been designed to fetch compliance and audit information for signed documents. Here are some common use cases:

  • Compliance Documentation: Retrieve audit logs for regulatory compliance
  • Legal Evidence: Obtain detailed signing event logs for legal purposes
  • Process Verification: Verify the signing process and timeline
  • Dispute Resolution: Access detailed transaction history

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Client IDID Number of the client to get audit trail for

Here is a sample JSON input:

{
  "client_id": "1001234"
}

Response

The action returns:

  • Detailed audit trail of signing events
  • Timestamps for each action
  • IP addresses and location data (if captured)
  • User actions and verifications performed

Get Upload Link

Retrieves a link for uploading a document for e-signature. The Agent can leverage the skill (workflow), which has been designed to obtain an upload URL when the PDF was not provided during initialization. Here are some common use cases:

  • Deferred Upload: Upload documents after e-sign initialization
  • Dynamic Documents: Generate upload links for documents created after workflow initiation
  • Integration Flexibility: Support various document upload workflows

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Client IDID Number of the client to get upload link for

Here is a sample JSON input:

{
  "client_id": "1001234"
}

Response

The action returns:

  • Upload URL for document submission
  • URL expiry time
  • Upload instructions

Get Report

Retrieves a detailed report for an e-signature transaction. The Agent can leverage the skill (workflow), which has been designed to generate comprehensive reports for completed e-signature processes. Here are some common use cases:

  • Transaction Reports: Generate detailed reports for completed signatures
  • Name Matching: Verify name match between documents and signer
  • Compliance Reporting: Create reports for regulatory requirements
  • Analytics: Gather data for signature process analytics

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Client IDID Number of the client to get report for
CategoriesCategories to include in the report (e.g., name_match)

Here is a sample JSON input:

{
  "client_id": "1001234",
  "categories": ["name_match"]
}

Response

The action returns:

  • Detailed report based on selected categories
  • Name match results (if selected)
  • Transaction summary
  • Verification details