Zash Loan data API
Zash Loan-Digital Loans Kenya is a short-term digital lending app from Zillions Credit Limited for borrowers in Kenya seeking credit without collateral. Users sign in with a mobile number and SMS code, complete national-ID photo and liveness checks, and choose a loan amount and repayment term from the home loan card. M-Pesa is the cash-out channel, while repayment details, coupons, installment plans and contract downloads remain accessible through the same account. Fingerprint sign-in is available after binding. The app serves mobile borrowers managing applications and repayments on their phones; its recorded Play rating is 4.29 stars across 244,976 ratings.
M-Pesa payout amounts and repayment obligations meet at serial_id: the loan record distinguishes requested amount, net real_amount, upfront fee_pre and outstanding unpayed_amount. Home-card fields add loan_amount, max_amount and is_overdue, while statements and schedules carry expect_pay_amount, expect_pay_time, current_term and shouldRepay. Payout details connect register_phone to the channel identifier check_key, letting authorized reconciliation teams compare the selected wallet with the loan and net disbursement.
Offer records retain amount_limit_min, amount_limit_max, days_config and coupon_amount for comparing available amounts, terms and discounts. With appropriate borrower authorization, onboarding teams can relate session user_id and mobile to identity fields id_card, firstName and lastName, alongside the application's face-verification flags. Credit desks and collections teams can build limit monitoring, payout reconciliation and repayment tracking around these records; openData Studio turns this data into callable open data for authorized integrations.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Send SMS OTP
POST
/v1/access/challenges/sendosintSends a login OTP to the Kenyan mobile number in user_name so the borrower can complete SMS sign-in.
Auth: No session token required before sign-in. Form fields include d_id_store, access_time, language, package_name and app_version. Successful SMS sign-in returns a token for subsequent custom-header authentication.
- user_name
- d_id_store
- language
- package_name
- app_version
- access_time
- code
- status
POST /v1/access/challenges/send HTTP/1.1 Content-Type: application/x-www-form-urlencoded user_name=254700000000&d_id_store=demo-device-store&language=en-ke&package_name=com.kopakash&app_version=2.0.1&access_time=1790467200{ "code": 0, "msg": "ok", "data": { "status": 1 } }SMS OTP login
POST
/v1/access/challenges/verifyosintConfirms the SMS code for user_name and returns token, user_id, mobile, sequence_id and idcard_name for the signed-in session.
Auth: No session token required before sign-in. Form fields include d_id_store, access_time, language, package_name and app_version. Successful SMS sign-in returns a token for subsequent custom-header authentication.
- user_name
- code
- d_id
- d_imei
- android_id
- adjust_id
- google_adid
- token
- user_id
- mobile
- sequence_id
- bind_mobile
- idcard_name
- enter_method
POST /v1/access/challenges/verify HTTP/1.1 Content-Type: application/x-www-form-urlencoded user_name=254700000000&code=000000&is_bind=1&d_id=demo-device-0001&d_imei=demo-device-0001&android_id=demo-android-id&d_sys=android&d_name=samsung_SM-A245F&d_sys_ver=14&adjust_id=demo-adjust-id&google_adid=00000000-0000-0000-0000-000000000000&package_name=com.kopakash{ "code": 0, "data": { "token": "<example-token>", "user_id": "demo-user-0001", "user_name": "254700000000", "mobile": "254700000000", "sequence_id": "demo-session-0001", "bind_mobile": true, "bind_facebook": false, "enter_method": "sms", "idcard_name": { "value": "EXAMPLE BORROWER", "status": "1" } } }Borrower profile
POST
/v1/borrowers/profile/readosintLoads the signed-in borrower card, including user_id, mobile, token, sequence_id and idcard_name status after OTP login.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- user_id
- user_name
- mobile
- token
- sequence_id
- bind_mobile
- bind_facebook
- facebook_name
- idcard_name
POST /v1/borrowers/profile/read HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded package_name=com.kopakash&language=en-ke&access_time=1790467200{ "code": 0, "data": { "user_id": "demo-user-0001", "user_name": "254700000000", "mobile": "254700000000", "token": "<example-token>", "sequence_id": "demo-session-0001", "bind_mobile": true, "bind_facebook": false, "facebook_name": "", "idcard_name": { "value": "EXAMPLE BORROWER", "status": "1" } } }Home loan dashboard
POST
/v1/credit/dashboard/readopenfinanceReturns the home loan card: serial_id, loan_amount versus max_amount, expect_pay_amount and expect_pay_time, is_overdue, id_card and reference_number.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- status
- serial_id
- loan_amount
- max_amount
- expect_pay_amount
- expect_pay_time
- is_overdue
- id_card
- reference_number
- last_loan_rejected
- appeal_status
- credit_guide_text
POST /v1/credit/dashboard/read HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded package_name=com.kopakash&language=en-ke{ "code": 0, "data": { "status": 5, "serial_id": "DEMO-LOAN-0001", "loan_amount": 8500.0, "max_amount": 15000.0, "expect_pay_amount": 10200.0, "expect_pay_time": 1791676800, "is_overdue": false, "id_card": "ID-DEMO-0001", "reference_number": "DEMO-PAYOUT-0001", "last_loan_rejected": false, "appeal_status": 0, "credit_guide_text": "Complete KYC to raise limit" } }Loan offer configuration
POST
/v1/credit/offers/optionsopenfinanceQuotes selectable KES amounts and terms using amount_limit_min, amount_limit_max, amount_config, days_config, step_len, overdue_fee and default_config.amount and default_config.day.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- amount_limit_min
- amount_limit_max
- amount_config
- days_config
- step_len
- loan_term
- overdue_fee
- has_coupon
- coupon_no
- coupon_amount
- default_config
POST /v1/credit/offers/options HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded package_name=com.kopakash{ "code": 0, "data": { "amount_limit_min": 1000, "amount_limit_max": 15000, "amount_config": [1000, 2500, 5000, 8500, 15000], "days_config": [7, 14, 21], "step_len": 500, "loan_term": "14 days", "overdue_fee": "KES 50/day", "has_coupon": 1, "coupon_no": "NEW14", "coupon_amount": 200.0, "default_config": { "amount": 8500, "day": 14 } } }Pre-apply review loan
POST
/v1/credit/applications/reviewopenfinanceSubmits amount and day for credit review and returns status, credit_approval_status, is_reject and countdown while the application is assessed.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- amount
- day
- status
- credit_approval_status
- is_reject
- countdown
- tap_title
- tap_url
- sent_coupon
- time
POST /v1/credit/applications/review HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded amount=8500&day=14&package_name=com.kopakash{ "code": 0, "data": { "amount": 8500.0, "status": 0, "credit_approval_status": 1, "is_reject": false, "countdown": 120, "tap_title": "Reviewing", "tap_url": "", "sent_coupon": 0, "time": 1790467320 } }Confirm and apply loan
POST
/v1/credit/applications/confirmopenfinanceConfirms the chosen amount, day and purpose and returns order flags plus M-Pesa disburse_info.register_phone and the channel check_key.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- amount
- day
- purpose
- loan_type
- is_face_verify_open
- first_alive_verify
- reloan_alive_verify
- max_failed
- disburse_info
- register_phone
- channel
- check_key
POST /v1/credit/applications/confirm HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded amount=8500&day=14&purpose=School fees&package_name=com.kopakash{ "code": 0, "data": { "loan_type": 1, "is_face_verify_open": 1, "first_alive_verify": true, "reloan_alive_verify": false, "max_failed": 3, "disburse_info": { "canModify": 0, "register_phone": "254700000000", "is_float": false, "desc1": "M-Pesa", "channel": [ { "name": "M-Pesa", "check_key": "mpesa", "is_checked": 1, "type": 1, "content": "254700000000" } ] } } }Create loan and disburse
POST
/v1/credit/disbursements/submitopenfinanceBooks the loan and initiates M-Pesa payout, with serial_id, real_amount versus amount, fee_pre, shouldReceive and disburse_info.register_phone.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- serial_id
- status
- amount
- real_amount
- unpayed_amount
- expect_pay_amount
- expect_pay_time
- loan_day
- rate_amount
- fee_pre
- tel
- shouldReceive
- shouldReceiveInit
- register_phone
- check_key
POST /v1/credit/disbursements/submit HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded amount=8500&day=14&purpose=School fees&check_key=mpesa&package_name=com.kopakash{ "code": 0, "data": { "serial_id": 100001, "status": 5, "amount": 8500.0, "real_amount": 8075.0, "unpayed_amount": 10200.0, "expect_pay_amount": 10200.0, "expect_pay_time": 1791676800, "loan_day": 14, "rate_amount": 1700.0, "fee_pre": 425.0, "is_overdue": false, "tel": "254700000000", "receivedAmountInfo": { "shouldReceive": 8075.0, "shouldReceiveInit": 8500.0, "additional": 0.0, "coupon_type": 0 }, "disburse_info": { "register_phone": "254700000000", "channel": [ { "name": "M-Pesa", "check_key": "mpesa", "content": "254700000000" } ] } } }Query loan bill
POST
/v1/credit/statements/readopenfinanceReads the current bill for serial_id, including total_amount, credit_status, nested loan amount, loan_day and expect_pay_time, plus installment_overdue_day.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- serial_id
- type
- total_amount
- total_count
- loan_desc
- credit_status
- installment_status
- installment_amount
- installment_overdue_day
- is_period
- amount
- loan_day
- expect_pay_time
- status
POST /v1/credit/statements/read HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded serial_id=100001&package_name=com.kopakash{ "code": 0, "data": { "serial_id": "DEMO-LOAN-0001", "type": 1, "total_amount": 10200.0, "total_count": "1", "loan_desc": "14-day loan", "credit_status": 1, "installment_status": 0, "installment_amount": 0.0, "installment_day": 0, "installment_overdue_day": 0, "is_period": 0, "loan": { "status": 5, "amount": 8500.0, "loan_day": 14, "expect_pay_time": 1791676800 } } }Repay installment
POST
/v1/credit/repayments/scheduleopenfinanceReturns the repayment plan for serial_id, with total_amount, per-term expect_pay_amount and expect_pay_time, and shouldRepay versus deduction.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- serial_id
- total_amount
- installment
- current_term
- expect_pay_amount
- expect_pay_time
- status
- plan_info
- shouldRepay
- deduction
POST /v1/credit/repayments/schedule HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded serial_id=100001&package_name=com.kopakash{ "code": 0, "data": { "serial_id": "100001", "total_amount": 10200.0, "installment": [ { "current_term": 1, "expect_pay_amount": 10200.0, "expect_pay_time": 1791676800, "status": 0, "plan_info": "Illustrative due date" } ], "repaymentAmountInfo": { "shouldRepay": 10200.0, "deduction": 0.0 } } }Save credit KYC
POST
/v1/identity/details/submitosintSaves the KYC form values id_card, firstName and lastName and returns userId plus goto so the app can advance to the loan card.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- id_card
- firstName
- lastName
- userId
- goto
POST /v1/identity/details/submit HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded id_card=ID-DEMO-0001&firstName=EXAMPLE&lastName=BORROWER&package_name=com.kopakash{ "code": 0, "data": { "userId": "demo-user-0001", "goto": "loan" } }National ID occupancy check
POST
/v1/identity/bindings/checkosintChecks whether a Kenyan id_card is already bound and returns phone for the current account or occupy_phone when another mobile number holds the ID.
Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.
- id_card
- phone
- occupy_phone
POST /v1/identity/bindings/check HTTP/1.1 X-Session-Token: <example-token> Cookie: session=<example-session> Content-Type: application/x-www-form-urlencoded id_card=ID-DEMO-0001&package_name=com.kopakash{ "code": 0, "data": { "id_card": "ID-DEMO-0001", "phone": "254700000000", "occupy_phone": "" } }
Data categories
- phone identity
- OTP sessions
- KYC photos
- national ID numbers
- M-Pesa disbursement
- loan balances
- device telemetry
Where teams use this data
Watch Kenya OTP sessions and borrower cards
Join the SMS sign-in fields token, user_id and mobile with the borrower profile so an authorized credit desk can associate a session with its mobile number and check whether idcard_name is already bound.
Reconcile M-Pesa disbursement channels
Read disburse_info.register_phone and the channel name and check_key alongside serial_id, real_amount and shouldReceive so operations teams can match M-Pesa payouts to in-app loan orders.
Track limit, arrears and installment books
Compare max_amount, loan_amount and is_overdue from the loan dashboard with outstanding unpayed_amount, expect_pay_amount and repayment-plan current_term to flag arrears in Kenyan shilling loan books.
KYC completeness on national ID and liveness
Combine the ID binding check's id_card, saved KYC userId, OCR idNumber, firstName and lastName, and face-verification status to track whether identity onboarding is complete before a loan application proceeds.
Frequently asked questions
What loan fields are shown for Zash Loan?
The loan dashboard includes serial_id, loan_amount, max_amount, expect_pay_amount, expect_pay_time and is_overdue. Offer options add amount_limit_min, amount_limit_max and days_config; booking and repayment records distinguish real_amount, unpayed_amount, shouldReceive and shouldRepay. The API paths and example values on this page are illustrative.
How does borrower sign-in work?
A borrower receives an SMS code on a Kenyan mobile number and submits user_name plus code to establish a session. The session includes token, user_id and mobile. Signed-in requests use a custom token header and a session cookie; the displayed credentials are placeholders, not working access details.
Which fields describe M-Pesa disbursement?
Order confirmation and loan booking carry disburse_info.register_phone and channel details including name and check_key. real_amount and shouldReceive describe the net payout, allowing an authorized integration to associate a loan with its selected M-Pesa wallet.
What identity information supports onboarding?
Identity records include id_card, firstName, lastName and userId, with idcard_name on the borrower profile. The binding check can return phone or occupy_phone when an ID is associated with an account. These are sensitive borrower details that require appropriate authorization; all identity values in the examples are fictional.
Apps similar to Zash Loan-Digital Loans Kenya
- Tala: Fast & Safe Pesa Loan — Tala is a Central Bank of Kenya–licensed cash-loan app that disburses to M-PESA against a personal credit line of KSh 1,000 to KSh 50,000, with repayment terms of up to 120 days.
- Branch — Branch is a Kenya, Nigeria and India digital-finance app that offers smartphone instant loans sent to mobile money or a bank account, along with wallet transfers, bill payments and in-app savings.
- Zenka — Zenka is Zenka Digital Limited's Kenya cash-loan app that evaluates an in-app application and, when approved, sends the funds to M-Pesa, with advertised borrowing of up to KES 200,000.
- Timiza — Timiza is Absa Bank Kenya's app for instant phone loans, M-PESA-linked transfers and Zidisha savings; qualifying loans go to a Timiza account and are withdrawn to M-PESA.
- Okash — Okash is a Kenya cash-loan product that advertises eligibility for Ksh 5,000–50,000 disbursed to M-PESA, covering emergency, rental, education and car-loan top-ups without guarantors.
- M-Shwari — M-Shwari is a Safaricom savings-and-loan service that lets M-PESA customers save from Ksh 1 and take instant loans credited to M-PESA from the Loans and Savings menu.
- KCB M-PESA — KCB M-PESA is a savings-and-loan service that lets M-PESA customers save from KSh 1 and access instant credit from KSh 100, credited to the M-PESA account, with no branch visit.
- My OneApp — My OneApp is Safaricom PLC's Kenya super-app that puts the M-PESA wallet on the home screen and unlocks M-PESA invest, borrow and insure actions without switching apps.
Topics
- zash loan data api
- kopa kash
- kenya digital lending
- M-Pesa payout reconciliation
- Zillions Credit Limited
- loan repayment schedule
- serial_id
- max_amount
- id_card
- unpayed_amount
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