Watchlists
Each sub-account has an isolated watchlist. Let users save stocks and load them with delayed prices and day-change data for a personalized market overview.
Each sub-account has an isolated watchlist. Use it to let your users save stocks they want to track, then load it alongside delayed prices to power a personalized market overview screen. Watchlist entries include price and day-change percent when available; use the quote timestamp and freshness metadata before presenting the value as current.
Get a watchlist
Returns all watchlisted stocks for a sub-account, ordered by most recently added.
/users/{userId}/watchlist
List sub-account watchlist
Full endpoint documentationlistWatchlistReturns the watchlist for a sub-account, including delayed price and day-change for each stock where available.
Parameters
userIdstringpathRequiredExample: usr_abc123
Headers
AuthorizationstringRequiredBearer sk_sandbox_<your_key> for sandbox requests.
Response fields
dataobject[]data[].assetIdstringdata[].symbolstringdata[].namestringdata[].exchangestringdata[].sourceTypestringExample: "LISTED_STOCK"
data[].addedAtstringdata[].pricenumberLive local-currency price (omitted if unavailable).
data[].usdPricenumberdata[].changenumberDay change percent.
data[].currencystringcountintegermetaobjectStandard response metadata included on every market-data envelope.
meta.request_idstringUnique identifier for this request. Include in support tickets for tracing.
Example: "4f6e1a2b-3c4d-5e6f-7a8b-9c0d1e2f3a4b"
meta.timestampstringISO 8601 UTC timestamp of when the response was generated.
Example: "2026-06-04T10:23:45.123Z"
meta.exchangestring | nullExchange code the request was scoped to, when applicable.
Example: "NSE"
meta.symbolstring | nullTicker symbol the request was scoped to, when applicable.
Example: "SCOM.KE"
Response codes
200Watchlist items with delayed prices and freshness metadata.Add to a watchlist
Adds a stock to the sub-account watchlist. The symbol is auto-resolved to its canonical
exchange-qualified form — pass SCOM and get back SCOM.KE. Returns 409 if the stock is already on
the watchlist.
/users/{userId}/watchlist
Add symbol to watchlist
Full endpoint documentationaddToWatchlistAdds a stock to a sub-account's watchlist. The symbol is resolved to its canonical exchange-qualified form (e.g. "SCOM" → "SCOM.KE"). Returns 409 if already present.
Parameters
userIdstringpathRequiredExample: usr_abc123
Headers
AuthorizationstringRequiredBearer sk_sandbox_<your_key> for sandbox requests.
Idempotency-KeystringheaderRequiredUnique string that makes write calls safe to retry on network failure. Required for money movement, trading, KYC, subscriptions, and webhook creation. Deduplicated for 24 hours -- duplicate keys return the cached response. HTTP 409 if a concurrent request with the same key is still in progress.
Example: dep_user42_1743152580
Request body
symbolstringRequiredTicker symbol (exchange-qualified preferred, e.g. SCOM.KE).
Example: "SCOM.KE"
Response fields
assetIdstringsymbolstringnamestringexchangestringaddedAtstringmetaobjectStandard response metadata included on every market-data envelope.
meta.request_idstringUnique identifier for this request. Include in support tickets for tracing.
Example: "4f6e1a2b-3c4d-5e6f-7a8b-9c0d1e2f3a4b"
meta.timestampstringISO 8601 UTC timestamp of when the response was generated.
Example: "2026-06-04T10:23:45.123Z"
meta.exchangestring | nullExchange code the request was scoped to, when applicable.
Example: "NSE"
meta.symbolstring | nullTicker symbol the request was scoped to, when applicable.
Example: "SCOM.KE"
Response codes
201Symbol added to watchlist.409Symbol already on watchlist.Remove from a watchlist
Removes a stock from the sub-account watchlist. Returns 204 No Content on success, 404 if the
symbol is not on the watchlist.
/users/{userId}/watchlist/{symbol}
Remove symbol from watchlist
Full endpoint documentationremoveFromWatchlistRemoves a stock from a sub-account's watchlist. Returns 404 if the symbol is not on the watchlist.
Parameters
userIdstringpathRequiredExample: usr_abc123
symbolstringpathRequiredExchange-qualified ticker symbol (e.g. SCOM.KE).
Example: SCOM.KE
Headers
AuthorizationstringRequiredBearer sk_sandbox_<your_key> for sandbox requests.
Idempotency-KeystringheaderRequiredUnique string that makes write calls safe to retry on network failure. Required for money movement, trading, KYC, subscriptions, and webhook creation. Deduplicated for 24 hours -- duplicate keys return the cached response. HTTP 409 if a concurrent request with the same key is still in progress.
Example: dep_user42_1743152580
Response fields
See the response format and API Reference for this endpoint.
Response codes
204Symbol removed. No response body.404Symbol not on watchlist or sub-account not found.Was this page useful?
Your signal helps us tighten partner onboarding docs.
Last updated on