RBL MyCard icon

RBL MyCard credit card data API

RBL Bank · Banking

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

  • RBL MyCard screenshot 1
  • RBL MyCard screenshot 2
  • RBL MyCard screenshot 3
  • RBL MyCard screenshot 4
  • RBL MyCard screenshot 5
  • RBL MyCard screenshot 6
  • RBL MyCard screenshot 7
  • RBL MyCard screenshot 8

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/pin opendata

    Exchanges 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/summary openbanking

    Loads 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/balance openbanking

    Fresh (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/search openbanking

    Pages 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/mini openbanking

    Returns 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/credentials openbanking

    Returns 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/profile osint

    Returns 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/summary openfinance

    Summarises 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/power openbanking

    Turns 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/international openbanking

    Enables 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/resolve openfinance

    Resolves 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-requests openfinance

    Starts 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-account openbanking

    Pays 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/history openbanking

    Lists 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/list openbanking

    Lists 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

Get a quote