RING personal-loan, CoinZ, CKYC and EMI APIs
RING by Kissht: Personal Loan is OnEMI Technology Solutions Limited's India consumer-lending client (Play package com.ideopay.user, the Pay With Ring stack that also ships Kissht). Borrowers register with a mobile number, finish 100% digital PAN and KYC, then take an unsecured personal loan from ₹5,000 to ₹5,00,000 over 6–60 months at interest from 1% per month (published APR 17%–45%). The Play listing's worked example sanctions ₹60,000 for 18 months at 33% p.a. with a ₹4,248 processing fee including GST and a ₹4,271 EMI; net disbursal is ₹55,752. Funds are described as same-day after online agreements with RBI-registered NBFCs Si Creva Capital, MAS Financial Services, Northern Arc Capital and SMFG India Credit. The same Android client hosts PayWithRing UPI, a revolving Flexi/Ring limit, an SBM wallet-card, CoinZ rewards, Credit Pulse bureau scores, account-aggregator bank pulls, BNPL and insurance add-ons. Google Play rates it about 4.87 across 1,213,540 reviews and the listing claims 10 million-plus Indian users; it sits next to Kissht (com.fastbanking), Money View, KreditBee and CASHe for salaried and self-employed borrowers.
CoinZ reward ledgers pin coinz to the signed-in borrower, and Credit Pulse detail returns credit_score with last_score_updated_at after PAN validation.
Active EMI books expose emi_amount, outstanding_amount and loan_reference_number; the Flexi wallet snapshot carries wallet_balance and available_limit. Account-aggregator FIP lists add fip_id and fip_name for bank-statement pulls. Collections, LOS and loyalty teams reconcile disbursals, bureau-driven offers and CoinZ redemptions from those objects, and openData Studio turns them into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Send Android login OTP
POST
/v1/otp/dispatchosintSends a login OTP to mobile_number so the RING authentication screen can verify the borrower and mint tokens.
Auth: Unauthenticated; mobile_number and device_id in JSON body. Response seeds the OTP-confirm step.
- mobile_number
- device_id
- user_id
- otp_reference_number
- success
- message
POST /v1/otp/dispatch HTTP/1.1 Content-Type: application/json X-Client-OS-Version: 35 { "mobile_number": "9876543210", "device_id": "a1b2c3d4e5f6" }{ "success": true, "message": "OTP sent", "data": { "mobile_number": "9876543210", "user_id": "USR-10028441", "otp_reference_number": "OTP-8821" } }Android OTP authentication
POST
/v1/otp/confirmosintExchanges the SMS OTP for access_token, refresh_token, auth_token and user_id used on later signed-in calls.
Auth: OTP plus mobile_number in the JSON body; response mints access_token and refresh_token.
- access_token
- refresh_token
- auth_token
- user_id
- mobile_number
- otp
- device_id
POST /v1/otp/confirm HTTP/1.1 Content-Type: application/json X-Client-OS-Version: 35 { "mobile_number": "9876543210", "otp": "482913", "device_id": "a1b2c3d4e5f6" }{ "success": true, "data": { "access_token": "eyJhbGciOiJIUzI1NiJ9...", "refresh_token": "rt_9f3a", "auth_token": "at_7c2a", "user_id": "USR-10028441", "mobile_number": "9876543210" } }Fetch CKYC record
GET
/v1/kyc/profileosintReturns the signed-in borrower's CKYC identity row: name, PAN, masked Aadhaar, CKYC KIN and registered address used on the digital KYC confirmation screen.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- full_name
- date_of_birth
- pan_number
- aadhaar_number
- ckyc_kin_number
- ckyc_address
- pincode
- mobile_number
GET /v1/kyc/profile HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "full_name": "PRIYA SHARMA", "date_of_birth": "1992-08-14", "pan_number": "ABCDE1234F", "aadhaar_number": "XXXX-XXXX-3210", "ckyc_kin_number": "10001234567890", "ckyc_address": "12 MG Road, Bengaluru 560001", "pincode": "560001", "mobile_number": "9876543210" } }Fetch bureau credit score
GET
/v1/credit/bureau-scoreopendataReads the bureau meter on the credit-score screen: current score, last refresh timestamp and the 300–900 scale bounds.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- credit_score
- current_score
- last_score_updated_at
- upper_score
- lower_score
- pan_number
- score
GET /v1/credit/bureau-score HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "credit_score": 754, "current_score": 754, "last_score_updated_at": "2026-10-12T06:40:00Z", "upper_score": 900, "lower_score": 300, "pan_number": "ABCDE1234F", "score": 754 } }Credit Pulse user detail
GET
/v1/credit/health/profileopendataLoads the standalone Credit Pulse profile used on the paid bureau-toolkit screen after PAN validation.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- credit_score
- creditPulseStatus
- pan_number
- last_score_updated_at
- full_name
GET /v1/credit/health/profile HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "credit_score": 754, "creditPulseStatus": "ACTIVE", "pan_number": "ABCDE1234F", "last_score_updated_at": "2026-10-12T06:40:00Z", "full_name": "PRIYA SHARMA" } }List user loans
GET
/v1/loansopenfinanceReturns the borrower's Insta/Flexi loan book: sanctioned loan_amount, EMI, outstanding, disbursal_amount, next due date and tenure.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- active_loan
- loan_reference_number
- loan_status
- loan_amount
- emi_amount
- emi_count
- outstanding_amount
- disbursal_amount
- due_date
- next_emi_date
- interest_rate
- tenure
- processing_fee
GET /v1/loans HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "active_loan": true, "loans": [ { "loan_reference_number": "LN-552188", "loan_status": "ACTIVE", "loan_amount": 60000.0, "emi_amount": 4271.0, "emi_count": 18, "outstanding_amount": 55752.0, "disbursal_amount": 55752.0, "due_date": "2026-11-05", "next_emi_date": "2026-11-05", "interest_rate": 33.0, "tenure": 18, "processing_fee": 4248.0 } ] } }Credit-line offer
GET
/v1/credit-line/offeropenfinanceReads the sanctioned Flexi/Ring line offer: offer amount, remaining available_limit, processing fee, ROI and the KFS document link.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- offer_id
- offer_amount
- available_limit
- credit_limit
- eligible_credit_limit
- processing_fee
- interest_rate
- tenure
- kfs_url
GET /v1/credit-line/offer HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "offer_id": "OFF-22016", "offer_amount": 80000.0, "available_limit": 62500.0, "credit_limit": 80000.0, "eligible_credit_limit": 80000.0, "processing_fee": 1999.0, "interest_rate": 19.99, "tenure": 12, "kfs_url": "/v1/documents/kfs-preview" } }Initiate disbursal
POST
/v1/disbursals/startopenfinanceStarts same-day bank disbursal after the borrower accepts the offer and returns disbursal_status plus the destination account reference.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- disbursal_status
- disbursal_amount
- disbursal_destination_reference_number
- loan_reference_number
- loan_amount
POST /v1/disbursals/start HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "loan_reference_number": "LN-552188", "loan_amount": 60000.0 }{ "success": true, "data": { "disbursal_status": "IN_PROGRESS", "disbursal_amount": 55752.0, "disbursal_destination_reference_number": "HDFC0000123-XXXX3210", "loan_reference_number": "LN-552188" } }Calculate foreclosure
POST
/v1/loans/foreclosure-quoteopenfinanceQuotes the foreclosure payoff: remaining outstanding, foreclosure fees, extra interest and the total foreclosure_amount on the close-loan screen.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- foreclosure_amount
- foreclosure_fees
- outstanding_amount
- foreclosure_interest_amount
- due_date
- loan_reference_number
POST /v1/loans/foreclosure-quote HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "loan_reference_number": "LN-552188" }{ "success": true, "data": { "foreclosure_amount": 30120.0, "foreclosure_fees": 499.0, "outstanding_amount": 28750.0, "foreclosure_interest_amount": 871.0, "due_date": "2026-11-05" } }CoinZ reward balance
GET
/v1/rewards/balanceopendataReads the CoinZ loyalty balance shown on the RING rewards home card; redeem and history sit on sibling rewards routes.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- coinz
- user_id
- status
GET /v1/rewards/balance HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "coinz": 1250, "user_id": "USR-10028441", "status": "ACTIVE" } }Account-aggregator FIP list
GET
/v1/bank-sharing/providersopenbankingLists Financial Information Providers the borrower can consent to on the account-aggregator income-verify screen.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- fip_id
- fip_name
- fip_types
- fip_list
GET /v1/bank-sharing/providers HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "fip_list": [ { "fip_id": "HDFC-FIP", "fip_name": "HDFC Bank", "fip_types": ["DEPOSIT"] } ] } }Flexi wallet balance
GET
/v1/flexi-wallet/overviewopenbankingReads the SBM/Ring Flexi wallet snapshot on the home limit card: wallet balance, savings-account number and remaining credit limit.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- wallet_balance
- account_balance
- wallet_ac_no
- available_limit
- credit_limit
GET /v1/flexi-wallet/overview HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "wallet_balance": 12450.75, "account_balance": 12450.75, "wallet_ac_no": "SBM000112233", "available_limit": 62500.0, "credit_limit": 80000.0 } }Initiate repayment
POST
/v1/repayments/startopenbankingStarts an EMI or foreclosure repayment and returns repayment_reference_number plus pending status for the Juspay/Razorpay checkout.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- status
- repayment_amount
- repayment_reference_number
- loan_reference_number
- amount
POST /v1/repayments/start HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "amount": 4271.0, "loan_reference_number": "LN-552188" }{ "success": true, "data": { "status": "PENDING", "repayment_amount": 4271.0, "repayment_reference_number": "PAY-8821", "loan_reference_number": "LN-552188" } }Home-screen main nav
GET
/v1/home/navigationopendataReturns the home-screen main-nav tiles that gate Get Loan, Credit Pulse, insurance and other RING product entries.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- main_nav
- nav_id
- status
GET /v1/home/navigation HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "main_nav": [ { "nav_id": "GET_LOAN", "status": "ACTIVE" }, { "nav_id": "CREDIT_PULSE", "status": "ACTIVE" } ] } }Customer inbox messages
GET
/v1/messagesopendataPages the in-app customer inbox used for collections nudges, offer expiry and KYC reminders.
Auth: Authorization: Bearer access_token issued after OTP sign-in; refresh_token renews the session.
- inbox
- status
- user_id
GET /v1/messages HTTP/1.1 Authorization: Bearer <access_token>{ "success": true, "data": { "inbox": [ { "status": "UNREAD", "user_id": "USR-10028441" } ] } }
Data categories
- identity
- kyc
- credit-bureau
- loan-accounts
- emi-schedules
- wallets
- loyalty
- account-aggregator
Where teams use this data
EMI-book reconciliation
Collections and LOS bots pull emi_amount, outstanding_amount, next_emi_date and loan_reference_number nightly so the servicing ledger matches the in-app EMI calendar.
Bureau and Credit Pulse underwriting
Credit desks read credit_score, last_score_updated_at and pan_number beside offer_amount and available_limit before accepting or refreshing a Flexi/Ring line.
CKYC identity matching
KYC ops match ckyc_kin_number, pan_number, aadhaar_number and full_name against the CKYC registry when DigiLocker or video KYC stalls.
CoinZ and Flexi-limit monitoring
Growth and treasury dashboards watch coinz, wallet_balance and available_limit to see unspent Ring/SBM line and unused loyalty stock.
Frequently asked questions
What identity fields does RING expose after login?
The CKYC call returns full_name, date_of_birth, pan_number, masked aadhaar_number, ckyc_kin_number, ckyc_address and pincode on the signed-in session.
Can I read EMI, disbursal and foreclosure amounts, not just the credit line?
Yes. The loans book returns loan_amount, emi_amount, outstanding_amount, disbursal_amount and next_emi_date. The disbursal start adds disbursal_status, and the foreclosure quote returns foreclosure_amount plus foreclosure_fees.
How does RING authenticate borrowers?
The OTP dispatch and confirm calls mint access_token, refresh_token and auth_token. Later signed-in calls send Authorization: Bearer access_token. Truecaller login sits beside SMS OTP.
Which RING-only products sit on the same session?
CoinZ loyalty (coinz balance, history, redeem), standalone Credit Pulse bureau toolkit, account-aggregator FIP lists, the home-screen navigation tiles, an in-app customer inbox, plus the shared Flexi/SBM wallet and Insta EMI book.
Apps similar to RING by Kissht: Personal Loan
- Kissht: Instant Personal Loans — Kissht is OnEMI Technology Solutions Limited's India digital-lending app for unsecured personal and business loans from ₹5,000 to ₹5,00,000 over 6–60 months at a published APR of 17%–45%.
- KreditBee — KreditBee is Krazybee Services Limited's India lending app for personal loans from ₹6,000 to ₹10,00,000 over 6–60 months, plus UPI payments, two-wheeler loans and business loans through RBI-registered NBFC partners.
- Moneyview — Moneyview is an India finance app that disburses personal loans from ₹5,000 to ₹10,00,000 over 3–60 months and also offers home loans, credit cards, UPI, digital gold and a free CIBIL score check.
- Branch Instant Personal Loan — Branch Instant Personal Loan is Branch International's India app for unsecured personal loans up to ₹5,00,000 over 4–24 months, with published interest of 12%–66% p.a. and an RBI-registered NBFC lender.
- PhonePe — PhonePe is an India UPI super-app that also runs a digital personal-loan flow with 6–48 month tenures and partner lenders including Aditya Birla, Piramal, IDFC First, L&T Finance, PayU Finance and Credit Saison India.
- Paytm — Paytm is an India UPI super-app that also lets users apply for personal loans from ₹50,000 to ₹25,00,000 over 6–60 months at published rates of 10.99%–35% p.a.
- Fibe — Fibe is an India instant personal-loan app offering unsecured loans up to ₹10 lakh over 6–36 months, with published interest from 18% p.a. and no foreclosure charges, plus UPI, credit-score tools and loans against mutual funds.
- Paisabazaar: Credit Score App — Paisabazaar is an India credit-score and loan marketplace where users can check bureau scores and compare personal-loan offers from 30+ banks and NBFCs, with published rates from 9.99% p.a. and amounts up to ₹50 lakh.
Topics
- ring by kissht
- paywithring personal loan
- onemi
- coinz rewards
- credit pulse
- ckyc kin
- flexi ring limit
- account aggregator fip
- emi calendar india
- sbm wallet
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