{"openapi":"3.1.0","info":{"title":"Wall Trader API","summary":"The Wall Trader dashboard's charts and data as JSON.","description":"Every chart on the Wall Trader dashboard as data: SPX 0DTE walls and support / resistance, dealer Greek exposure by strike, Trend Matrix, internals, sectors, the options tape and the community's strategies.\n\n**Authentication:** send your API key as `Authorization: Bearer wt_…` (or `X-API-Key: wt_…`). Create keys on your [account page](https://walltrader.io/auth/account#api).\n\n**Sessions:** without `day`, answers are for the latest session (live while the market is open). `day=YYYY-MM-DD` and `at=HH:MM` (New York time) replay any past session and minute.\n\nEvery answer is `{\"meta\": {...}, \"data\": {...}}`; `meta` says which session and minute it is and whether it is live. See the [guide](/) for examples.","version":"1.0.0"},"paths":{"/v1/market":{"get":{"tags":["Market"],"summary":"Session snapshot","description":"The price now, its open and change, implied volatility, the expected move left, the range band, the gamma regime, net\nGEX and VIX.","operationId":"market_v1_market_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/market/path":{"get":{"tags":["Market"],"summary":"Price path","description":"The price and the 0DTE implied volatility once a minute: `points = [[HH:MM, price, iv], ...]`.","operationId":"market_path_v1_market_path_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/market/vix":{"get":{"tags":["Market"],"summary":"VIX","description":"VIX now, its previous close, today's open / high / low and its path.","operationId":"market_vix_v1_market_vix_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/levels":{"get":{"tags":["Levels"],"summary":"Live support and resistance (S1–S3 / R1–R3)","description":"The key levels the dashboard's main chart labels S1–S3 and R1–R3: the strikes where the most 0DTE contracts were sold\ntoday (puts below the price = support, calls above = resistance), within 2% of the price, numbered by distance (S1 / R1 =\nnearest), with their contracts.","operationId":"levels_v1_levels_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."},{"name":"group","in":"query","required":false,"schema":{"enum":["grp5","strike"],"type":"string","description":"`grp5`: each strike with its neighbours ±5 (the dashboard's default); `strike`: the strike alone.","default":"grp5","title":"Group"},"description":"`grp5`: each strike with its neighbours ±5 (the dashboard's default); `strike`: the strike alone."},{"name":"counts","in":"query","required":false,"schema":{"enum":["open","all"],"type":"string","description":"`open`: opening sells only (the dashboard's default); `all`: every sold contract.","default":"open","title":"Counts"},"description":"`open`: opening sells only (the dashboard's default); `all`: every sold contract."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/levels/preopen":{"get":{"tags":["Levels"],"summary":"Pre-open support and resistance","description":"The 3 biggest net-sold put strikes (S1–S3) and call strikes (R1–R3) from earlier sessions' book for today's expiry,\nfixed for the whole day.","operationId":"levels_preopen_v1_levels_preopen_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/levels/indexes":{"get":{"tags":["Levels"],"summary":"Live S/R across indexes","description":"The live supports, resistances and pre-open levels on every index the dashboard follows (SPX, SPY, QQQ, IWM, DIA, ...).\nFor a past session, its close.","operationId":"levels_indexes_v1_levels_indexes_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/heatmap":{"get":{"tags":["Levels"],"summary":"Walls & heatmap grid","description":"Contracts net sold at each strike in each 5-minute bin up to now, puts and calls: `[[HH:MM, strike, contracts], ...]`.\nWith `min_size=25`, also the opening sells and buys.","operationId":"heatmap_v1_heatmap_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."},{"name":"min_size","in":"query","required":false,"schema":{"enum":["25","50","100","250"],"type":"string","description":"Prints of at least this many contracts.","default":"25","title":"Min Size"},"description":"Prints of at least this many contracts."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/walls":{"get":{"tags":["Levels"],"summary":"Sold walls","description":"Every strike where traders net sold 0DTE options today: calls (resistance) and puts (support), with contracts and the\ndistance from the price.","operationId":"walls_v1_walls_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."},{"name":"min_size","in":"query","required":false,"schema":{"enum":["25","50","100","250"],"type":"string","description":"Print size class: walls built from prints of at least this many contracts.","default":"25","title":"Min Size"},"description":"Print size class: walls built from prints of at least this many contracts."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exposure/forecast":{"get":{"tags":["Exposure"],"summary":"Exposure forecast","description":"The call wall (largest call gamma), put wall (largest put gamma), zero gamma (where the cumulative gamma turns positive),\nthe MVC (largest net gamma) and the pin path to the close: from the price to the MVC, ±1σ from the 0DTE IV,\n`pin_path = [[HH:MM, centre, -1σ, +1σ], ...]`. SPX 0DTE.","operationId":"exposure_forecast_v1_exposure_forecast_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"source","in":"query","required":false,"schema":{"enum":["live","oi","vol"],"type":"string","description":"Weights: the live open-interest estimate (the dashboard's default), open interest or volume.","default":"live","title":"Source"},"description":"Weights: the live open-interest estimate (the dashboard's default), open interest or volume."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exposure/drift":{"get":{"tags":["Exposure"],"summary":"Net drift (premium)","description":"Cumulative premium bought minus sold on every 0DTE print since the open (by aggressor side), calls and puts in / at / out\nof the money, once a minute; `contracts` the same in net contracts. SPX.","operationId":"exposure_drift_v1_exposure_drift_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exposure/{greek}":{"get":{"tags":["Exposure"],"summary":"Greek exposure by strike","description":"Dealer exposure of one Greek at every strike for SPX 0DTE: net, calls and puts, the total and the MVC (the strike with\nthe largest net bar).","operationId":"exposure_v1_exposure__greek__get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"greek","in":"path","required":true,"schema":{"enum":["gex","dex","vanna","charm"],"type":"string","description":"gex = gamma ($ per 1% move), dex = delta ($ per $1), vanna ($ per vol point), charm ($ per day).","title":"Greek"},"description":"gex = gamma ($ per 1% move), dex = delta ($ per $1), vanna ($ per vol point), charm ($ per day)."},{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"source","in":"query","required":false,"schema":{"enum":["oi","vol","live"],"type":"string","description":"Weights: open interest, today's volume, or the live open-interest estimate.","default":"oi","title":"Source"},"description":"Weights: open interest, today's volume, or the live open-interest estimate."},{"name":"around","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000,"minimum":10},{"type":"null"}],"description":"Only strikes within this many points of the price.","title":"Around"},"description":"Only strikes within this many points of the price."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exposure":{"get":{"tags":["Exposure"],"summary":"Greek totals through the day","description":"Net GEX, DEX, vanna and charm once a minute: `rows = [[HH:MM, spot, gex, dex, vanna, charm], ...]`.","operationId":"exposure_totals_v1_exposure_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"source","in":"query","required":false,"schema":{"enum":["oi","vol","live"],"type":"string","default":"oi","title":"Source"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playbook":{"get":{"tags":["Playbook"],"summary":"Today's call","description":"The size to trade and why, the gamma regime, the session condor at the walls and the morning entries, each with its\nhistory and its P&L path (`pnl_path = [[HH:MM, P&L % of credit], ...]`). SPX 0DTE.","operationId":"playbook_v1_playbook_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playbook/market-state":{"get":{"tags":["Playbook"],"summary":"Current market state","description":"The traffic light: GREEN, AMBER or RED from the gamma regime, VIX and the nearest wall's distance, with the reasons and\nthe verdict.","operationId":"market_state_v1_playbook_market_state_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playbook/spreads":{"get":{"tags":["Playbook"],"summary":"Best spreads to open now","description":"Credit spreads at the walls (PCS / CCS), debit spreads and iron condors, with their prices now and their history (win\nrate, average, worst).","operationId":"best_spreads_v1_playbook_spreads_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"kind","in":"query","required":false,"schema":{"enum":["all","credit","debit","condor"],"type":"string","description":"Which spreads.","default":"all","title":"Kind"},"description":"Which spreads."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playbook/setups":{"get":{"tags":["Playbook"],"summary":"Setups: ★ TOP SETUP, credit spike, daily condor","description":"The dashboard's own setups: ★ TOP SETUP (its state, signals, backtest and forward record), the credit spike (signals and\nthe walls it watches) and the noon S1 + R1 daily condor (status, legs, forward record).","operationId":"setups_v1_playbook_setups_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playbook/loss-odds":{"get":{"tags":["Playbook"],"summary":"Chance of loss by strike","description":"For a credit spread short at each strike: the chance it ends at a loss and at its maximum loss, from the market's own\nprices (a calibrated number, not a signal), with the conservative and mid credit.","operationId":"loss_odds_v1_playbook_loss_odds_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playbook/scorecard":{"get":{"tags":["Playbook"],"summary":"Scorecard","description":"The history behind the call: the morning entries and the midday condors by entry time, width, wall distance, VIX and\nregime, with win rates and P&L by year.","operationId":"scorecard_v1_playbook_scorecard_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/range":{"get":{"tags":["Volatility"],"summary":"The range the IV allows","description":"From now to the close: ±1σ and ±2σ every 5 minutes from the 0DTE implied volatility, the session's band and expected\nmove, and the typical IV path for this time of day (from today's opening IV).","operationId":"range_now_v1_range_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iv":{"get":{"tags":["Volatility"],"summary":"IV and VIX context","description":"Today's 0DTE implied volatility a minute, the 25 / 50 / 75 % band of past sessions at the same minute, the last sessions'\nIV every 5 minutes, and VIX.","operationId":"iv_context_v1_iv_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/trend-matrix":{"get":{"tags":["Trend & breadth"],"summary":"Trend Matrix","description":"Each Trend Matrix row's direction (price, GEX, DEX, vanna, internals ...) and the overall score.","operationId":"trend_matrix_v1_trend_matrix_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"series","in":"query","required":false,"schema":{"type":"boolean","description":"Every minute's card, not only the latest.","default":false,"title":"Series"},"description":"Every minute's card, not only the latest."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/rvolm":{"get":{"tags":["Trend & breadth"],"summary":"RVOLM","description":"Relative volume by moneyness: call and put volume ITM / ATM / OTM through the session, with its events.","operationId":"rvolm_v1_rvolm_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/internals":{"get":{"tags":["Trend & breadth"],"summary":"Market internals","description":"NYSE / Nasdaq breadth and TICK built from every listed stock, with the internals bias.","operationId":"internals_v1_internals_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sectors":{"get":{"tags":["Trend & breadth"],"summary":"Sector internals","description":"The S&P 500's 11 sectors: the cap-weighted move against breadth, each sector's weight, change and contribution.","operationId":"sectors_v1_sectors_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extremes":{"get":{"tags":["Trend & breadth"],"summary":"Extremes","description":"How likely the session's high and low are in, and the levels.","operationId":"extremes_v1_extremes_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/indicators":{"get":{"tags":["Trend & breadth"],"summary":"Indicators through the day","description":"Every 5 minutes: strength (v1, v2), DIRECTION (the chance the rest of the day is up), the mega-caps' lead, DAY SIZE\n(expected session range in σ), the chance of a 2σ range, big-day odds and move.","operationId":"indicators_v1_indicators_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chart-indicators":{"get":{"tags":["Trend & breadth"],"summary":"Chart indicators","description":"The main chart's indicators a minute: SPX, VWAP (ES overnight, ES session, SPY) with its σ, the overnight high and low,\nzero gamma; the previous session's high, low and close.","operationId":"chart_indicators_v1_chart_indicators_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/opening-sigma":{"get":{"tags":["Trend & breadth"],"summary":"Opening σ levels","description":"The previous official close ± 1, 2 and 3 σ (σ from VIX's previous close).","operationId":"opening_sigma_v1_opening_sigma_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/straddle":{"get":{"tags":["Trend & breadth"],"summary":"Opening straddle","description":"The 0DTE at-the-money straddle through the session.","operationId":"straddle_v1_straddle_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/flow/spreads":{"get":{"tags":["Flow"],"summary":"Vertical spreads on the tape","description":"The day's 0DTE vertical spreads from the options tape, largest first: strikes, width, contracts sold / bought, net,\nprices, first and last print; and the totals by type (PCS, CCS, PDS, CDS).","operationId":"flow_spreads_v1_flow_spreads_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/flow/tape":{"get":{"tags":["Flow"],"summary":"Trade Tape","description":"The latest 0DTE vertical-spread prints (newest first: type, strikes, size, price, opening buy / sell), the multi-leg\nstructures (condors, butterflies ... with their legs) and the big prints.","operationId":"flow_tape_v1_flow_tape_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":400,"minimum":1,"description":"Rows of each list.","default":200,"title":"Limit"},"description":"Rows of each list."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/flow/opening":{"get":{"tags":["Flow"],"summary":"Opening positions","description":"Positions opened in the sessions before the day for its expiry: net contracts per strike (positive = sold to open),\nputs and calls, and the biggest vertical spreads opened. SPX.","operationId":"flow_opening_v1_flow_opening_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"min_size","in":"query","required":false,"schema":{"enum":["1","10","25","50","100","250","500"],"type":"string","description":"Prints of at least this many contracts.","default":"25","title":"Min Size"},"description":"Prints of at least this many contracts."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/flow/feed":{"get":{"tags":["Flow"],"summary":"Signal feed","description":"The dashboard's feed for the session so far: walls forming and breaking, setups, with why, newest first.","operationId":"flow_feed_v1_flow_feed_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open).","examples":["2026-10-16"],"title":"Day"},"description":"Session `YYYY-MM-DD`. Omit for the latest session (live while the market is open)."},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},{"type":"null"}],"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session).","examples":["12:15"],"title":"At"},"description":"Minute `HH:MM`, New York time, 09:30–16:00. Omit for now (or the close of a past session)."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT.","examples":["SPX"],"default":"SPX","title":"Symbol"},"description":"Ticker: SPX, SPY, QQQ, IWM, DIA, NDX or RUT."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/strategies":{"get":{"tags":["Strategies"],"summary":"Shared strategies","description":"Every strategy shared in the Wall Trader community, with its forward test and backtest summary.","operationId":"strategies_v1_strategies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}]}},"/v1/strategies/{sid}":{"get":{"tags":["Strategies"],"summary":"One shared strategy","description":"A shared strategy's forward test day by day, its trades and backtest summary.","operationId":"strategy_v1_strategies__sid__get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Sid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/records/fly-ladder":{"get":{"tags":["Records"],"summary":"Fly ladder record","description":"The Backtest tab's fly ladder, a row per session (backtest, then forward): flies opened, first fill and credit, peak\nrisk, P&L at mid, bid / ask and after fees.","operationId":"fly_ladder_v1_records_fly_ladder_get","security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"description":"First session `YYYY-MM-DD`.","title":"Since"},"description":"First session `YYYY-MM-DD`."},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2000,"minimum":1},{"type":"null"}],"description":"Only the latest this many sessions.","title":"Limit"},"description":"Only the latest this many sessions."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/records/wall-signal":{"get":{"tags":["Records"],"summary":"Wall-signal forward record","description":"The wall signal's forward record: every session since it went live, its trades and the totals.","operationId":"wall_signal_v1_records_wall_signal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}]}},"/v1/sessions":{"get":{"tags":["Service"],"summary":"Sessions with data","description":"Every session the API has data for, newest first.","operationId":"sessions_v1_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]},{"APIKeyHeader":[]}]}},"/v1/status":{"get":{"tags":["Service"],"summary":"Service status (no key needed)","description":"Whether the service is up, the latest session and how fresh the live answers are.","operationId":"status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"HTTPBearer":{"type":"http","description":"Your API key: `wt_…`","scheme":"bearer"},"APIKeyHeader":{"type":"apiKey","description":"Your API key, as an alternative to the bearer header","in":"header","name":"X-API-Key"}}},"tags":[{"name":"Market","description":"The session snapshot, the price path and VIX."},{"name":"Playbook","description":"Today's call, the market state, the best spreads to open now, the dashboard's own setups, the chance of loss."},{"name":"Levels","description":"Support and resistance: the live S1–S3 / R1–R3, the pre-open levels, the sold walls."},{"name":"Exposure","description":"Dealer Greek exposure by strike (gamma, delta, vanna, charm) and its totals through the day."},{"name":"Volatility","description":"The range the 0DTE implied volatility allows, and IV against recent sessions."},{"name":"Trend & breadth","description":"Trend Matrix, RVOLM, market internals, sectors, extremes, indicators."},{"name":"Flow","description":"The 0DTE options tape: the day's vertical spreads and the signal feed."},{"name":"Strategies","description":"Strategies shared in the Wall Trader community, with their forward tests."},{"name":"Records","description":"Forward records the dashboard keeps: the fly ladder and the wall signal."},{"name":"Service","description":"Sessions with data and the service's status."}]}