Skip to main content

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

MethodEndpointDescription
POST/murabaha/contractsCreate a new Murabaha financing contract
GET/murabaha/contractsList Murabaha contracts with filtering
GET/murabaha/contracts/{id}Retrieve a contract by ID
PUT/murabaha/contracts/{id}Update a contract
POST/murabaha/contracts/{id}/purchaseRecord asset purchase from supplier
POST/murabaha/contracts/{id}/disburseDisburse financing to customer
GET/murabaha/contracts/{id}/scheduleGet repayment schedule
POST/murabaha/contracts/{id}/paymentsProcess a repayment
GET/murabaha/contracts/{id}/paymentsList payments for a contract
POST/murabaha/contracts/{id}/early-settlementCalculate early settlement amount

Musharaka Partnerships

MethodEndpointDescription
POST/musharaka/partnershipsCreate a new Musharaka partnership
GET/musharaka/partnershipsList partnerships with filtering
GET/musharaka/partnerships/{id}Retrieve a partnership by ID
PUT/musharaka/partnerships/{id}Update partnership terms
POST/musharaka/partnerships/{id}/contributionsRecord a capital contribution
GET/musharaka/partnerships/{id}/contributionsList capital contributions
POST/musharaka/partnerships/{id}/profit-distributionDistribute profits
POST/musharaka/partnerships/{id}/buyoutProcess a diminishing Musharaka buyout
GET/musharaka/partnerships/{id}/buyout-scheduleGet buyout schedule

Mudarabah Investment

MethodEndpointDescription
POST/mudarabah/accountsCreate a Mudarabah investment account
GET/mudarabah/accountsList Mudarabah accounts
GET/mudarabah/accounts/{id}Retrieve a Mudarabah account by ID
PUT/mudarabah/accounts/{id}Update account terms
POST/mudarabah/accounts/{id}/depositMake a deposit
POST/mudarabah/accounts/{id}/withdrawProcess a withdrawal
GET/mudarabah/accounts/{id}/profit-historyGet profit distribution history

Wadiah Deposits

MethodEndpointDescription
POST/wadiah/accountsCreate a Wadiah safekeeping account
GET/wadiah/accountsList Wadiah accounts
GET/wadiah/accounts/{id}Retrieve a Wadiah account by ID
POST/wadiah/accounts/{id}/depositMake a deposit
POST/wadiah/accounts/{id}/withdrawProcess a withdrawal
POST/wadiah/accounts/{id}/hibahGrant hibah (gift) to account holder
GET/wadiah/accounts/{id}/hibah-historyGet hibah history

Wakala Investments

MethodEndpointDescription
POST/wakala/contractsCreate a Wakala investment contract
GET/wakala/contractsList Wakala contracts
GET/wakala/contracts/{id}Retrieve a Wakala contract by ID
PUT/wakala/contracts/{id}Update contract terms
POST/wakala/contracts/{id}/investAdd investment to contract
GET/wakala/contracts/{id}/performanceGet performance report

Profit Distribution

MethodEndpointDescription
POST/profit/poolsCreate an investment pool
GET/profit/poolsList investment pools
GET/profit/pools/{id}Retrieve a pool by ID
PUT/profit/pools/{id}Update pool configuration
POST/profit/pools/{id}/calculateCalculate profit for a distribution period
POST/profit/pools/{id}/distributeExecute profit distribution
GET/profit/pools/{id}/distributionsList distribution history
GET/profit/pools/{id}/weightageGet pool weightage table

Zakat Calculation

MethodEndpointDescription
POST/zakat/calculateCalculate zakat for a customer
GET/zakat/calculationsList zakat calculations
GET/zakat/calculations/{id}Retrieve a calculation by ID
GET/zakat/nisabGet current nisab thresholds
PUT/zakat/nisabUpdate nisab thresholds
GET/zakat/customer/{customerId}/historyGet zakat history for a customer

Health

MethodEndpointDescription
GET/healthHealth check (no auth required)
GET/readyReadiness 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
}