API Documentation
Integrate with Ustawi's Loans, Ledger, Collections/Sync, and Reports APIs. Some technical specifics are still being finalized and are marked as such below.
Quick start
Authorization: Bearer usta_live_9f3c2a7b41d0https://api.ustawi.co.tz/v1X-RateLimit-Limit: 600 # 600 requests/minute per keyAPI surface overview
Loans API
Full reference — coming soonCreate/read applications, fetch approval-ladder status, disbursement status.
GET /api/v1/loans/{id}{ "status": "ok", "data": { "id": 1023, "status": "PENDING_COMMITTEE", … } }Ledger API
Full reference — coming soonRead GL postings, trial balance exports.
GET /api/v1/ledger/trial-balance{ "status": "ok", "data": [ … ] }Collections/Sync API
Full reference — coming soonThe mobile app's own sync/bootstrap and receipt-lease endpoints, documented here for partners building complementary field tools.
POST /api/v1/sync/bootstrap{ "status": "ok", "data": { … } }Webhooks
Full reference — coming soonEvent notifications delivered to your endpoint: loan.approved, loan.disbursed, payment.received, loan.overdue, loan.written_off, borrower.created.
POST https://your-endpoint.example (event payload){ "event": "loan.disbursed", "data": { … } }Reports API
Full reference — coming soonPull PAR/portfolio data programmatically for a partner dashboard.
GET /api/v1/reports/par-aging{ "status": "ok", "data": { … } }Sandbox access
API credentials are provisioned through support. The developer signup flow is being finalized.
Get API credentials →Frequently asked questions
How do I get API access?
Request API access via your account manager or email developers@ustawi.co.tz, and we will issue a key for your integration.
What response format does the API use?
Every response uses a consistent envelope: { "status": ..., "data": ... }. The wrapper is stable; individual payload fields are documented per endpoint.
Are webhooks available?
Yes. The partner-visible events are loan.approved, loan.disbursed, payment.received, loan.overdue, loan.written_off and borrower.created, delivered as a POST to the endpoint you register.
Is there a sandbox environment?
Yes — a sandbox environment is available on request, so you can test integrations before going live against production.