API Reference
The Kora Islamic Banking API is organized around REST. It accepts JSON request bodies, returns JSON responses, and uses standard HTTP status codes.
Base URL
https://api.korastratum.com/islamic-banking/api/v1
Authentication
All endpoints require two headers:
Authorization: Bearer <your-api-key>
X-Tenant-ID: <your-tenant-id>
See Authentication for details on API key formats and environments.
Endpoints
Murabaha Financing
| Method | Endpoint | Description |
|---|---|---|
POST | /murabaha/contracts | Create a new Murabaha financing contract |
GET | /murabaha/contracts | List Murabaha contracts with filtering |
GET | /murabaha/contracts/{id} | Retrieve a contract by ID |
PUT | /murabaha/contracts/{id} | Update a contract |
POST | /murabaha/contracts/{id}/purchase | Record asset purchase from supplier |
POST | /murabaha/contracts/{id}/disburse | Disburse financing to customer |
GET | /murabaha/contracts/{id}/schedule | Get repayment schedule |
POST | /murabaha/contracts/{id}/payments | Process a repayment |
GET | /murabaha/contracts/{id}/payments | List payments for a contract |
POST | /murabaha/contracts/{id}/early-settlement | Calculate early settlement amount |
Musharaka Partnerships
| Method | Endpoint | Description |
|---|---|---|
POST | /musharaka/partnerships | Create a new Musharaka partnership |
GET | /musharaka/partnerships | List partnerships with filtering |
GET | /musharaka/partnerships/{id} | Retrieve a partnership by ID |
PUT | /musharaka/partnerships/{id} | Update partnership terms |
POST | /musharaka/partnerships/{id}/contributions | Record a capital contribution |
GET | /musharaka/partnerships/{id}/contributions | List capital contributions |
POST | /musharaka/partnerships/{id}/profit-distribution | Distribute profits |
POST | /musharaka/partnerships/{id}/buyout | Process a diminishing Musharaka buyout |
GET | /musharaka/partnerships/{id}/buyout-schedule | Get buyout schedule |
Mudarabah Investment
| Method | Endpoint | Description |
|---|---|---|
POST | /mudarabah/accounts | Create a Mudarabah investment account |
GET | /mudarabah/accounts | List Mudarabah accounts |
GET | /mudarabah/accounts/{id} | Retrieve a Mudarabah account by ID |
PUT | /mudarabah/accounts/{id} | Update account terms |
POST | /mudarabah/accounts/{id}/deposit | Make a deposit |
POST | /mudarabah/accounts/{id}/withdraw | Process a withdrawal |
GET | /mudarabah/accounts/{id}/profit-history | Get profit distribution history |
Wadiah Deposits
| Method | Endpoint | Description |
|---|---|---|
POST | /wadiah/accounts | Create a Wadiah safekeeping account |
GET | /wadiah/accounts | List Wadiah accounts |
GET | /wadiah/accounts/{id} | Retrieve a Wadiah account by ID |
POST | /wadiah/accounts/{id}/deposit | Make a deposit |
POST | /wadiah/accounts/{id}/withdraw | Process a withdrawal |
POST | /wadiah/accounts/{id}/hibah | Grant hibah (gift) to account holder |
GET | /wadiah/accounts/{id}/hibah-history | Get hibah history |
Wakala Investments
| Method | Endpoint | Description |
|---|---|---|
POST | /wakala/contracts | Create a Wakala investment contract |
GET | /wakala/contracts | List Wakala contracts |
GET | /wakala/contracts/{id} | Retrieve a Wakala contract by ID |
PUT | /wakala/contracts/{id} | Update contract terms |
POST | /wakala/contracts/{id}/invest | Add investment to contract |
GET | /wakala/contracts/{id}/performance | Get performance report |
Profit Distribution
| Method | Endpoint | Description |
|---|---|---|
POST | /profit/pools | Create an investment pool |
GET | /profit/pools | List investment pools |
GET | /profit/pools/{id} | Retrieve a pool by ID |
PUT | /profit/pools/{id} | Update pool configuration |
POST | /profit/pools/{id}/calculate | Calculate profit for a distribution period |
POST | /profit/pools/{id}/distribute | Execute profit distribution |
GET | /profit/pools/{id}/distributions | List distribution history |
GET | /profit/pools/{id}/weightage | Get pool weightage table |
Zakat Calculation
| Method | Endpoint | Description |
|---|---|---|
POST | /zakat/calculate | Calculate zakat for a customer |
GET | /zakat/calculations | List zakat calculations |
GET | /zakat/calculations/{id} | Retrieve a calculation by ID |
GET | /zakat/nisab | Get current nisab thresholds |
PUT | /zakat/nisab | Update nisab thresholds |
GET | /zakat/customer/{customerId}/history | Get zakat history for a customer |
Health
| Method | Endpoint | Description |
|---|---|---|
GET | /health | Health check (no auth required) |
GET | /ready | Readiness check (no auth required) |
Response format
Successful responses return the resource directly or in a paginated wrapper:
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"product_type": "ASSET_MURABAHA",
"status": "ACTIVE",
"selling_price": 17250000.00,
"outstanding_balance": 16770833.33
}
Paginated list responses:
{
"data": [...],
"next_cursor": "eyJpZCI6Ii4uLiJ9"
}
Error responses follow a consistent structure:
{
"error": "Bad Request",
"message": "cost_price is required",
"status": 400
}