{"openapi":"3.1.0","info":{"title":"Finance Desk API","version":"1.0.0","description":"Every market move, explained. Structured, sourced **events**, price **moves** linked to their causes, **catalysts**, companies (segments, projects, people), SEC filings, financials, insider trades, macro series, prediction-market odds and prices pooled across venues.\n\n**Conventions.** Every entity carries `{type, key, label, path}` (`path` = page on the site). Every event carries `id` and `sourceUrl`. Dates are ISO 8601, numbers are numbers, percentages are percent (2.5 = 2.5%), probabilities 0–1. Lists return `{data, page:{limit, offset, nextOffset}}`; errors return `{error:{code, message}}`.\n\n**Prices.** Unless `priceLabel` says official, a price is pooled from 24/7 venues (perps/spot) and must be labelled as such (e.g. `NVDA · 24/7 (venues)`).\n\n**Auth.** `Authorization: Bearer fd_live_…`. Rate limits are per key (and per IP for anonymous dev access); see `X-RateLimit-*` headers.\n\n**MCP.** The same data as tools for AI agents at `/mcp` (Streamable HTTP): `get_market_snapshot`, `get_coverage`, `get_instrument`, `get_price_history`, `get_derivatives`, `get_moves`, `explain_move`, `search`, `get_news`, `get_story`, `get_company`, `get_project`, `get_person`, `get_sector`, `get_fundamentals`, `get_financials`, `get_filings`, `get_insider_trades`, `get_calendar`, `get_macro_series`, `get_macro_dashboard`, `get_prediction_markets`, `get_brief`, `get_glossary_term`.\n\n**Realtime.** `GET /v1/stream?topics=quotes,events,instrument:NVDA` (Server-Sent Events)."},"servers":[{"url":"http://api.wiremeridian.com"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Market","description":"Strip and one-call snapshot."},{"name":"Instruments","description":"Pooled prices, venues, candles, funding/OI."},{"name":"Moves","description":"Price moves and why they happened."},{"name":"News","description":"Events: what happened, with sources."},{"name":"Calendar","description":"Catalysts: what's next."},{"name":"Companies","description":"Companies, projects, people, sectors."},{"name":"Fundamentals","description":"SEC filings, XBRL financials, fundamentals & valuation, insider trades."},{"name":"Macro"},{"name":"Prediction markets"},{"name":"Brief","description":"LLM-ready context bundles."},{"name":"Search"},{"name":"Learn"},{"name":"Realtime"},{"name":"Meta"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key `fd_live_…` (create one with `pnpm --filter @fd/api key:create <label>`)."}},"schemas":{"EntityRef":{"type":["object","null"],"properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}},"required":["type","key","label","path"]},"InstrumentSummary":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["stock","index","commodity","crypto","etf","fx","rate"]},"currency":{"type":"string"},"company":{"$ref":"#/components/schemas/EntityRef"},"price":{"type":["number","null"]},"changePct":{"type":["number","null"]},"priceTs":{"type":["string","null"],"format":"date-time","example":"2026-10-09T20:00:00.000Z"},"priceLabel":{"type":"string","description":"How to label the price. `NVDA · 24/7 (venues)` = pooled venue price, not the official exchange price."}},"required":["symbol","name","kind","currency","company","price","changePct","priceTs","priceLabel"]}]},"Page":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"nextOffset":{"type":["integer","null"],"description":"Pass as `offset` for the next page; null when there is no more."}},"required":["limit","offset","nextOffset"]},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"not_found"},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]},"InstrumentDetail":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Candle":{"type":"object","properties":{"ts":{"type":"string","format":"date-time","example":"2026-10-09T20:00:00.000Z"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volumeUsd":{"type":["number","null"]},"venues":{"type":"integer"}},"required":["ts","open","high","low","close","volumeUsd"]},"VenueCandles":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Derivatives":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"StripItem":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"MarketSnapshot":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Event":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["earnings","guidance","filing","m_and_a","rating","macro_release","policy_decision","project_milestone","product","legal","regulatory","insider","management","market_structure","capital","partnership","news"]},"occurredAt":{"type":"string","format":"date-time","example":"2026-10-09T20:00:00.000Z"},"precision":{"type":"string"},"headline":{"type":"string"},"summary":{"type":"string"},"points":{"type":"array","items":{"type":"string"}},"importance":{"type":"integer","description":"0–100"},"sourceName":{"type":"string"},"sourceUrl":{"type":"string","description":"The original source (cite this)."},"entities":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object"}]}}},"required":["id","kind","occurredAt","precision","headline","importance","sourceName","sourceUrl","entities"]}]},"Move":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object","properties":{"id":{"type":"integer"},"instrument":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object"}]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-10-09"},"fromPrice":{"type":"number"},"toPrice":{"type":"number"},"pct":{"type":"number"},"zScore":{"type":["number","null"],"description":"|pct| / trailing daily stdev"},"explanation":{"type":["string","null"]},"causes":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"candidateStories":{"type":"array","items":{"$ref":"#/components/schemas/Event"},"description":"Unconfirmed: important stories on/just before the date."}},"required":["id","instrument","date","fromPrice","toPrice","pct","zScore","explanation","causes"]}]},"Catalyst":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string","enum":["earnings","macro_release","policy_decision","product_launch","project_milestone","regulatory","shareholder_meeting","index_event","expiry","other"]},"title":{"type":"string"},"expectedAt":{"type":"string","format":"date-time","example":"2026-10-09T20:00:00.000Z"},"precision":{"type":"string"},"confirmed":{"type":"boolean"},"description":{"type":["string","null"]},"consensus":{"type":["string","null"]},"sourceUrl":{"type":["string","null"]},"outcomeEventId":{"type":["integer","null"]},"entities":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object"}]}}},"required":["id","kind","title","expectedAt","precision","confirmed","description","consensus","sourceUrl","outcomeEventId","entities"]}]},"SearchHit":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"GlossaryTerm":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"GlossaryEntry":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Brief":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Vocabulary":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"CompanySummary":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Company":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Financials":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Fundamentals":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Filings":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"InsiderTrades":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"ProjectSummary":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Project":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"PersonSummary":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Person":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"SectorSummary":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"Sector":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"MacroSeriesSummary":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"MacroDashboardRow":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"MacroSeries":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"PredictionMarket":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}},"PredictionMarketDetail":{"type":"object","properties":{"type":{"type":"string","example":"company"},"key":{"type":"string","example":"nvidia"},"label":{"type":"string","example":"NVIDIA"},"path":{"type":["string","null"],"description":"Site path on financedesk (build absolute links with the site origin).","example":"/c/nvidia"}}}},"parameters":{}},"paths":{"/v1/instruments":{"get":{"tags":["Instruments"],"security":[{"bearerAuth":[]}],"summary":"List instruments","description":"Every instrument we price (stocks, ETFs, index proxies, commodities, crypto) with its latest pooled price and change vs the previous UTC daily close.","parameters":[{"schema":{"type":"string","enum":["stock","index","commodity","crypto","etf","fx","rate"]},"required":false,"name":"kind","in":"query"}],"responses":{"200":{"description":"Instruments","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentSummary"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/instruments/{symbol}":{"get":{"tags":["Instruments"],"security":[{"bearerAuth":[]}],"summary":"Get an instrument","description":"Pooled price (volume-weighted median across fresh venues within 2%), change, open interest, OI-weighted funding, 24h volume, and every venue listing with its own quote, deviation from the pool, staleness and whether it is in the pool. `priceLabel` tells you how to label the price (24/7 venue price vs official).","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Instrument symbol (case-insensitive)","example":"NVDA"},"required":true,"name":"symbol","in":"path"}],"responses":{"200":{"description":"Instrument","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstrumentDetail"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/instruments/{symbol}/candles":{"get":{"tags":["Instruments"],"security":[{"bearerAuth":[]}],"summary":"Pooled candles","description":"OHLC candles of the pooled (fair) price. `venues` = how many venues were in the pool for that bar.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Instrument symbol (case-insensitive)","example":"NVDA"},"required":true,"name":"symbol","in":"path"},{"schema":{"type":"string","enum":["1m","1h","1d"],"description":"1m (default lookback 24h) · 1h (30 days) · 1d (all). Default 1d."},"required":false,"name":"interval","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"from","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"to","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20000,"description":"1–20000, default 5000"},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Candles","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"instrument":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object"}]},"interval":{"type":"string"},"count":{"type":"number"},"candles":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}}},"required":["instrument","interval","count","candles"]}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/instruments/{symbol}/listings/{listingId}/candles":{"get":{"tags":["Instruments"],"security":[{"bearerAuth":[]}],"summary":"One venue's candles","description":"Candles of a single venue listing (listingId from `GET /v1/instruments/{symbol}` → `venues[].listingId`).","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"NVDA"},"required":true,"name":"symbol","in":"path"},{"schema":{"type":"integer","exclusiveMinimum":0,"example":1},"required":true,"name":"listingId","in":"path"},{"schema":{"type":"string","enum":["1m","1h","1d"],"description":"1m (default lookback 24h) · 1h (30 days) · 1d (all). Default 1d."},"required":false,"name":"interval","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"from","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"to","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20000,"description":"1–20000, default 5000"},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Candles","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/VenueCandles"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/instruments/{symbol}/derivatives":{"get":{"tags":["Instruments"],"security":[{"bearerAuth":[]}],"summary":"Funding & open interest history","description":"Daily funding (per 8h, OI-weighted across perp venues) and total open interest; `perVenue=true` adds each venue's hourly series.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Instrument symbol (case-insensitive)","example":"NVDA"},"required":true,"name":"symbol","in":"path"},{"schema":{"type":"string","maxLength":40,"description":"Default 2026-01-01","example":"2026-09-01"},"required":false,"name":"from","in":"query"},{"schema":{"type":"boolean","description":"Include each venue's raw hourly points (large)."},"required":false,"name":"perVenue","in":"query"}],"responses":{"200":{"description":"Derivatives history","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Derivatives"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/market/strip":{"get":{"tags":["Market"],"security":[{"bearerAuth":[]}],"summary":"Market strip","description":"Every instrument's latest pooled price, change vs previous daily close and a 24-point hourly sparkline.","responses":{"200":{"description":"Strip","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/StripItem"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/market/snapshot":{"get":{"tags":["Market"],"security":[{"bearerAuth":[]}],"summary":"Market snapshot","description":"One call for 'what's happening': strip, the latest day's biggest moves with causes/candidate stories, top stories (importance decayed by age), catalysts in the next 7 days, headline macro numbers, and how far each dataset runs (`dataThrough`).","responses":{"200":{"description":"Snapshot","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MarketSnapshot"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/moves":{"get":{"tags":["Moves"],"security":[{"bearerAuth":[]}],"summary":"List moves","description":"Daily price moves worth explaining (unusual vs the instrument's volatility), newest first (or most unusual first with `date`). Each carries `explanation`, confirmed `causes` (events) and, when none is confirmed, `candidateStories`.","parameters":[{"schema":{"type":"string","maxLength":20},"required":false,"name":"symbol","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Moves on one day, most unusual first","example":"2026-10-09"},"required":false,"name":"date","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-10-09"},"required":false,"name":"from","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-10-09"},"required":false,"name":"to","in":"query"},{"schema":{"type":["number","null"],"minimum":0,"description":"Minimum |pct|"},"required":false,"name":"minPct","in":"query"},{"schema":{"type":["number","null"],"minimum":0,"description":"Minimum |z-score|"},"required":false,"name":"minZ","in":"query"},{"schema":{"type":"boolean","description":"Attach candidate stories to unexplained moves (default true)"},"required":false,"name":"candidates","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"description":"1–200, default 30"},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":100000,"description":"Default 0"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Moves","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Move"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/moves/explain":{"get":{"tags":["Moves"],"security":[{"bearerAuth":[]}],"summary":"Explain a move","description":"Why did X move on a date? The move (if detected) with explanation and confirmed causes, the stories around the date for the instrument and its company, macro releases/policy decisions that day, other movers that day (market-wide vs idiosyncratic), and daily closes around it.","parameters":[{"schema":{"type":"string","maxLength":20,"example":"NVDA"},"required":true,"name":"symbol","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Default: the latest move","example":"2026-10-09"},"required":false,"name":"date","in":"query"}],"responses":{"200":{"description":"Explanation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"instrument":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object"}]},"date":{"type":"string"},"move":{"allOf":[{"$ref":"#/components/schemas/Move"},{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":["object","null"],"properties":{"id":{"type":"integer"},"instrument":{"allOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"object"}]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-10-09"},"fromPrice":{"type":"number"},"toPrice":{"type":"number"},"pct":{"type":"number"},"zScore":{"type":["number","null"],"description":"|pct| / trailing daily stdev"},"explanation":{"type":["string","null"]},"causes":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"candidateStories":{"type":"array","items":{"$ref":"#/components/schemas/Event"},"description":"Unconfirmed: important stories on/just before the date."}},"required":["id","instrument","date","fromPrice","toPrice","pct","zScore","explanation","causes"]}]}]},"storiesAround":{"type":"array","items":{"$ref":"#/components/schemas/Event"}}},"required":["instrument","date","move","storiesAround"]}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/events":{"get":{"tags":["News"],"security":[{"bearerAuth":[]}],"summary":"List events (news)","description":"Everything that happened — earnings, guidance, filings, M&A, ratings, macro releases, policy decisions, project milestones, products, legal/regulatory, insider, management, news — structured, deduplicated, summarised in our words, each with `sourceUrl` to the original. Filter by entity, kind, date range, full-text `q` and `minImportance`.","parameters":[{"schema":{"type":"string","maxLength":500,"description":"Comma-separated `type:key` (any match): company:nvidia, instrument:NVDA, person:jensen-huang, macro:cpi, project:nvidia/rubin, sector:technology","example":"company:nvidia"},"required":false,"name":"entity","in":"query"},{"schema":{"type":"string","maxLength":20,"description":"Shortcut for entity=instrument:<symbol>"},"required":false,"name":"symbol","in":"query"},{"schema":{"type":"string","maxLength":80,"description":"Shortcut for entity=company:<slug>"},"required":false,"name":"company","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated event kinds: earnings, guidance, filing, m_and_a, rating, macro_release, policy_decision, project_milestone, product, legal, regulatory, insider, management, market_structure, capital, partnership, news","example":"earnings,guidance"},"required":false,"name":"kind","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated kinds to exclude","example":"filing"},"required":false,"name":"excludeKind","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"from","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"to","in":"query"},{"schema":{"type":"string","maxLength":200,"description":"Full-text search over headline + summary (websearch syntax: quotes, OR, -word)"},"required":false,"name":"q","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":100},"required":false,"name":"minImportance","in":"query"},{"schema":{"type":"string","enum":["recent","important"],"description":"Default recent"},"required":false,"name":"order","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"description":"1–100, default 30"},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":100000,"description":"Default 0"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Events","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/events/{id}":{"get":{"tags":["News"],"security":[{"bearerAuth":[]}],"summary":"Get an event (story)","description":"One story: summary, key points, linked entities, the moves it caused, the SEC filing behind it (if any), and related stories (same subjects, ±45 days).","parameters":[{"schema":{"type":"integer","exclusiveMinimum":0,"example":1},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Event","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Event"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/catalysts":{"get":{"tags":["Calendar"],"security":[{"bearerAuth":[]}],"summary":"Catalysts (calendar)","description":"Known future events: earnings dates, macro releases, central bank decisions, launches, expiries, shareholder meetings, regulatory decisions. Upcoming by default (`from` = now); pass `from` in the past for history (`outcomeEventId` links what happened).","parameters":[{"schema":{"type":"string","maxLength":500,"description":"Comma-separated `type:key`","example":"instrument:NVDA,company:nvidia"},"required":false,"name":"entity","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated: earnings, macro_release, policy_decision, product_launch, project_milestone, regulatory, shareholder_meeting, index_event, expiry, other","example":"earnings,macro_release"},"required":false,"name":"kind","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"Default now (upcoming only). Pass a past date for history.","example":"2026-09-01"},"required":false,"name":"from","in":"query"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"to","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"description":"1–200, default 50"},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":100000,"description":"Default 0"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Catalysts","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Catalyst"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/search":{"get":{"tags":["Search"],"security":[{"bearerAuth":[]}],"summary":"Search everything","description":"Instruments, companies, people, macro series, prediction markets, glossary terms and stories by name or keyword. Returns typed refs ({type, key, label, path}) to feed the detail endpoints.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nvidia earnings"},"required":true,"name":"q","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated result types: instrument, company, person, macro, market, glossary, event","example":"company,instrument"},"required":false,"name":"type","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":60,"description":"1–60, default 20"},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Hits","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SearchHit"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/glossary":{"get":{"tags":["Learn"],"security":[{"bearerAuth":[]}],"summary":"Glossary","responses":{"200":{"description":"Terms","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GlossaryTerm"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/glossary/{slug}":{"get":{"tags":["Learn"],"security":[{"bearerAuth":[]}],"summary":"Glossary term","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"funding-rate"},"required":true,"name":"slug","in":"path"}],"responses":{"200":{"description":"Term","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GlossaryEntry"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/brief/{type}/{key}":{"get":{"tags":["Brief"],"security":[{"bearerAuth":[]}],"summary":"LLM-ready context bundle","description":"A compact context bundle for any entity, built for LLM prompts: latest price & change (with its label), recent important events (ids + sourceUrl), recent moves with explanations / cause ids, upcoming catalysts, key fundamentals and valuation, insider summary, related odds, macro backdrop, and `dataThrough` dates. Types: instrument (NVDA), company (nvidia), macro (cpi), person, project (company/project), sector, market (prediction market slug), event (id).","parameters":[{"schema":{"type":"string","enum":["instrument","company","macro","person","project","sector","market","event"],"example":"instrument"},"required":true,"name":"type","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":160,"description":"Symbol, slug, `company/project` (URL-encode the slash as %2F), market slug or event id","example":"NVDA"},"required":true,"name":"key","in":"path"}],"responses":{"200":{"description":"Brief","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Brief"}},"required":["data"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/meta":{"get":{"tags":["Meta"],"security":[{"bearerAuth":[]}],"summary":"Dataset stats & coverage","description":"Row counts and how far each dataset runs (latest event, price, move, macro observation, filing, odds update).","responses":{"200":{"description":"Meta","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"stats":{"type":"object","additionalProperties":{"type":"number"}},"coverage":{"type":"object","additionalProperties":{"type":["string","null"]}},"now":{"type":"string"}},"required":["stats","coverage","now"]}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/meta/vocabulary":{"get":{"tags":["Meta"],"security":[{"bearerAuth":[]}],"summary":"Enums used in filters","responses":{"200":{"description":"Vocabulary","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Vocabulary"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/companies":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"List companies","description":"Covered companies with sector, primary instrument and latest pooled price.","responses":{"200":{"description":"Companies","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CompanySummary"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/companies/{company}":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"Get a company","description":"Profile, sector, instruments, people, segments (how it makes money), projects (what it's building) with KPIs and milestones, and peers.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Company slug (or ticker)","example":"nvidia"},"required":true,"name":"company","in":"path"}],"responses":{"200":{"description":"Company","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Company"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/companies/{company}/financials":{"get":{"tags":["Fundamentals"],"security":[{"bearerAuth":[]}],"summary":"Financial statements","description":"SEC XBRL metrics × periods (quarters and fiscal years, newest first) with YoY growth per cell and TTM. Derived cells are flagged.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Company slug (or ticker)","example":"nvidia"},"required":true,"name":"company","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":40,"description":"Default 12"},"required":false,"name":"quarters","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"description":"Default 5"},"required":false,"name":"years","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated metric keys (revenue, net_income, eps_diluted, …)","example":"revenue,net_income"},"required":false,"name":"metrics","in":"query"}],"responses":{"200":{"description":"Financials","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Financials"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/companies/{company}/fundamentals":{"get":{"tags":["Fundamentals"],"security":[{"bearerAuth":[]}],"summary":"Fundamentals & valuation","description":"TTM revenue/earnings/cash flow, margins, growth, balance sheet, ROE, and valuation ratios (P/E, P/S, P/B, EV/EBITDA, FCF/dividend/buyback yield) at our pooled price.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Company slug (or ticker)","example":"nvidia"},"required":true,"name":"company","in":"path"}],"responses":{"200":{"description":"Fundamentals","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Fundamentals"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/filings":{"get":{"tags":["Fundamentals"],"security":[{"bearerAuth":[]}],"summary":"SEC filings","description":"A company's SEC filings (8-K, 10-Q, 10-K, …) newest first; `sourceUrl` is the filing on EDGAR, `eventId` our story about it.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"description":"Company slug or ticker (required)","example":"nvidia"},"required":true,"name":"company","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated forms","example":"10-Q,10-K,8-K"},"required":false,"name":"form","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"description":"1–200, default 50"},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":100000,"description":"Default 0"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Filings","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Filings"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/insider-trades":{"get":{"tags":["Fundamentals"],"security":[{"bearerAuth":[]}],"summary":"Insider trades (Form 4)","description":"Insider transactions newest first with an open-market buy/sell summary. Filter by company, window and transaction code.","parameters":[{"schema":{"type":"string","maxLength":80},"required":false,"name":"company","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":3650},"required":false,"name":"sinceDays","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Form 4 codes: P buy, S sale, M exercise, A award, F tax, G gift","example":"P,S"},"required":false,"name":"code","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"description":"1–500, default 50"},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Trades","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InsiderTrades"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/projects":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"List projects","description":"What companies are building next (chips, fabs, drugs, networks…) with stage, status and next planned milestone.","parameters":[{"schema":{"type":"string","maxLength":80},"required":false,"name":"company","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Comma-separated: research, development, testing, pilot, launched, scaling, paused, cancelled","example":"launched,scaling"},"required":false,"name":"stage","in":"query"}],"responses":{"200":{"description":"Projects","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSummary"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/projects/{company}/{project}":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"Get a project","description":"Goal, stage, KPIs, milestones (done/planned/slipped with sources), events and sibling projects.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"nvidia"},"required":true,"name":"company","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"rubin"},"required":true,"name":"project","in":"path"}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/people":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"List people","description":"Executives and policymakers we track.","responses":{"200":{"description":"People","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PersonSummary"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/people/{slug}":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"Get a person","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"jensen-huang"},"required":true,"name":"slug","in":"path"}],"responses":{"200":{"description":"Person","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Person"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/sectors":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"List sectors","responses":{"200":{"description":"Sectors","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SectorSummary"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/sectors/{slug}":{"get":{"tags":["Companies"],"security":[{"bearerAuth":[]}],"summary":"Get a sector","description":"Member companies with prices, average change today, and the most important recent events.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"technology"},"required":true,"name":"slug","in":"path"}],"responses":{"200":{"description":"Sector","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Sector"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/macro":{"get":{"tags":["Macro"],"security":[{"bearerAuth":[]}],"summary":"List macro series","description":"Every macro series (rates, inflation, jobs, growth, FX, commodities, liquidity) with its latest value, change, YoY and the headline number per its display mode.","responses":{"200":{"description":"Series","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MacroSeriesSummary"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/macro/dashboard":{"get":{"tags":["Macro"],"security":[{"bearerAuth":[]}],"summary":"Macro dashboard","description":"The headline series (Fed funds, CPI, core PCE, payrolls, unemployment, claims, GDP, retail sales, 2y/10y, curve, dollar, oil) with latest value and next release.","responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MacroDashboardRow"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/macro/{slug}":{"get":{"tags":["Macro"],"security":[{"bearerAuth":[]}],"summary":"Get a macro series","description":"Definition, why it matters, latest, next release, recent release stories, and observations (optionally from a date and downsampled).","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"cpi"},"required":true,"name":"slug","in":"path"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Observations from this date (default: all)","example":"2026-10-09"},"required":false,"name":"from","in":"query"},{"schema":{"type":"integer","minimum":10,"maximum":100000,"description":"Downsample observations to at most this many"},"required":false,"name":"maxPoints","in":"query"}],"responses":{"200":{"description":"Series","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MacroSeries"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/odds":{"get":{"tags":["Prediction markets"],"security":[{"bearerAuth":[]}],"summary":"List prediction markets","description":"Questions with live odds (YES probability 0–1) per venue and averaged, with volume and linked entities. Open markets by default.","parameters":[{"schema":{"type":"string","maxLength":120,"description":"`type:key`, e.g. macro:fed-funds-rate"},"required":false,"name":"entity","in":"query"},{"schema":{"type":"string","maxLength":60,"example":"fed-decision"},"required":false,"name":"category","in":"query"},{"schema":{"type":"boolean","description":"true = open markets only (default), false = resolved/expired only"},"required":false,"name":"active","in":"query"},{"schema":{"type":"string","maxLength":200,"description":"Words that must all appear in the question"},"required":false,"name":"q","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"description":"1–200, default 50"},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":100000,"description":"Default 0"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Markets","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PredictionMarket"}},"page":{"$ref":"#/components/schemas/Page"}},"required":["data"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/odds/{slug}":{"get":{"tags":["Prediction markets"],"security":[{"bearerAuth":[]}],"summary":"Get a prediction market","description":"One question: every venue's market with its price, volume, liquidity and probability history; the average and the gap between venues.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"fed-decision-december"},"required":true,"name":"slug","in":"path"},{"schema":{"type":"string","maxLength":40,"description":"YYYY-MM-DD or ISO timestamp","example":"2026-09-01"},"required":false,"name":"from","in":"query"},{"schema":{"type":"integer","minimum":10,"maximum":20000,"description":"History points per venue (default 500)"},"required":false,"name":"maxPoints","in":"query"}],"responses":{"200":{"description":"Market","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PredictionMarketDetail"}},"required":["data"]}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/stream":{"get":{"tags":["Realtime"],"security":[{"bearerAuth":[]}],"summary":"Realtime stream (Server-Sent Events)","description":"`?topics=` comma-separated (default `events`): `quotes` (every pooled price tick, ~1/s), `events` (every new story), `instrument:NVDA` (its quotes + its stories), `company:nvidia`, `macro:cpi`, `person:<slug>`, `project:<company/project>`, `sector:<slug>` (stories linked to it).\n\nSSE messages: `hello`, `quotes` → `{ts, quotes:[{symbol, price, changePct, venues, openInterestUsd, funding8h, volume24hUsd}]}`, `event` → a full Event (id = event id, with `sourceUrl`), `heartbeat` (every 25 s).\n\nBrowsers' EventSource can't set headers: pass `?api_key=fd_live_…`. Max 5 concurrent streams per key/IP.","responses":{"200":{"description":"text/event-stream","content":{"text/event-stream":{"schema":{"type":"string"}}}}}}}},"webhooks":{}}