TVS Credit Saathi icon

TVS Credit Saathi agreement, EMI and Insta Card fields

TVS Credit Services Limited · Lending

TVS Credit Saathi is the customer Android app from TVS Credit Services Limited, the Chennai-headquartered Indian NBFC in the TVS Group. Borrowers track two-wheeler, three-wheeler, tractor, used-car and consumer-durable loans, pay EMI through Paytm, Airtel Payments Bank, Atom, HDFC and UPI, and use Insta Loan and Insta Card services. The app also provides a dealer locator, NOC and emailed statement requests, and support tickets. Sign-in uses the registered mobile number, customer name and an SMS OTP. It serves existing TVS Credit borrowers across India alongside vehicle-finance services from Bajaj Finance, Shriram Finance and Mahindra Finance.

Vehicle-linked agreement records connect agreementNumber, vehicleNumber and modelDesc with loanAmount, emiAmount, tenur and rateOfInterest. Collection views bring together receivableEmi, nextPaymentDate, charges, collected, outstanding and receivable; payment preparation adds dueamount, txnId and txncurr. Receipt records contribute receiptNo, receiptDate and receiptAmount for reconciliation, while accountStatus, forecloseStatus and noc_flag describe account and closure states.

Insta Card records pair cardLimit and currentBalance with chassisNo, assetModel and isActive, supporting vehicle-linked credit-limit monitoring. Origination records retain Pancard, Adharcard, LoanAmount, Tenure, MonthIncome and Dealercode alongside leadNo and leadStatus for application-completeness checks. Dealer coverage uses dealerName, lat and lng, and support records carry referenceNumber for ticket tracking. With appropriate authorization for borrower-specific records, collection teams, vehicle-finance aggregators and CRM desks can build EMI dashboards, card-limit monitors and dealer-coverage views; openData Studio turns these data structures into callable open data. The API paths and example values below are illustrative, not a live service contract.

Screenshots

  • TVS Credit Saathi screenshot 1
  • TVS Credit Saathi screenshot 2
  • TVS Credit Saathi screenshot 3
  • TVS Credit Saathi screenshot 4
  • TVS Credit Saathi screenshot 5
  • TVS Credit Saathi screenshot 6
  • TVS Credit Saathi screenshot 7

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Register customer and send OTP

    POST /v1/access/otp-request osint

    Starts borrower sign-in using mobile and customername; returns existingCustomer, isCDCustomer, isFormFilled and otpSrNo for the OTP confirmation screen.

    Auth: Unauthenticated form body with mobile, customername and imei. The returned otpSrNo links the OTP confirmation step; later signed-in calls use sid and loginTime.

    • name
    • mobile
    • customername
    • imei
    • version
    • statusCode
    • statusMessage
    • customerName
    • existingCustomer
    • isCDCustomer
    • isFormFilled
    • otpSrNo
    • versionChange
    POST /v1/access/otp-request HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=otp_request&mobile=%3Cmobile%3E&customername=Demo+Borrower&imei=%3Cdevice-id%3E&version=demo
    {
      "statusCode": "200",
      "statusMessage": "Illustrative OTP request accepted",
      "customerName": "Demo Borrower",
      "existingCustomer": "Y",
      "isCDCustomer": "N",
      "isFormFilled": "Y",
      "otpSrNo": "DEMO-OTP-001",
      "versionChange": false
    }
  • Validate OTP and load loan book

    POST /v1/access/otp-confirmation openfinance

    Confirms otpnumber for otpseqno and returns sid, loginTime and the loan book, including agreementNumber, emiAmount, nextPaymentDate, receivableEmi, vehicleNumber and accountStatus for My Loans.

    Auth: Unauthenticated form body with otpseqno and otpnumber. Successful OTP confirmation returns sid and loginTime for subsequent signed-in requests.

    • name
    • mobile
    • otpseqno
    • otpnumber
    • sid
    • loginTime
    • customerName
    • customerDob
    • noOfActiveLoans
    • noOfClosedLoans
    • agreementNumber
    • loanAmount
    • emiAmount
    • tenur
    • rateOfInterest
    • receivableEmi
    • nextPaymentDate
    • vehicleNumber
    • modelDesc
    • accountStatus
    • forecloseStatus
    • customerIrr
    • prospectNumber
    POST /v1/access/otp-confirmation HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=otp_confirm&mobile=%3Cmobile%3E&otpseqno=DEMO-OTP-001&otpnumber=%3Cotp%3E
    {
      "sid": "<session-token>",
      "loginTime": "2026-10-27 09:00:00",
      "customerName": "Demo Borrower",
      "customerDob": "<date-of-birth>",
      "noOfActiveLoans": "1",
      "noOfClosedLoans": "0",
      "loanArray": [
        {
          "agreementNumber": "DEMO-TW-001",
          "loanAmount": "85000",
          "emiAmount": "4182.20",
          "tenur": "24",
          "rateOfInterest": "16.5",
          "receivableEmi": "4182.20",
          "nextPaymentDate": "05/11/2026",
          "vehicleNumber": "<vehicle-number>",
          "modelDesc": "TVS Apache RTR 160",
          "accountStatus": "Active",
          "forecloseStatus": "N",
          "customerIrr": "17.2",
          "prospectNumber": "DEMO-PROSPECT-001"
        }
      ]
    }
  • Calculate EMI

    POST /v1/finance/emi-estimates openfinance

    Calculates emiamount, totalinterest and totalpayment from loanamount, roi and tenur for the EMI Calculator screen.

    Auth: Form body; sid and loginTime are optional when a signed-in session is available.

    • name
    • loanamount
    • roi
    • tenur
    • emiamount
    • totalinterest
    • totalpayment
    • statusCode
    • statusMessage
    POST /v1/finance/emi-estimates HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=emi_estimate&loanamount=85000&roi=16.5&tenur=24
    {
      "statusCode": "200",
      "statusMessage": "Illustrative estimate",
      "emi": [
        {
          "loanamount": "85000",
          "roi": "16.5",
          "tenur": "24",
          "emiamount": "4182.20",
          "totalinterest": "15372.80",
          "totalpayment": "100372.80"
        }
      ]
    }
  • Balance and charges statement

    POST /v1/agreements/balance-overview openfinance

    Returns charges, collected, outstanding and receivable for agreementno on the Charges screen.

    Auth: Form body with sid and logintime from the OTP session, plus imei and mobile.

    • name
    • mobile
    • agreementno
    • imei
    • logintime
    • sid
    • charges
    • collected
    • outstanding
    • receivable
    • statusCode
    POST /v1/agreements/balance-overview HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=balance_overview&mobile=%3Cmobile%3E&agreementno=DEMO-TW-001&imei=%3Cdevice-id%3E&logintime=2026-10-27+09%3A00%3A00&sid=%3Csession-token%3E
    {
      "statusCode": "200",
      "balanceStatements": [
        {
          "charges": "450",
          "collected": "34000",
          "outstanding": "51000",
          "receivable": "4182.20"
        }
      ]
    }
  • Customer payment receipts

    POST /v1/agreements/receipt-history openfinance

    Lists receiptNo, receiptDate, receiptAmount and receiptType for agreementno on the Receipt Details screen.

    Auth: Form body with sid and loginTime from the OTP session, plus imei and mobile.

    • name
    • mobile
    • agreementno
    • sid
    • receiptNo
    • receiptDate
    • receiptAmount
    • receiptType
    • statusCode
    POST /v1/agreements/receipt-history HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=receipt_history&mobile=%3Cmobile%3E&agreementno=DEMO-TW-001&sid=%3Csession-token%3E&imei=%3Cdevice-id%3E&logintime=2026-10-27+09%3A00%3A00
    {
      "statusCode": "200",
      "receipts": [
        {
          "receiptNo": "DEMO-RECEIPT-001",
          "receiptDate": "05/10/2026",
          "receiptAmount": "4182.20",
          "receiptType": "EMI"
        }
      ]
    }
  • Insta Card details

    POST /v1/credit-lines/card-overview openfinance

    Loads Insta Card cardNo, cardLimit, currentBalance, chassisNo and assetModel for the Insta Card screen.

    Auth: Form body with mobile after OTP confirmation; sid and loginTime belong to the signed-in session.

    • name
    • mobile
    • cardNo
    • cardType
    • cardLimit
    • currentBalance
    • cardValidFrom
    • cardValidUpto
    • customerName
    • customerNo
    • chassisNo
    • assetModel
    • isActive
    • sourceSystem
    POST /v1/credit-lines/card-overview HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=card_overview&mobile=%3Cmobile%3E&sid=%3Csession-token%3E&logintime=2026-10-27+09%3A00%3A00
    {
      "cardDetails": {
        "cardNo": "<masked-card-number>",
        "cardType": "INSTA",
        "cardLimit": "50000",
        "currentBalance": "18500",
        "cardValidFrom": "01/04/2026",
        "cardValidUpto": "31/03/2029",
        "customerName": "Demo Borrower",
        "customerNo": "DEMO-BORROWER-001",
        "chassisNo": "<chassis-number>",
        "assetModel": "TVS Apache RTR 160",
        "isActive": "Y",
        "sourceSystem": "LMS"
      }
    }
  • Insta Loan applications

    POST /v1/credit-applications/history openfinance

    Returns Insta Loan application rows with leadId, leadStatus, appliedAmount, appliedDate, appliedCity and appliedState for the loan application list.

    Auth: Form body with mobile after OTP confirmation.

    • name
    • mobile
    • leadId
    • leadStatus
    • appliedAmount
    • appliedDate
    • appliedCity
    • appliedState
    • statusCode
    POST /v1/credit-applications/history HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=application_history&mobile=%3Cmobile%3E
    {
      "statusCode": "200",
      "myLoans": [
        {
          "leadId": "DEMO-LEAD-001",
          "leadStatus": "IN_PROGRESS",
          "appliedAmount": "40000",
          "appliedDate": "12/10/2026",
          "appliedCity": "Chennai",
          "appliedState": "TN"
        }
      ]
    }
  • Apply Insta Loan

    POST /v1/credit-applications/submissions openfinance

    Submits amount against a preapproved limit with leadid, referenceid, state and city; returns Lead_Status and InsertLMSDataResult for the Insta Loan application flow.

    Auth: Form body with sid and logintime from the OTP session, plus imei and mobile.

    • name
    • mobile
    • amount
    • referenceid
    • leadid
    • leadstatus
    • preapproved
    • state
    • city
    • sid
    • Lead_Status
    • InsertLMSDataResult
    • statusCode
    POST /v1/credit-applications/submissions HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=application_submit&mobile=%3Cmobile%3E&amount=40000&referenceid=DEMO-REFERENCE-001&leadid=DEMO-LEAD-001&leadstatus=NEW&preapproved=50000&state=TN&city=Chennai&sid=%3Csession-token%3E&imei=%3Cdevice-id%3E&logintime=2026-10-27+09%3A00%3A00
    {
      "statusCode": "200",
      "Lead_Status": "NEW",
      "InsertLMSDataResult": "DEMO-LEAD-001"
    }
  • Nearest dealers

    POST /v1/outlets/nearby-search opendata

    Returns dealers near lat and lng for a portfolio, including dealerName, phoneNumber and porfolio for the Dealer Locator map.

    Auth: Form body; no session token is specified for this location lookup. lat and lng supply the search location and portfolio selects the dealer type.

    • name
    • lat
    • lng
    • portfolio
    • dealerName
    • phoneNumber
    • porfolio
    • statusCode
    POST /v1/outlets/nearby-search HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=nearby_outlets&lat=13.0827&lng=80.2707&portfolio=TW
    {
      "statusCode": "200",
      "dealers": [
        {
          "dealerName": "Demo Two-Wheeler Outlet",
          "lat": "13.0495",
          "lng": "80.2121",
          "phoneNumber": "<dealer-phone>",
          "porfolio": "TW"
        }
      ]
    }
  • Agreement details for payment

    POST /v1/repayments/agreement-lookup openfinance

    Resolves agreementnumber or regno to dueamount, ECSCustomer and payment configuration fields txnId and txnscamt for Pay Now.

    Auth: Form body with userid representing the borrower mobile number; no Bearer token is specified for this payment lookup.

    • name
    • userid
    • agreementnumber
    • regno
    • agreementNumber
    • customerName
    • dueamount
    • emailid
    • mobile
    • registrationnumber
    • ECSCustomer
    • merchantId
    • paymentType
    • txnId
    • txnscamt
    • txndate
    • txncurr
    • billingCity
    • billingState
    POST /v1/repayments/agreement-lookup HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=repayment_lookup&userid=%3Cmobile%3E&agreementnumber=DEMO-TW-001&regno=%3Cvehicle-number%3E
    {
      "customerDetail": {
        "agreementNumber": "DEMO-TW-001",
        "customerName": "Demo Borrower",
        "dueamount": "4182.20",
        "emailid": "<borrower-email>",
        "mobile": "<mobile>",
        "registrationnumber": "<vehicle-number>",
        "ECSCustomer": "Y"
      },
      "payconfig": {
        "merchantId": "<merchant-id>",
        "paymentType": "EMI",
        "txnId": "DEMO-TRANSACTION-001",
        "txnscamt": "4182.20",
        "txndate": "2026-10-27",
        "txncurr": "INR",
        "billingCity": "Chennai",
        "billingState": "TN"
      }
    }
  • Initialize EMI payment

    POST /v1/repayments/session-start openbanking

    Starts an EMI payment for paymentmedium, such as PAYTM, AIRTEL, ATOM, HDFC or UPI, with payingAmount inside data; returns statusCode and suspiciousflag before gateway hand-off.

    Auth: Form body with sid from the OTP session, userid representing mobile, imei, lat, lng and logintime.

    • name
    • userid
    • data
    • sid
    • imei
    • lat
    • lng
    • logintime
    • paymentmedium
    • statusCode
    • suspiciousflag
    • payingAmount
    • agreementNumber
    POST /v1/repayments/session-start HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=repayment_start&userid=%3Cmobile%3E&data=%7B%22agreementNumber%22%3A%22DEMO-TW-001%22%2C%22payingAmount%22%3A%224182.20%22%7D&sid=%3Csession-token%3E&imei=%3Cdevice-id%3E&lat=13.0827&lng=80.2707&logintime=2026-10-27+09%3A00%3A00&paymentmedium=UPI
    {
      "statusCode": "200",
      "suspiciousflag": "N"
    }
  • Insert LMS origination lead

    POST /v1/origination/lead-submissions osint

    Creates an origination lead with Pancard, Adharcard, LoanAmount, Tenure, MonthIncome and Dealercode; returns leadNo and leadStatus for two-wheeler financing.

    Auth: JSON body with no Bearer token specified; AgencyCode identifies the Saathi application channel.

    • ProductCode
    • ChannelCode
    • AgencyCode
    • Name
    • LastName
    • Dob
    • Mobile
    • Pincode
    • StateCode
    • Citycode
    • Pancard
    • Adharcard
    • LoanAmount
    • Tenure
    • EMIcomfort
    • MonthIncome
    • Make
    • Model
    • Dealercode
    • leadNo
    • leadStatus
    POST /v1/origination/lead-submissions HTTP/1.1
    Content-Type: application/json
    
    {
      "ProductCode": "TW",
      "ChannelCode": "SAATHI",
      "AgencyCode": "SAATHI",
      "Name": "Demo",
      "LastName": "Borrower",
      "Dob": "<date-of-birth>",
      "Mobile": "<mobile>",
      "Pincode": "600001",
      "StateCode": "TN",
      "Citycode": "CHN",
      "Pancard": "<pan>",
      "Adharcard": "<aadhaar>",
      "LoanAmount": 85000,
      "Tenure": 24,
      "EMIcomfort": 4182,
      "MonthIncome": 35000,
      "Make": "TVS",
      "Model": "Apache RTR 160",
      "Dealercode": "DEMO-DEALER-001"
    }
    {
      "leadNo": "DEMO-LEAD-002",
      "leadStatus": "NEW"
    }
  • Create CRM support incident

    POST /v1/support/ticket-submissions opendata

    Opens a loan-related CRM incident with subject and primaryContact; returns id, lookupName and referenceNumber for the Query Status ticket display.

    Auth: Authorization: Basic <integration-credentials>. This integration session is independent of the borrower sid.

    • subject
    • primaryContact
    • customFields
    • id
    • lookupName
    • referenceNumber
    • createdTime
    • updatedTime
    POST /v1/support/ticket-submissions HTTP/1.1
    Authorization: Basic <integration-credentials>
    Content-Type: application/json
    
    {
      "subject": "Demo EMI date query",
      "primaryContact": {
        "id": "<contact-id>"
      },
      "customFields": {
        "cO": {
          "loan": {
            "id": "<agreement-id>"
          }
        }
      }
    }
    {
      "id": 1001,
      "lookupName": "DEMO-TICKET-001",
      "referenceNumber": "DEMO-QUERY-001",
      "subject": "Demo EMI date query",
      "createdTime": "2026-10-27T09:00:00Z",
      "updatedTime": "2026-10-27T09:00:00Z"
    }
  • Email loan statement

    POST /v1/documents/email-requests opendata

    Emails a selected statement type, such as SOA, NOC, insurance, sanction or loan agreement, for agreementno to email from Request Statement.

    Auth: Form body with sid and loginTime from the OTP session, plus imei and mobile.

    • name
    • mobile
    • agreementno
    • email
    • statement
    • sid
    • statusCode
    • statusMessage
    POST /v1/documents/email-requests HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=email_document&mobile=%3Cmobile%3E&agreementno=DEMO-TW-001&email=%3Cborrower-email%3E&statement=SOA&sid=%3Csession-token%3E&imei=%3Cdevice-id%3E&logintime=2026-10-27+09%3A00%3A00
    {
      "statusCode": "200",
      "statusMessage": "Illustrative statement email request accepted"
    }
  • Check NOC eligibility

    POST /v1/agreements/noc-check opendata

    Returns noc_flag for agreementno so the NOC Statement action can be enabled on an eligible closed or matured loan.

    Auth: Form body identifying the closed or matured agreement with agreementno; no session token is specified for this check.

    • name
    • agreementno
    • noc_flag
    • statusCode
    • statusMessage
    POST /v1/agreements/noc-check HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    name=noc_eligibility&agreementno=DEMO-TW-001
    {
      "noc_flag": "Y",
      "statusCode": "200",
      "statusMessage": "Illustrative eligibility result"
    }

Data categories

  • loan_agreements
  • emi_schedules
  • insta_cards
  • kyc_leads
  • dealers
  • payments
  • receipts
  • crm_tickets

Where teams use this data

  • Vehicle-loan EMI collection dashboard

    Read agreementNumber, emiAmount, receivableEmi, nextPaymentDate and accountStatus from the OTP loan book, then join dueamount from agreement details so a collector can see which two-wheeler contracts are due this cycle.

  • Insta Card limit monitoring

    Poll cardLimit, currentBalance, cardNo, chassisNo and isActive to watch unused Insta Card headroom against the linked assetModel before a top-up offer.

  • Two-wheeler origination KYC completeness

    Require Pancard, Adharcard, MonthIncome, Dealercode and Pincode on InsertLMSData and store leadNo / leadStatus so a DSA desk can chase incomplete Saathi-channel applications.

  • Dealer coverage versus live books

    Overlay dealerName, lat, lng and porfolio from nearest-dealer pins on live loanArray vehicleNumber / modelDesc rows to see which TVS outlets sit under active TW contracts.

Frequently asked questions

How does TVS Credit Saathi authenticate borrowers?

Borrower sign-in uses a registered mobile number and customer name followed by an SMS OTP. OTP confirmation provides sid and loginTime for subsequent signed-in requests, with imei identifying the device. CRM support uses a separate HTTP Basic integration session. The published path-only examples illustrate sign-in, agreements, EMI, Insta Card, lead submission and support data; they are not live service endpoints. Sample records are fictional and placeholders are not working credentials. Borrower-specific information requires appropriate authorization.

Which loan agreement and EMI fields are represented?

Loan records include agreementNumber, loanAmount, emiAmount, tenur, rateOfInterest, receivableEmi and nextPaymentDate, linked to vehicleNumber and modelDesc. accountStatus and forecloseStatus describe the agreement state; balance statements add charges, collected, outstanding and receivable.

Can the payment data represent the amount due before an EMI payment?

The illustrative payment lookup associates an agreement number or vehicle registration with dueamount and ECSCustomer. Payment configuration includes txnId, txnscamt and txncurr, while paymentmedium identifies a Paytm, Airtel, Atom, HDFC or UPI hand-off. Example values do not represent an actual payable amount or initiate a transaction.

What does the Insta Card data include?

The card view includes cardNo, cardType, cardLimit, currentBalance, cardValidFrom and cardValidUpto, with chassisNo and assetModel linking the card to a vehicle. isActive describes the card state. These fields support limit and balance monitoring with authorization for the borrower account.

Apps similar to TVS Credit Saathi

  • Bajaj Finance — Bajaj Finance is an India NBFC that offers two-wheeler loans from ₹35,000 to ₹21 lakh, with financing of up to 100% of on-road price and repayment tenures from 6 to 84 months.
  • Shriram One — Shriram One is Shriram Finance's India app for two-wheeler, used-car, commercial-vehicle, personal, business and gold loans, with two-wheeler financing advertised from ₹10,000 to ₹2 lakh at rates starting from 10% p.a. over 12–60 months.
  • Hero FinCorp — Hero FinCorp is an India NBFC that advertises two-wheeler loans of up to ₹3.5 lakh covering up to 95% of vehicle cost, with published interest from 14% p.a., plus used-car and personal loans.
  • Cholamandalam Finance — Cholamandalam Finance (Chola) is an India NBFC that finances new and used cars, two-wheelers, three-wheelers, tractors, commercial vehicles and construction equipment, and lets borrowers pay vehicle EMI online.
  • L&T Finance : PLANET Loan App — L&T Finance is an India NBFC whose PLANET app originates personal loans, and whose two-wheeler loans advertise funding of up to ₹20 lakh with repayment of up to five years for commuter, electric and superbike purchases.
  • Mahindra Finance — Mahindra & Mahindra Financial Services is a Mumbai-headquartered India NBFC that finances vehicles and tractors for rural and semi-urban customers and reports more than 1,000 offices across the country.
  • Sundaram Finance — Sundaram Finance is an India NBFC that offers car, commercial-vehicle, construction-equipment, farm-equipment, diesel and tyre finance, along with fixed deposits and an online EMI calculator.

Topics

  • TVS Credit Saathi API
  • TVS Credit loan agreements
  • TVS Credit EMI balances
  • Insta Card cardLimit
  • TVS Credit KYC lead fields
  • TVS Credit dealer locator
  • India vehicle finance data
  • TVS Credit payment dueamount

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote