{"openapi":"3.1.0","info":{"title":"GEX Heatmap Data API","version":"0.2.0-dealer-mvp-registry","description":"Dealer MVP scope. 数据集端点 paths 由 dataset registry 派生；Dealer GEX / Heatmap 数据集随 P2 注册后自动出现。"},"servers":[{"url":"https://api.yehangshe.com","description":"production"}],"paths":{"/v1/derived/standard-gex/{ticker}/history":{"get":{"summary":"Standard GEX chain-level aggregate history (keyset pagination, newest first)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{1,5}$"}},{"name":"from","in":"query","required":false,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"to","in":"query","required":false,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"list payload with next_cursor"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/derived/dealer-gex/{ticker}/snapshot":{"get":{"summary":"Dealer GEX (0DTE) latest read-model snapshot projection","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{1,5}$"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["full","summary"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/derived/dealer-gex/{ticker}/history":{"get":{"summary":"Dealer GEX (0DTE) 1-minute archive history (keyset pagination, newest first)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{1,5}$"}},{"name":"from","in":"query","required":false,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"to","in":"query","required":false,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"list payload with next_cursor"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/derived/heatmap/{ticker}/snapshot":{"get":{"summary":"Dealer Heatmap latest multi-expiry grid snapshot","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{1,5}$"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["full","summary"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/derived/heatmap/{ticker}/cell-history":{"get":{"summary":"Dealer Heatmap single-cell 1-minute archived history (keyset pagination, newest first)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{1,5}$"}},{"name":"expiration","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"strike","in":"query","required":true,"schema":{"type":"number"}},{"name":"from","in":"query","required":false,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"to","in":"query","required":false,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"list payload with next_cursor"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/congress/late-reports":{"get":{"summary":"Congress disclosures filed past the statutory deadline (daily disclosure cadence)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/congress/politicians":{"get":{"summary":"Roster of congress members with disclosed trades (daily disclosure cadence)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/congress/recent-trades":{"get":{"summary":"Latest disclosed congress member trades (daily disclosure cadence)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/congress/trader-reports/{politician}":{"get":{"summary":"Disclosed trades for a single congress member (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"politician","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/darkpool/by-ticker/{ticker}":{"get":{"summary":"Most recent dark pool prints for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/darkpool/recent":{"get":{"summary":"Recent dark pool prints across the whole market","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/darkpool/volume-price-levels/{ticker}":{"get":{"summary":"Off-exchange vs lit share volume by price level for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/balance-sheets/{ticker}":{"get":{"summary":"Quarterly and annual balance sheets for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/cash-flows/{ticker}":{"get":{"summary":"Quarterly and annual cash flow statements for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/earnings-afterhours":{"get":{"summary":"Market-wide after-hours earnings calendar for the latest reporting session","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/earnings-estimates/{ticker}":{"get":{"summary":"Forward analyst revenue and EPS estimates for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/earnings-history/{ticker}":{"get":{"summary":"Reported EPS history for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/earnings-premarket":{"get":{"summary":"Market-wide premarket earnings calendar for the latest reporting session","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/financials/{ticker}":{"get":{"summary":"All four financial statement blocks for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/fundamental-breakdown/{ticker}":{"get":{"summary":"SEC filing-level fundamentals and XBRL revenue breakdown for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/income-statements/{ticker}":{"get":{"summary":"Quarterly and annual income statements for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/fundamentals/stock-earnings/{ticker}":{"get":{"summary":"Earnings-event price behaviour and straddle backtest for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/insider/buy-sells-by-ticker/{ticker}":{"get":{"summary":"Per-disclosure-day insider buy/sell counts and notionals for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/insider/by-ticker/{ticker}":{"get":{"summary":"Insider transactions for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/insider/market-buy-sells":{"get":{"summary":"Market-wide per-disclosure-day insider buy/sell counts and notionals","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/insider/sector-flow/{sector}":{"get":{"summary":"Daily aggregated insider flow for one sector (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"sector","in":"path","required":true,"schema":{"type":"string","enum":["Basic Materials","Communication Services","Consumer Cyclical","Consumer Defensive","Energy","Financial Services","Healthcare","Industrials","Real Estate","Technology","Utilities"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/insider/ticker-flow/{ticker}":{"get":{"summary":"Daily aggregated insider flow for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/insider/transactions":{"get":{"summary":"Market-wide latest insider (Form 4) transactions","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/institutions/activity/{name}":{"get":{"summary":"Position changes reported by one institution in its latest 13F (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/institutions/holdings/{name}":{"get":{"summary":"Latest reported 13F holdings for one institution (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/institutions":{"get":{"summary":"Directory of 13F filing institutions ranked by portfolio value","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/institutions/latest-filings":{"get":{"summary":"Most recent institutional filings across the market","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/institutions/ownership-by-ticker/{ticker}":{"get":{"summary":"Institutional holders of one ticker from 13F filings (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/institutions/sectors/{name}":{"get":{"summary":"Sector allocation of one institution across recent 13F report periods (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/macro/analytics-window":{"get":{"summary":"Whole-window return statistics across a ticker set (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"symbols","in":"query","required":true,"schema":{"type":"string"}},{"name":"range","in":"query","required":true,"schema":{"type":"string"}},{"name":"calculations","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/macro/commodities/{name}":{"get":{"summary":"Commodity price / index time series (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","enum":["wti","brent","natural-gas","copper","aluminum","wheat","corn","cotton","sugar","coffee","all-commodities"]}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","enum":["daily","weekly","monthly","quarterly","annual"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/macro/economy-indicator/{indicator}":{"get":{"summary":"US macro indicator time series (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"indicator","in":"path","required":true,"schema":{"type":"string","enum":["gdp","gdp-per-capita","treasury-yield","fed-funds","cpi","inflation","retail-sales","durables","unemployment","payrolls"]}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","enum":["daily","weekly","monthly","quarterly","annual","semiannual"]}},{"name":"maturity","in":"query","required":false,"schema":{"type":"string","enum":["3month","2year","5year","7year","10year","30year"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/macro/forex-history":{"get":{"summary":"Daily / weekly / monthly FX bars for a currency pair (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","enum":["daily","weekly","monthly"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/macro/forex-intraday":{"get":{"summary":"Intraday FX bars for a currency pair (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","enum":["1min","5min","15min","30min","60min"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/macro/forex-rate":{"get":{"summary":"Current FX spot rate for a currency pair (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/correlations":{"get":{"summary":"Pairwise return correlations across a ticker set (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"tickers","in":"query","required":true,"schema":{"type":"string"}},{"name":"interval","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/economic-calendar":{"get":{"summary":"Upcoming US economic calendar (forward-looking listing)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/fda-calendar":{"get":{"summary":"Upcoming FDA / clinical catalyst calendar (forward-looking listing)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/ipo-calendar":{"get":{"summary":"Upcoming US IPO calendar (forward-looking listing)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/movers":{"get":{"summary":"Market movers snapshot (most active / top gainers / top losers)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/oi-change":{"get":{"summary":"Market-wide top open-interest changes across all optionable underlyings","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/market/total-options-volume":{"get":{"summary":"Market-wide total options volume and premium per trading day","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/atm-chains/{ticker}":{"get":{"summary":"ATM option chain pair for one ticker and one expiry (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}},{"name":"expiration","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/chain-history/{ticker}":{"get":{"summary":"Historical chain NBBO series for one ticker + expiration + right (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}},{"name":"expiration","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"right","in":"query","required":true,"schema":{"type":"string","enum":["C","P"]}},{"name":"from","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"to","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"interval","in":"query","required":true,"schema":{"type":"string","enum":["1m","5m","10m","15m","30m","1h"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/chain-snapshot/{ticker}":{"get":{"summary":"Option chain snapshot for one ticker + expiration (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}},{"name":"expiration","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/contract-daily/{contract}":{"get":{"summary":"Daily EOD series for a single option contract (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"contract","in":"path","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"to","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/contract-greeks-series/{contract}":{"get":{"summary":"Intraday Greeks series for a single option contract (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"contract","in":"path","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"to","in":"query","required":true,"schema":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}},{"name":"interval","in":"query","required":true,"schema":{"type":"string","enum":["1m","5m","10m","15m","30m","1h"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/contract-intraday/{contract}":{"get":{"summary":"Intraday 1-minute bars for a single option contract (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"contract","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/contract-volume-profile/{contract}":{"get":{"summary":"Latest-day volume profile for a single option contract (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"contract","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/expiry-breakdown/{ticker}":{"get":{"summary":"Per-expiry chains/open-interest/volume breakdown for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/max-pain/{ticker}":{"get":{"summary":"Max pain per expiry for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/oi-change/{ticker}":{"get":{"summary":"Per-contract open-interest change for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/oi-per-expiry/{ticker}":{"get":{"summary":"Open interest per expiry for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/oi-per-strike/{ticker}":{"get":{"summary":"Open interest per strike for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/optionable-tickers":{"get":{"summary":"Full market list of optionable tickers","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/options-volume/{ticker}":{"get":{"summary":"Latest-day options volume aggregate for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/price-levels/{ticker}":{"get":{"summary":"Option volume distribution by underlying price level for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/options/volume-oi-per-expiry/{ticker}":{"get":{"summary":"Volume and open interest per expiry for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/shorts/data/{ticker}":{"get":{"summary":"Securities-lending desk fee/rebate and availability observations for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/shorts/ftds/{ticker}":{"get":{"summary":"SEC fails-to-deliver settlement history for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/shorts/interest-float/{ticker}":{"get":{"summary":"FINRA bi-weekly short interest and float history for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/shorts/short-screener":{"get":{"summary":"Market-wide short interest screener for the latest FINRA disclosure period","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/shorts/volume-and-ratio/{ticker}":{"get":{"summary":"FINRA daily short volume and ratio series for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/shorts/volumes-by-exchange/{ticker}":{"get":{"summary":"FINRA daily short volume by reporting venue for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/company-profile/{ticker}":{"get":{"summary":"Company fundamentals and reference profile (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/dividends/{ticker}":{"get":{"summary":"Dividend history for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/info/{ticker}":{"get":{"summary":"Reference metadata for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/listings":{"get":{"summary":"Full active US listing directory (canonical active universe)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/lit-trades-by-ticker/{ticker}":{"get":{"summary":"Recent lit-exchange prints for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/lit-trades-recent":{"get":{"summary":"Most recent market-wide lit-exchange stock prints","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/ohlc/{ticker}":{"get":{"summary":"OHLC candles for one ticker at a chosen candle size (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}},{"name":"candle_size","in":"query","required":true,"schema":{"type":"string","enum":["1m","5m","10m","15m","30m","1h","4h","1d","1w"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/sector-tickers":{"get":{"summary":"Tickers in a given sector (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"sector","in":"query","required":true,"schema":{"type":"string","enum":["Basic Materials","Communication Services","Consumer Cyclical","Consumer Defensive","Energy","Financial Services","Healthcare","Industrials","Real Estate","Technology","Utilities"]}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/splits/{ticker}":{"get":{"summary":"Stock split history for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/stock-state/{ticker}":{"get":{"summary":"Latest stock state for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/technical-indicator/{ticker}":{"get":{"summary":"Technical indicator time series for one ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}},{"name":"function","in":"query","required":true,"schema":{"type":"string","enum":["AD","ADOSC","ADX","ADXR","APO","AROON","AROONOSC","ATR","BBANDS","BOP","CCI","CMO","DEMA","DX","EMA","HT_DCPERIOD","HT_DCPHASE","HT_PHASOR","HT_SINE","HT_TRENDLINE","HT_TRENDMODE","KAMA","MACD","MACDEXT","MAMA","MFI","MIDPOINT","MIDPRICE","MINUS_DI","MINUS_DM","MOM","NATR","OBV","PLUS_DI","PLUS_DM","PPO","ROC","ROCR","RSI","SAR","SMA","STOCH","STOCHF","STOCHRSI","T3","TEMA","TRANGE","TRIMA","TRIX","ULTOSC","VWAP","WILLR","WMA"]}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","enum":["1min","5min","15min","30min","60min","daily","weekly","monthly"]}},{"name":"series_type","in":"query","required":false,"schema":{"type":"string","enum":["close","open","high","low"]}},{"name":"time_period","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/stocks/ticker-exchanges":{"get":{"summary":"Ticker-to-exchange directory (raw vendor list, includes delisted symbols)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/anomaly-top":{"get":{"summary":"Market-wide volatility anomaly leaderboard (short_vol + long_vol merged)","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/anomaly/{ticker}":{"get":{"summary":"Volatility anomaly score for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/character-top":{"get":{"summary":"Market-wide volatility character leaderboard","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/character/{ticker}":{"get":{"summary":"Volatility character metrics for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/interpolated-iv/{ticker}":{"get":{"summary":"Interpolated implied volatility term nodes for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/iv-rank/{ticker}":{"get":{"summary":"One-year IV rank (0-100 scale) for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/realized/{ticker}":{"get":{"summary":"Daily realized vs implied volatility series for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/risk-reversal-skew/{ticker}":{"get":{"summary":"Daily 25-delta risk reversal skew series for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/stats/{ticker}":{"get":{"summary":"Volatility stats snapshot for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/term-structure/{ticker}":{"get":{"summary":"Implied volatility term structure for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/volatility/variance-risk-premium/{ticker}":{"get":{"summary":"Daily variance risk premium series for a single ticker (on-demand materialization)","security":[{"bearerAuth":[]}],"parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z][A-Z0-9]*(\\.[A-Z0-9]+)*$"}}],"responses":{"200":{"description":"object payload"},"400":{"description":"validation error"},"401":{"description":"authentication error"},"402":{"description":"subscription paused"},"403":{"description":"scope insufficient"},"429":{"description":"rate limited or quota exhausted"}}}},"/v1/health":{"get":{"summary":"服务健康检查（无鉴权）","security":[],"responses":{"200":{"description":"ok"}}}},"/v1/openapi.json":{"get":{"summary":"OpenAPI 3.1 spec（无鉴权，weight-0）","security":[],"responses":{"200":{"description":"OpenAPI document"}}}},"/v1/discover":{"get":{"summary":"当前 key 的 user / quota / capabilities 自描述","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"discover payload"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key"}}}}