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:
- Access Surepass Dashboard:
- Log in to your Surepass account at https://surepass.io
- Navigate to the API Settings or Developer section
- Locate your API credentials section
- Request API Access:
- If you don't have an API token, fill out the API access request form at https://surepass.io/get-api-key/
- The Surepass team will reach out within 24 hours for onboarding
- Test APIs in the sandbox environment before production use
- Generate or Copy API Token:
- Once approved, generate a new API token from your dashboard
- Copy the API token securely
- Store it in a secure location for reference
Add connection
Here is how to add a connection on Leena AI:
- Log in to your Leena AI workspace
- Navigate to Settings > Integrations
- Search for "Surepass" and select it from the list to add its new connector
- Start configuring the connector
- Auth Type: Select "Surepass Bearer Auth"
- API Token: Your Surepass API token (e.g., sk_live_xxxxxxxxxxxxx)
- 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
- 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
| Name | Description |
|---|---|
| Aadhaar Number | The 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
| Name | Description |
|---|---|
| Client ID | Unique Client ID generated from "Generate Aadhaar OTP" API |
| OTP | The 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
| Name | Description |
|---|---|
| Aadhaar Number | The 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
| Name | Description |
|---|---|
| Account Number | The bank account number which needs to be validated |
| IFSC Code | IFSC code of the bank branch (e.g., SBIN0000123) |
Optional
| Name | Description |
|---|---|
| Include IFSC Details | Whether 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
| Name | Description |
|---|---|
| Account Number | The bank account number which needs to be validated |
| IFSC Code | IFSC code of the bank branch (e.g., SBIN0000123) |
Optional
| Name | Description |
|---|---|
| Include IFSC Details | Whether 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
| Name | Description |
|---|---|
| E-Sign Type | Type of e-sign to initialize (SureSign, NSDL, NSDL with Stamp, HSM) |
| PDF Pre-uploaded | Indicates if the PDF is being uploaded by merchant (Boolean) |
| Signing Reason | Reason for the eSign process |
| Signature Positions | Signature positions with page number, X coordinate, and Y coordinate |
Optional
| Name | Description |
|---|---|
| PDF URL | URL of the PDF to upload after initialization (required if PDF Pre-uploaded is true) |
| Callback Source | Source for the URL to be called after eSign process is complete (e.g., Onboarding) |
| Skip OTP | Skip OTP verification during the eSign process (Boolean) |
| Full Name | Full name for pre-filling the form |
| Mobile Number | Mobile number for pre-filling the form |
| Email address for pre-filling the form | |
| Accept Selfie | Allow accepting selfie (for NSDL and NSDL with Stamp types) |
| Allow Selfie Upload | Allow selfie upload (for NSDL and NSDL with Stamp types) |
| Accept Virtual Sign | Allow virtual sign (for NSDL and NSDL with Stamp types) |
| Track Location | Track location during signing (for NSDL and NSDL with Stamp types) |
| Stamp Paper Amount | The amount for the stamp paper (for NSDL with Stamp type only) |
| Stamp Paper State | The state for which the stamp paper is issued (for NSDL with Stamp type only) |
| Stamp Data | Additional 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
| Name | Description |
|---|---|
| Client ID | ID 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
| Name | Description |
|---|---|
| Client ID | ID 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
| Name | Description |
|---|---|
| Client ID | ID 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
| Name | Description |
|---|---|
| Client ID | ID 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
| Name | Description |
|---|---|
| Client ID | ID Number of the client to get report for |
| Categories | Categories 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
Updated 3 days ago
