RBL MyCard credit card data API
RBL MyCard is RBL Bank's official Android app for its Indian credit-card holders. After a device-bound mPIN (optional fingerprint on the phone), the home dashboard shows outstanding, available credit and cash limits, the payment due date and the reward-point tally; the same session turns the plastic on or off, toggles international usage, converts spends to EMI, books Xpress Cash, pays the statement over UPI or by debiting a linked RBL account, registers utility billers, and can reveal CVV for card-not-present use. RBL Bank (the listed private-sector lender formerly known as Ratnakar Bank) issues the cards that sit in this wallet; on Google Play it sits with other Indian-bank card apps such as HDFC PayZapp, SBI Card and Axis Mobile rather than a full-service neobank. Version 3.160 is published for India only and also queries the bank's MoBank app on the same device.
Available credit and cash lines on the signed-in plastic land as availableCreditLimit and unbilledOutstandingAmount, with minimumAmountDue, datePmtDue and cardStatus sitting on the same inquiry. Cycle rows add merchant narrative, amount and postingDate; holder records carry customerName, pAN and customerMobileNumber. Collections teams reconcile dues against UPI vPAName lookups and pay-to-card paidAmount, while control desks watch intstatus and the on/off Status. openData Studio turns those fields 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.
Validate mPIN session
POST
/v1/sessions/pinopendataExchanges the device-bound mPIN for the session token used on every later card call.
Auth: None on the first call. DeviceID plus the encrypted MPIN mint a session token; later calls send it as a bearer token.
- DeviceID
- OldDeviceId
- MPIN
- Token
- ForceToLogin
- SessionId
- token
POST /v1/sessions/pin HTTP/1.1 Content-Type: application/json { "DeviceID": "and-rbl-8f21", "OldDeviceId": "", "MPIN": "<encrypted-pin>", "Token": "<device-token>", "ForceToLogin": "N" }{ "SessionId": "Sess-8f21c4", "token": "tok_myc_4419" }Dashboard card info
POST
/v1/cards/summaryopenbankingLoads the home dashboard for one RBL credit card: limits, unbilled outstanding, dues, last payment and reward-point tally.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- cardNumber
- cardHolderName
- accountNumber
- accountStatus
- availableCreditLimit
- availableCashLimit
- totalCreditLimit
- totalCashLimit
- unbilledOutstandingAmount
- totalAmountDue
- minimumAmout
- paymentDueDate
- statementDate
- lastPaymentAmount
- lastPaymentDate
- rewardPointsAvailable
- rewardPointsExpiryDate
- currencyCode
POST /v1/cards/summary HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "cardNumber": "<encrypted-card-number>" }{ "cardNumber": "5241********9012", "cardHolderName": "ANITA SHARMA", "accountNumber": "CC44190821", "accountStatus": "A", "availableCreditLimit": "187500.00", "availableCashLimit": "25000.00", "totalCreditLimit": "250000.00", "totalCashLimit": "50000.00", "unbilledOutstandingAmount": "42310.50", "totalAmountDue": "18500.00", "minimumAmout": "925.00", "paymentDueDate": "2026-11-05", "statementDate": "2026-10-15", "lastPaymentAmount": "15000.00", "lastPaymentDate": "2026-10-03", "rewardPointsAvailable": "12480", "rewardPointsExpiryDate": "2027-03-31", "currencyCode": "INR" }Balance inquiry
POST
/v1/cards/balanceopenbankingFresh (non-cache) inquiry of available credit/cash lines, current and unbilled balances, minimum due and block codes.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- cardNo
- isCache
- account
- availableCreditLimit
- availableCashLimit
- currentBalance
- unbilledOutstandingAmount
- minimumAmountDue
- pmtTotAmtDue
- datePmtDue
- cardStatus
- cardBlockCode
- overLimitAmount
- isOverLimit
- lastPaymentAmount
- lastPaymentDate
- mobileNo
POST /v1/cards/balance HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "cardNo": "<encrypted-card-number>", "isCache": false }{ "account": "CC44190821", "availableCreditLimit": "187500.00", "availableCashLimit": "25000.00", "currentBalance": "62500.00", "unbilledOutstandingAmount": "42310.50", "minimumAmountDue": "925.00", "pmtTotAmtDue": "18500.00", "datePmtDue": "2026-11-05", "cardStatus": "A", "cardBlockCode": "", "overLimitAmount": "0.00", "isOverLimit": "N", "lastPaymentAmount": "15000.00", "lastPaymentDate": "2026-10-03", "mobileNo": "98XXXX3210" }Card transactions
POST
/v1/cards/transactions/searchopenbankingPages unbilled and statemented card spends with merchant narrative, amount, posting date and EMI eligibility.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- cardNo
- fromDate
- toDate
- numTransactions
- txnType
- allWithEMIOption
- cARDNBR
- amount
- currencyCode
- narrative
- postingDate
- recordDate
- transactionType
- rEFNBR
- hasEMIOption
- hasBonusRewards
- moreInd
POST /v1/cards/transactions/search HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "cardNo": "<encrypted-card-number>", "txnType": "<encrypted-type>", "allWithEMIOption": "N", "fromDate": "2026-07-01", "toDate": "2026-10-20", "numTransactions": "20" }{ "numTransactions": "1", "moreInd": "N", "transactions": [ { "cARDNBR": "5241********9012", "amount": "2499.00", "currencyCode": "INR", "narrative": "SWIGGY BANGALORE", "postingDate": "2026-10-18", "recordDate": "2026-10-18", "transactionType": "D", "rEFNBR": "REF882190", "hasEMIOption": "Y", "hasBonusRewards": "N" } ] }Mini statement
POST
/v1/cards/statements/miniopenbankingReturns the cycle mini-statement: current balance, total/minimum due, past-due, debit/credit totals and block codes.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- Account
- Type
- Date
- aCCOUNTNUMBER
- cURRENTBALANCE
- mINIMUMPAYMENTDUE
- tOTALDUEAMOUNT
- pASTDUEAMOUNT
- sTATEMENTDATE
- lASTSTATEMENTDATE
- pAYMENTDATE
- tOTALDEBITAMOUNT
- tOTALCRAMOUNT
- tOTALNUMBEROFDEBITS
- tOTALNUMBEROFCRS
- bLOCKCODE1
- bLOCKCODE2
POST /v1/cards/statements/mini HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "Account": "<encrypted-account>", "Type": "<encrypted-type>", "Date": "<encrypted-date>" }{ "Result": [ { "aCCOUNTNUMBER": "CC44190821", "cURRENTBALANCE": "62500.00", "mINIMUMPAYMENTDUE": "925.00", "tOTALDUEAMOUNT": "18500.00", "pASTDUEAMOUNT": "0.00", "sTATEMENTDATE": "2026-10-15", "lASTSTATEMENTDATE": "2026-09-15", "pAYMENTDATE": "2026-11-05", "tOTALDEBITAMOUNT": "42310.50", "tOTALCRAMOUNT": "15000.00", "tOTALNUMBEROFDEBITS": "18", "tOTALNUMBEROFCRS": "2", "bLOCKCODE1": "", "bLOCKCODE2": "" } ] }Fetch CVV and expiry
POST
/v1/cards/credentialsopenbankingReturns the encrypted CVV and card expiry month/year for the digital-card / show-CVV screen.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- CardNumber
- cVV
- expiryMonth
- expiryYear
POST /v1/cards/credentials HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "CardNumber": "<encrypted-card-number>" }{ "cVV": "<encrypted-cvv>", "cardExpiry": { "expiryMonth": "08", "expiryYear": "28" } }Customer demographics
POST
/v1/holders/profileosintReturns KYC-grade holder demographics — name, PAN, mobile, email, address and employer — for the profile screen.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- CardNumber
- customerNumber
- customerName
- customerTitle
- gender
- dateofBirth
- pAN
- customerMobileNumber
- customerEmailID
- customerAddress
- customerCity
- customerState
- customerPincode
- employer
- nationality
POST /v1/holders/profile HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "CardNumber": "<encrypted-card-number>" }{ "customerNumber": "CIF882190", "customerName": "ANITA SHARMA", "customerTitle": "MS", "gender": "F", "dateofBirth": "1988-03-14", "pAN": "ABCDE1234F", "customerMobileNumber": "98XXXX3210", "customerEmailID": "[email protected]", "customerAddress": "12 MG Road", "customerCity": "Mumbai", "customerState": "MH", "customerPincode": "400001", "employer": "ACME INDIA PVT LTD", "nationality": "IN" }Reward points summary
POST
/v1/rewards/summaryopenfinanceSummarises loyalty points: opening/current balance, cycle earned/adjusted/disbursed, redeemable stock and points about to expire.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- Account
- aCCTNO
- bALTOTAL
- bEGBALANCE
- cTDEARNED
- cTDADJ
- cTDDISB
- redeemablePoints
- pTSTOEXPIRE
- eXPIRYDATE
- mONTH
POST /v1/rewards/summary HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "Account": "<encrypted-account>" }{ "aCCTNO": "CC44190821", "bALTOTAL": "12480", "bEGBALANCE": "11000", "cTDEARNED": "2100", "cTDADJ": "0", "cTDDISB": "620", "redeemablePoints": "12480", "pTSTOEXPIRE": "800", "eXPIRYDATE": "2027-03-31", "mONTH": "202610" }Card on/off switch
POST
/v1/cards/controls/poweropenbankingTurns the plastic on or off from the card-controls screen and echoes the resulting status.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- CardNo
- ChannelId
- Status
- status
POST /v1/cards/controls/power HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "CardNo": "<encrypted-card-number>", "ChannelId": "MYCARD", "Status": "OFF" }{ "status": "OFF" }Set international usage
POST
/v1/cards/controls/internationalopenbankingEnables or disables international transactions on the card and returns the resulting international flag.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- intstatus
- cardNo
- international
- status
POST /v1/cards/controls/international HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "intstatus": "Y", "cardNo": "<encrypted-card-number>" }{ "cardNo": "5241********9012", "international": "Y", "status": "SUCCESS" }Validate UPI VPA
POST
/v1/upi/addresses/resolveopenfinanceResolves a UPI VPA to the registered name before a collect or intent pay-bill from the card.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature, plus a UPI session token in the body.
- CardNumber
- refId
- orgTxnId
- id
- Token
- VPA
- vPA
- vPAName
POST /v1/upi/addresses/resolve HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "CardNumber": "<encrypted-card-number>", "refId": "REF-UPI-10021", "orgTxnId": "", "id": "id_4419", "Token": "<upi-token>", "VPA": "anita@okaxis" }{ "vPA": "anita@okaxis", "vPAName": "ANITA SHARMA" }UPI collect request
POST
/v1/upi/collect-requestsopenfinanceStarts a UPI collect against the card statement so the holder can pay dues from any UPI app.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature, plus a UPI session token in the body.
- CardNumber
- refId
- orgTxnId
- txnId
- id
- Token
- payeraddr
- payername
- amount
- addr
- name
POST /v1/upi/collect-requests HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "CardNumber": "<encrypted-card-number>", "refId": "REF-UPI-10021", "orgTxnId": "", "txnId": "TXN882190", "id": "id_4419", "Token": "<upi-token>", "payer": { "addr": "anita@okaxis", "name": "ANITA SHARMA", "amount": "18500.00" }, "payee": { "addr": "cardbills@rbl", "name": "RBL BANK CC" } }{ "txnId": "TXN882190" }Pay to card from debit account
POST
/v1/repayments/debit-accountopenbankingPays total, minimum or a custom amount onto the credit card from a linked RBL debit account after OTP.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature, and the debit leg needs a one-time code (OTP) in the body.
- uniqueRequestNo
- customerID
- cardNo
- totalDue
- minimumDue
- amountValue
- debitAccountID
- otpKey
- otpValue
- uniqueResponseNo
- paidAmount
POST /v1/repayments/debit-account HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "uniqueRequestNo": "PTC-10021", "customerID": "<encrypted-customer-id>", "cardNo": "<encrypted-card-number>", "totalDue": "18500.00", "minimumDue": "925.00", "amountValue": "18500.00", "debitAccountID": "<encrypted-account>", "otpKey": "OTPKEY8821", "otpValue": "<encrypted-otp>" }{ "uniqueResponseNo": "PTC-RESP-8821", "paidAmount": "18500.00", "otpKey": "OTPKEY8821" }View payment history
POST
/v1/repayments/historyopenbankingLists statement payments already posted — amount, mode (UPI/debit/cheque), status and narration — for the payment-history screen.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- CardNumber
- FromDate
- ToDate
- transactionDate
- postingDate
- billingAmount
- sourceTxnAmount
- currencyCode
- modeOfPay
- paymentStatus
- paymentType
- transactionType
- transactionCode
- transactionNarration
- bankName
- chequeNo
POST /v1/repayments/history HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "CardNumber": "<encrypted-card-number>", "FromDate": "2026-07-01", "ToDate": "2026-10-20" }{ "Result": [ { "transactionDate": "2026-10-03", "postingDate": "2026-10-03", "billingAmount": "15000.00", "sourceTxnAmount": "15000.00", "currencyCode": "INR", "modeOfPay": "UPI", "paymentStatus": "SUCCESS", "paymentType": "TOTAL_DUE", "transactionType": "C", "transactionCode": "PYMT", "transactionNarration": "UPI/RBLCC/ANITA", "bankName": "RBL BANK", "chequeNo": "" } ] }Linked debit accounts
POST
/v1/accounts/debit/listopenbankingLists RBL debit/savings accounts the holder can debit for pay-to-card, with balances and branch.
Auth: Session token from the PIN login, sent as Authorization: Bearer <session-token>; the request body also carries a body-hash signature.
- customerID
- password
- numAccounts
- accountNo
- accountType
- accountBalance
- clearBalance
- accountCurrency
- accountBranchName
- accountBranchCity
POST /v1/accounts/debit/list HTTP/1.1 Authorization: Bearer <session-token> Content-Type: application/json { "customerID": "<encrypted-customer-id>", "password": "<encrypted-password>", "numAccounts": "10" }{ "numAccounts": "2", "accounts": [ { "accountNo": "309********3210", "accountType": "SAVINGS", "accountBalance": "84210.55", "clearBalance": "84210.55", "accountCurrency": "INR", "accountBranchName": "NARIMAN POINT", "accountBranchCity": "MUMBAI" } ] }
Data categories
- balances
- transactions
- card controls
- customer profile
- rewards
- UPI payments
- linked accounts
Where teams use this data
Nightly credit-line reconciliation
A collections or treasury job pulls availableCreditLimit, unbilledOutstandingAmount, minimumAmountDue and datePmtDue per card, then matches payment-history billingAmount and modeOfPay so overdue buckets stay in sync with the issuer ledger.
Spend analytics with EMI flags
A personal-finance or issuer analytics feed pages transaction rows (narrative, amount, postingDate, hasEMIOption) and overlays the mini-statement tOTALDEBITAMOUNT / tOTALCRAMOUNT totals to tag EMI-convertible merchants.
UPI bill-pay confirmation
A payment orchestrator validates vPAName through the VPA lookup, starts a UPI collect with payer amount, and optionally falls back to the pay-to-card paidAmount from a linked debit accountNo when the holder prefers in-bank settlement.
Card-control and KYC refresh
A support desk reads customerName, pAN and customerMobileNumber, then applies the card on/off Status and the international intstatus when the holder reports loss or travel — without opening a branch ticket.
Frequently asked questions
How does RBL MyCard authenticate cardholders?
Sign-in starts with a device-bound mPIN: the app sends DeviceID and an encrypted MPIN and receives a session token (SessionId). Every later card call presents that token as a bearer credential and signs the request body with a hash, so balances, statements and card controls only answer inside a live session.
Which fields cover credit limit and dues?
The dashboard summary and the balance inquiry return availableCreditLimit, availableCashLimit, unbilledOutstandingAmount, minimumAmountDue (minimumAmout on the dashboard), pmtTotAmtDue / totalAmountDue, datePmtDue / paymentDueDate and cardStatus. The mini-statement adds tOTALDUEAMOUNT and pASTDUEAMOUNT.
Can I list spends and repayments, not just balances?
Yes. The transaction search pages card spends with narrative, amount, postingDate, rEFNBR and hasEMIOption, while the payment-history list returns already-posted repayments with billingAmount, modeOfPay, paymentStatus and transactionNarration.
How are UPI card payments represented?
An address lookup resolves a VPA to vPAName; a collect request starts the payment with the payer amount and returns txnId. The debit-account repayment route alternatively draws on a linked RBL account from the linked-accounts list (accountNo, accountBalance) and returns paidAmount.
Apps similar to RBL MyCard
- SBI Card — SBI Card is the State Bank of India group's credit-card issuer; its site lists a mobile app among payment modes and lets cardholders pay dues, view statements, manage PIN, book Flexipay EMI and report a lost card.
- PayZapp — PayZapp is HDFC Bank's UPI payments app for bill payments and recharges, including rent and credit-card bills.
- HDFC Bank MyCards — HDFC Bank MyCards is the bank's digital channel for managing a credit card and setting card controls.
- Axis Mobile — Axis Mobile (open by Axis Bank) is Axis Bank's official mobile banking app, advertised for 250+ banking services including credit-card login.
- iMobile — ICICI Bank's iMobile app is where the bank directs cardholders to apply for an instant credit card and to activate international transactions.
- CRED — CRED is a members-only Indian app that lets users manage credit cards with payment reminders and spending insights, and make UPI payments on credit.
- Kotak Mobile Banking — Kotak Mahindra Bank's mobile banking app lets cardholders open Credit Card Requests and report a lost or damaged card to start a replacement.
Topics
- RBL MyCard API
- RBL Bank credit card
- availableCreditLimit
- unbilledOutstandingAmount
- RBL card balance
- UPI card payment
- RBL card transactions
- open banking India
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