Skip to content
Partner API Docs

Reports

Read-only reporting across all sub-accounts — AUM, positions, fees, revenue, dividends, monthly invoices, dividend calendar, audit log, usage analytics, the daily reconciliation pack, per-order executions, and the unified client-activity feed. Most support ?format=csv.

Portfolio snapshots, revenue reporting, dividends, and audit logs across all sub-accounts. All reporting endpoints are read-only and safe to call on every page load. Most support ?format=csv for spreadsheet or data-warehouse export.

AUM

GET /report/aum

Total assets under management across all sub-accounts, broken down by asset class and exchange.

{ "totalAum": 45230.5, "currency": "USD", "breakdown": { "equities": 38400.0, "bonds": 4200.0, "funds": 2630.5, "opportunities": 0 }, "byExchange": { "NSE": 22100, "NGX": 10300, "JSE": 6000 } }

Positions

GET /report/positions

All open equity positions across all sub-accounts. Supports ?exchange=, ?symbol=, ?format=csv.

{ "positions": [{ "subAccountId": "usr_abc123", "symbol": "SCOM.KE", "quantity": 1000, "avgCostUsd": 0.01269, "currentPriceUsd": 0.0126, "marketValue": 12.6, "unrealizedPnl": -0.09 }], "totalValue": 38400.0, "count": 1 }

Fees & revenue

GET /report/fees · GET /report/revenue

/report/fees — trading fees paid across all sub-accounts (base fees + partner markup). /report/revenue — partner markup revenue per trade with net payable. Both filter by ?from=/?to=.

// /report/fees
{ "period": { "from": "2026-05-01", "to": "2026-05-31" }, "totalBaseFees": 62.25, "totalMarkupFees": 18.75, "totalFees": 81.0, "tradeCount": 83, "currency": "USD" }
 
// /report/revenue
{ "period": { "from": "2026-05-01", "to": "2026-05-31" }, "totalMarkupRevenue": 124.5, "totalTrades": 83, "netPayable": 124.5, "currency": "USD" }

Dividends & calendar

GET /report/dividends · GET /dividends/calendar

/report/dividends — aggregated dividend report across all sub-accounts, with per-account breakdown. /dividends/calendar — upcoming declarations; partnerEligible: true flags dividends where at least one of your sub-accounts holds the stock.

// /dividends/calendar
{ "dividends": [{ "symbol": "EQTY.KE", "name": "Equity Group Holdings", "declarationDate": "2026-07-15", "exDividendDate": "2026-07-22", "paymentDate": "2026-08-01", "amountPerShare": 4.0, "currency": "KES", "partnerEligible": true }], "count": 1 }

Invoice

GET /report/invoice

Monthly fee statement with line items for platform fees, markups, and adjustments. Pass ?month=YYYY-MM.

{ "month": "2026-05", "invoiceId": "inv_202605_prt_abc123", "lineItems": [{ "description": "Platform base fees", "amount": 62.25 }, { "description": "Partner markup revenue", "amount": 124.5 }], "totalDue": 62.25, "currency": "USD", "status": "ISSUED" }

Reconciliation

GET /report/reconciliation

Daily reconciliation pack for B2B operations: cash ledger, securities ledger, unsettled trades, fees, dividends, corporate actions, and custody positions across the master account and all sub-accounts. Pass ?asOf=YYYY-MM-DD (or ?from=/?to=). Add ?format=csv&section=cash|securities|unsettled|fees|dividends|custody|summary to download one section.

{ "asOf": "2026-06-30", "summary": { "cashTotalUsd": 45230.5, "securitiesTotalUsd": 38400.0, "unsettledCount": 2, "feesTotalUsd": 81.0 }, "cash": [{ "accountType": "SUBACCOUNT", "userId": "usr_abc123", "balanceUsd": 1240.0 }], "unsettled": [{ "orderId": "ord_abc123", "symbol": "SCOM.KE", "status": "PENDING", "totalUsd": 126.0 }] }

Executions

GET /orders/{orderId}/executions · GET /users/{userId}/orders/{orderId}/executions

OMS-style execution reports for an order — every lifecycle transition (accepted, locked, settled, rejected, cancelled) with timestamps. Available for partner-level and sub-account orders.

{ "orderId": "ord_abc123", "executions": [{ "sequence": 1, "event": "ACCEPTED", "at": "2026-06-30T09:00:01Z" }, { "sequence": 3, "event": "COMPLETED", "at": "2026-06-30T10:12:00Z", "settledUsd": 126.0 }], "count": 3 }

Audit, usage & activity

GET /audit · GET /usage · GET /client-activity

/audit — paginated API call log (endpoint, method, status, IP, user-agent, latency) including key events (key.rotated, key.revoked, settings.updated). /usage — 90-day rolling analytics: requests per day, error rate, current rate-limit window. /client-activity — unified reverse-chronological feed of trades, deposits, withdrawals, subscriptions, redemptions, and KYC changes across all sub-accounts.

// /usage
{ "tier": "starter", "limitPerMinute": 100, "currentWindow": { "requestsUsed": 43, "requestsRemaining": 57, "resetsAt": "2026-06-04T09:46:00Z" }, "daily": [{ "date": "2026-06-04", "requests": 1240, "errors": 3 }] }

On this page