Skip to content
MyStocks Developers
API v1

API v1

Current stable contract

Versioning policyRelease changelog
Sandbox console

Portfolio

Execution & Order Management (OMS)

GET

/portfolio

Portfolio

Sandbox availablelistPortfolio

Returns all open equity positions on your partner account — current holdings, average cost, unrealised P&L, and market value in USD.

Parameters

This endpoint has no path or query parameters.

Headers

AuthorizationstringRequired

Bearer sk_sandbox_<your_key> for sandbox requests.

Response fields

accountTypeMASTER | SUBACCOUNTRequired
subAccountIdstring
externalIdstring
summaryobjectRequired
summary.walletBalancenumberRequired
summary.portfolioValuenumberRequired
summary.investedCapitalnumberRequired
summary.unrealisedPnlnumberRequired
summary.totalValuenumberRequired
holdingsobject[]Required
holdings[].symbolstringRequired
holdings[].stockNamestring | null
holdings[].exchangestring | null
holdings[].currencystringRequired
holdings[].unitsnumberRequired
holdings[].avgCostnumberRequired
holdings[].currentUsdPricenumberRequired
holdings[].localPricenumber
holdings[].currentValuenumberRequired
holdings[].investedCapitalnumberRequired
holdings[].unrealisedPnlnumberRequired
holdings[].priceIsLivebooleanRequired

Backwards-compatible freshness flag. True only when the production catalogue price is within the delayed-feed freshness window; never implies real-time tick data.

holdings[].lastPriceUpdatestring | null
holdings[].asOfstring | nullRequired

Upstream capture timestamp for the price used in this valuation.

holdings[].stalebooleanRequired

True when the price timestamp is missing or older than the published freshness window.

holdings[].priceSourcePRODUCTION_CATALOGUE | SANDBOX_HOLDINGRequired
holdings[].dataQualityobjectRequired

The published market-data freshness contract. African equity quotes are supplied by the exchanges on a 15-minute-delayed basis, not in real time. MyStocks holds full exchange data rights. The API refresh target is 900 seconds during the published coverage window, with an end-of-day pass after market close.

holdings[].idstring

Legacy master-account alias.

holdings[].namestring | null

Legacy alias of stockName.

holdings[].costBasisnumber

Legacy alias of avgCost.

holdings[].amountInvestednumber

Legacy alias of investedCapital.

holdings[].localCurrencystring | null
holdings[].gainLossnumber

Legacy alias of unrealisedPnl.

holdings[].liquidityStatusstring | null
countinteger

Legacy master-account total retained for compatibility.

totalValuenumber
totalInvestednumber
currencyUSD

Response codes

200Portfolio positions.