Samir - Pinjaman Daring icon

Samir circular-credit and VA data API

PT SAHABAT MIKRO FINTEK · Lending 4.5 ★

Samir - Pinjaman Daring is the Android cash-loan app from PT SAHABAT MIKRO FINTEK for Indonesian borrowers. Its application flow combines SMS or WhatsApp OTP, KTP identity checks, face liveness and Digisign electronic signing, with approved funds paid into a bank account. The published offer covers unsecured loans of Rp400.000–Rp100.000.000 over 91–365 days at a maximum 24% annual interest rate for Indonesian citizens aged 18 and over. Repayment options include ATM, mobile and internet banking, virtual accounts and Alfamart, with Mandiri, BRI, Permata, BSI, CIMB Niaga and BJB among the named partner banks. Circular-credit re-borrowing, coupons and live chat support returning customers. The provider lists OJK license KEP-105/D.05/2021 and AFPI membership; the supplied Google Play listing records a 4.5 rating from 227,411 reviews and more than 10 million installs.

Circular-credit headroom connects tempCreditAmount and tempCreditExpireIn with nested availableAmount, minAmount, nominalAmount and creditState. Together these fields distinguish a temporary allowance from credit available for re-borrowing. Credit evaluations add bizId, status and userConfirmStatus, while loan records connect creditNo, factAmount and shouldRepayAmount to loan_status and overdueDays.

Virtual-account reconciliation uses va, va_amount and repayment entries containing repaymentCode, bankCode and repaymentCodeExpireDate. Loan estimates separate loanAmount and payAmount from gstFee, stampDuty, adminTaxFee, eSignatureFee and totalInsterst, with installment details in repaymentList. These amount, fee and expiry fields support collections matching and comparisons between quoted charges and repayment schedules.

KTP intake supplies idNumber, name, pob, province and religion; borrower files add identity, motherName, monthlyIncome, emergentContacts and whatsAppId. Coupon records pair couponTitle and worth with couponTypeCode and benefitId. Lending operations, collections teams and authorized KYC desks can use these distinct records for credit-headroom monitoring, payment reconciliation, identity intake and fee comparisons; openData Studio turns the data into callable open data.

Screenshots

  • Samir - Pinjaman Daring screenshot 1
  • Samir - Pinjaman Daring screenshot 2
  • Samir - Pinjaman Daring screenshot 3
  • Samir - Pinjaman Daring screenshot 4
  • Samir - Pinjaman Daring screenshot 5
  • Samir - Pinjaman Daring screenshot 6

API surface

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

  • Send SMS or WhatsApp OTP

    POST /v1/verification/deliver osint

    Sends an SMS or WhatsApp OTP for mobile and returns the remaining smsAvailableCount, whatsAppAvailableCount and voiceAvailableCount, together with exist, needWait and showVoice.

    Auth: Unauthenticated; mobile is supplied in the JSON body. Responses use code, message and result, with success code "200".

    • mobile
    • smsCode
    • exist
    • needWait
    • showVoice
    • smsAvailableCount
    • whatsAppAvailableCount
    • voiceAvailableCount
    • smsConfig
    • code
    • message
    POST /v1/verification/deliver HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "08<demo_account_number>"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "smsCode": "",
        "exist": true,
        "needWait": false,
        "showVoice": 1,
        "smsAvailableCount": 4,
        "whatsAppAvailableCount": 3,
        "voiceAvailableCount": 2,
        "smsConfig": {}
      }
    }
  • Verify OTP and issue session

    POST /v1/sessions/confirm osint

    Exchanges mobile and smsCode for session id and token plus borrower userNo, mid, mobile, phone, userName, realName and staticKey. The session retains token, userNo and mid for subsequent calls.

    Auth: Unauthenticated; mobile and smsCode are supplied in the JSON body. The result includes a session token and borrower identifiers for subsequent requests.

    • mobile
    • smsCode
    • id
    • token
    • userNo
    • mid
    • phone
    • userName
    • realName
    • staticKey
    POST /v1/sessions/confirm HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "08<demo_account_number>",
      "smsCode": "483920"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "id": "tok-10086001",
        "token": "<session_token>",
        "userNo": "UN-10086001",
        "mid": "88001234",
        "mobile": "08<demo_account_number>",
        "phone": "08<demo_account_number>",
        "userName": "budi.santoso",
        "realName": "Budi Santoso",
        "staticKey": "<mock_static_key>"
      }
    }
  • Signed-in borrower profile

    POST /v1/borrowers/profile opendata

    Returns the signed-in borrower profile: userNo, mid, staticKey, mobile, phone, userName and realName.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • userNo
    • mid
    • staticKey
    • mobile
    • phone
    • userName
    • realName
    POST /v1/borrowers/profile HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "mid": "88001234",
      "userNo": "UN-10086001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "userNo": "UN-10086001",
        "mid": "88001234",
        "staticKey": "<mock_static_key>",
        "mobile": "08<demo_account_number>",
        "phone": "08<demo_account_number>",
        "userName": "budi.santoso",
        "realName": "Budi Santoso"
      }
    }
  • KTP OCR recognition

    POST /v1/identity/cards/read osint

    Reads a KTP image into identity fields: idNumber, name, sex, birthday, pob, province, city, district, village and religion.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • idNumber
    • name
    • sex
    • birthday
    • pob
    • province
    • city
    • district
    • village
    • religion
    POST /v1/identity/cards/read HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "mid": "88001234",
      "userNo": "UN-10086001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "idNumber": "<demo_identity_number>",
        "name": "BUDI SANTOSO",
        "sex": "L",
        "birthday": "1990-01-01",
        "pob": "JAKARTA",
        "province": "DKI JAKARTA",
        "city": "JAKARTA SELATAN",
        "district": "KEBAYORAN BARU",
        "village": "SENAYAN",
        "religion": "ISLAM"
      }
    }
  • Submit credit-person KYC

    POST /v1/borrowers/identity osint

    Saves the borrower KYC file with identity, firstName, motherName, monthlyIncome, companyName, bankId, cardNo, whatsAppId, home_region_1 through home_region_4 and emergentContacts for the current session.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • identity
    • firstName
    • motherName
    • monthlyIncome
    • companyName
    • bankId
    • cardNo
    • whatsAppId
    • home_region_1
    • home_region_2
    • home_region_3
    • home_region_4
    • emergentContacts
    POST /v1/borrowers/identity HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "identity": "<demo_identity_number>",
      "firstName": "Budi Santoso",
      "motherName": "Siti Aminah",
      "monthlyIncome": "8000000",
      "companyName": "PT Contoh",
      "bankId": "008",
      "cardNo": "<demo_account_number>",
      "whatsAppId": "08<demo_account_number>",
      "home_region_1": "31",
      "home_region_2": "3174",
      "home_region_3": "317407",
      "home_region_4": "3174071003"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "identity": "<demo_identity_number>",
        "firstName": "Budi Santoso",
        "motherName": "Siti Aminah",
        "monthlyIncome": "8000000",
        "companyName": "PT Contoh",
        "bankId": "008",
        "cardNo": "<demo_account_number>",
        "whatsAppId": "08<demo_account_number>",
        "home_region_1": "31",
        "home_region_2": "3174",
        "home_region_3": "317407",
        "home_region_4": "3174071003",
        "emergentContacts": [
          {
            "name": "Andi",
            "phone": "<demo_contact_mobile>"
          }
        ]
      }
    }
  • Face liveness score

    POST /v1/identity/presence/check osint

    Returns the face-liveness gate before loan submission: livenessScore, livingCtn, isNeedLiving and isHint.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • livenessScore
    • livingCtn
    • isNeedLiving
    • isHint
    POST /v1/identity/presence/check HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "mid": "88001234",
      "userNo": "UN-10086001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "livenessScore": "92.4",
        "livingCtn": 1,
        "isNeedLiving": false,
        "isHint": false
      }
    }
  • Credit evaluation poll

    POST /v1/assessments/progress openfinance

    Checks an in-progress credit evaluation using bizId and returns status, userConfirmStatus, hideCut and doubleLoan.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • bizId
    • status
    • userConfirmStatus
    • hideCut
    • doubleLoan
    POST /v1/assessments/progress HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "bizId": "biz-77881234"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "bizId": "biz-77881234",
        "status": "PASS",
        "userConfirmStatus": 1,
        "hideCut": "0",
        "doubleLoan": "0"
      }
    }
  • Home loan origin

    POST /v1/borrowing/overview openfinance

    Loads the borrowing overview with availableAmount, virtualCreditAmount, circularCreditResp, creditOrderList, repayOrderList, productList, needLiving, oneClickLoan, doubleLoan and needRefreshCircular.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • availableAmount
    • virtualCreditAmount
    • needLiving
    • oneClickLoan
    • doubleLoan
    • needRefreshCircular
    • circularCreditResp
    • creditOrderList
    • repayOrderList
    • productList
    POST /v1/borrowing/overview HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "mid": "88001234",
      "userNo": "UN-10086001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "availableAmount": "4500000",
        "virtualCreditAmount": "500000",
        "needLiving": "0",
        "oneClickLoan": "1",
        "doubleLoan": "0",
        "needRefreshCircular": "0",
        "circularCreditResp": {
          "availableAmount": "4000000",
          "minAmount": "400000",
          "nominalAmount": "5000000",
          "creditState": 1
        },
        "creditOrderList": {
          "creditNo": "CN-77881234",
          "loan_status": "INLOAN",
          "applyAmount": "5000000"
        },
        "repayOrderList": [],
        "productList": {}
      }
    }
  • Product trial quote

    POST /v1/borrowing/estimate openfinance

    Estimates a chosen loanAmount with payAmount, totalAmount, rate, displayRate, serviceFee, gstFee, stampDuty, adminTaxFee, totalInsterst, couponAmount, eSignatureFee, fineScale and repaymentList.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • loanAmount
    • payAmount
    • totalAmount
    • rate
    • displayRate
    • serviceFee
    • gstFee
    • stampDuty
    • adminTaxFee
    • totalInsterst
    • couponAmount
    • eSignatureFee
    • fineScale
    • repaymentList
    POST /v1/borrowing/estimate HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "loanAmount": "5000000"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "loanAmount": "5000000",
        "payAmount": "5000000",
        "totalAmount": "5305753",
        "rate": "0.24",
        "displayRate": "24%",
        "serviceFee": "0",
        "gstFee": "0",
        "stampDuty": "10000",
        "adminTaxFee": "0",
        "totalInsterst": "305753",
        "couponAmount": "0",
        "eSignatureFee": "0",
        "fineScale": "0.005",
        "repaymentList": [
          {
            "factTotalAmount": "1785571",
            "remainingCapital": "1666667",
            "factInterest": "101904"
          }
        ]
      }
    }
  • Circular-credit quota

    POST /v1/borrowing/headroom openfinance

    Returns temporary credit amount and expiry through tempCreditAmount and tempCreditExpireIn, the hitXCircular and hitXConfirm flags, and nested circular-credit availableAmount, minAmount, nominalAmount and creditState.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • tempCreditAmount
    • tempCreditExpireIn
    • hitXCircular
    • hitXConfirm
    • availableAmount
    • minAmount
    • nominalAmount
    • creditState
    POST /v1/borrowing/headroom HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "mid": "88001234",
      "userNo": "UN-10086001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "tempCreditAmount": "500000",
        "tempCreditExpireIn": "259200",
        "hitXCircular": "1",
        "hitXConfirm": "0",
        "circularCreditResp": {
          "availableAmount": "4000000",
          "minAmount": "400000",
          "nominalAmount": "5000000",
          "creditState": 1,
          "title": "Limit tersedia",
          "tips": "Tarik ulang setelah lunas"
        }
      }
    }
  • Bind disbursement bank card

    POST /v1/payouts/accounts/link openbanking

    Links the disbursement bank account using bankId, bankName, cardNo, fullName, identityCardNo and phone, and returns tiedCardId.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • bankId
    • bankName
    • cardNo
    • fullName
    • identityCardNo
    • phone
    • tiedCardId
    POST /v1/payouts/accounts/link HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "bankId": "008",
      "bankName": "Bank Mandiri",
      "cardNo": "<demo_account_number>",
      "fullName": "Budi Santoso",
      "identityCardNo": "<demo_identity_number>",
      "phone": "08<demo_account_number>"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "tiedCardId": "card-33001"
      }
    }
  • Create loan order

    POST /v1/borrowing/requests openfinance

    Creates a cash-loan order with creditNo, applyAmount, factAmount, shouldRepayAmount, va, va_amount, bankName, cardNo, loan_status and overdueDays, plus qrCodeList entries containing repaymentCode, repaymentCodeExpireDate, bankCode and amount.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • creditNo
    • applyAmount
    • factAmount
    • shouldRepayAmount
    • va
    • va_amount
    • bankName
    • cardNo
    • loan_status
    • overdueDays
    • qrCodeList
    • repaymentCode
    • repaymentCodeExpireDate
    • bankCode
    POST /v1/borrowing/requests HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "applyAmount": "5000000",
      "tiedCardId": "card-33001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": {
        "creditNo": "CN-77881234",
        "applyAmount": "5000000",
        "factAmount": "5000000",
        "shouldRepayAmount": "5305753",
        "va": "8800<demo_account_number>12",
        "va_amount": "5305753",
        "bankName": "Bank Mandiri",
        "cardNo": "<demo_account_number>",
        "loan_status": "INLOAN",
        "overdueDays": 0,
        "qrCodeList": [
          {
            "repaymentCode": "8800<demo_account_number>12",
            "repaymentCodeExpireDate": 1738368000000,
            "bankCode": "008",
            "amount": "5305753",
            "payTime": "",
            "status": 0
          }
        ]
      }
    }
  • List my coupons

    POST /v1/benefits/available opendata

    Lists coupons for the signed-in borrower with id, couponTitle, worth, couponTypeCode, isAvailable, startTime, endTime, benefitId and couponDescription.

    Auth: Session token in the token header, with mid and userNo identifying the borrower. Responses use code, message and result, with success code "200".

    • id
    • couponTitle
    • worth
    • couponTypeCode
    • isAvailable
    • startTime
    • endTime
    • benefitId
    • couponDescription
    POST /v1/benefits/available HTTP/1.1
    Content-Type: application/json
    token: <session_token>
    
    {
      "mid": "88001234",
      "userNo": "UN-10086001"
    }
    {
      "code": "200",
      "message": "OK",
      "result": [
        {
          "id": "cp-44001",
          "couponTitle": "Potongan bunga",
          "worth": "50000",
          "couponTypeCode": "INTEREST",
          "isAvailable": true,
          "startTime": 1729123200000,
          "endTime": 1738368000000,
          "benefitId": "bf-12",
          "couponDescription": "Potong bunga cicilan pertama"
        }
      ]
    }

Data categories

  • identity
  • kyc
  • credit-quota
  • loan-orders
  • repayment
  • coupons

Where teams use this data

  • Circular-credit headroom monitor

    Treasury bots poll tempCreditAmount, tempCreditExpireIn and nested availableAmount / minAmount / creditState so collections and growth teams see when circular-credit re-borrow opens.

  • VA repayment reconciliation

    Payment ops match va, va_amount and QrCodeInfo.repaymentCode / bankCode / repaymentCodeExpireDate against Mandiri, BRI, Permata, BSI, CIMB Niaga, BJB and Alfamart inbound credits.

  • KTP KYC intake

    Onboarding desks copy OCRRecognition idNumber, name, pob and religion into the PersonInfo file (identity, motherName, monthlyIncome, emergentContacts, whatsAppId) before underwrite.

  • Trial-quote fee audit

    Compliance compares ProductTrialBean gstFee, stampDuty, adminTaxFee, eSignatureFee and totalInsterst against the published 24% APR simulation on a chosen loanAmount.

Frequently asked questions

Which circular-credit fields describe Samir headroom?

Temporary credit uses tempCreditAmount and tempCreditExpireIn, with hitXCircular and hitXConfirm flags. The nested circular-credit record adds availableAmount, minAmount, nominalAmount and creditState, linking the allowance to re-borrowing eligibility.

How are virtual-account repayment codes represented?

Loan records contain va and va_amount alongside qrCodeList. Repayment entries include repaymentCode, repaymentCodeExpireDate and bankCode for matching repayment instructions to incoming payments. The associated creditNo, shouldRepayAmount, loan_status and overdueDays provide the loan reference, amount due and repayment-status context.

What KTP and borrower details are included, and how is access scoped?

KTP recognition provides idNumber, name, sex, birthday, pob, province, city, district, village and religion. The borrower file adds identity, firstName, motherName, monthlyIncome, companyName, home_region_1 through home_region_4 and emergentContacts. These examples are session-scoped: OTP confirmation supplies token, userNo and mid, and subsequent requests carry the token header and borrower identifiers. Published routes and example values are illustrative, not production connection details.

Which fields separate a trial quote from a confirmed loan?

A trial quote contains loanAmount, payAmount, totalAmount, rate, gstFee, stampDuty, adminTaxFee, eSignatureFee, totalInsterst and repaymentList. A confirmed order adds creditNo, factAmount, shouldRepayAmount, loan_status and virtual-account repayment instructions.

Apps similar to Samir - Pinjaman Daring

  • Easycash - Pinjaman Daring — Easycash is PT Indonesia Fintopia Technology's OJK-licensed unsecured pinjaman daring platform, advertising collateral-free online loans with round-the-clock disbursement.
  • Kredit Pintar — Kredit Pintar is an OJK-supervised Indonesian unsecured cash-loan app that advertises pinjaman online tunai of up to Rp50 million over 2-, 3- or 12-month tenors, paid into a bank account.
  • AdaKami — AdaKami is an OJK-licensed Indonesian online cash-loan app with published 1–12 month tenors on a 30-day installment cycle, and it states that it does not deduct fees at disbursement.
  • UangMe - Pinjaman Dana Online — UangMe is an OJK-licensed P2P lending platform (KEP-4/D.05/2021) that offers unsecured cash loans with tenors of up to 12 months.
  • Tunaiku - Pinjaman Dana Online — Tunaiku is an OJK-licensed Indonesian cash-loan app that advertises online pinjaman dana with Rupiah disbursement into a bank account.
  • Kredivo - Paylater & Pinjaman — Kredivo is an Indonesian paylater and shopping-credit line of up to Rp50 million at more than 10,000 merchants, with a next-month payoff or 3–24 month installments and no down payment.
  • JULO — JULO is an OJK-licensed Indonesian pinjaman online app listed as JULO: Pinjaman & Kredit Online, offering digital credit alongside cash-loan products.
  • Singa Fintech-Digital Loans — Singa Fintech is an OJK-licensed Indonesian unsecured cash-loan app advertising pinjaman daring of up to Rp48 million over 1–12 month tenors.

Topics

  • samir pinjaman data api
  • samir circular credit headroom
  • indonesia virtual account repayment data
  • ktp identity fields
  • sahabat mikro fintek loan quotes
  • loan fee and installment data

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