Connected to the bigger picture.
The data contracts behind your investor workspace.
/api/market-overview
Delayed quotes for tracked instruments. Returns quotes, isFallback, fetchedAt, and source. Each quote includes symbol, currency, price, previousClose, change, changePercent, daily closing history, asOf, and demo. Samples have demo=true, asOf=null, and no history. Provider fetches are cached for 120 seconds.
/api/news?category=Policy
Recent Google News RSS headlines. Optional category: All, Markets, Global, Companies, or Policy. Returns articles, unavailable, source, and fetchedAt. Each article has a title, category, source, URL, and publication time. Feeds are cached for 300 seconds.
/api/account-status
Returns whether email and Google account services are configured. This endpoint never exposes credentials.
/api/investor
Requires a verified account session. Returns that account’s holdings and watchlist. Responses are not cached. Guests receive HTTP 401.
/api/investor
Requires a verified session and same-origin request. Accepts holdings [{id,symbol,quantity,cost}] and watchlist [symbol]. The server validates values, caps each list at 200 entries, and saves only to the current account’s workspace. Invalid input receives HTTP 400; database unavailability receives HTTP 503.