{"openapi":"3.1.0","info":{"title":"CEV-OS Data API","version":"1.0","contact":{"email":"support@cev-os.com","url":"https://cev-os.com"},"description":"Free, machine-first market data from Cutting Edge Ventures (cev-os.com). Every response is an envelope with source, license, attribution, as_of, generated_at (ISO-8601 UTC) plus an ET display field. No paywall (PAYMENTS_MODE=off). Anonymous: 60 req/min and 2,000/day per IP; optional free API key (x-api-key) for higher limits. MCP (Streamable HTTP) at /mcp exposes the same products as tools."},"servers":[{"url":"https://api.cev-os.com","description":"Primary"},{"url":"https://cev-os.com","description":"Legacy host (same service, still supported)"}],"paths":{"/v1/market-mood":{"get":{"operationId":"get_market_mood","summary":"Market mood","description":"Use this when you need a quick risk-sentiment read before acting: Crypto Fear & Greed (alternative.me) and the VIX daily close (FRED), each with its own timestamp and source.\n\nCombined market-mood snapshot. Components: cryptoFearGreed (0-100, alternative.me classification) and vix (Cboe VIX daily close via FRED VIXCLS, banded Calm/Normal/Elevated/High Stress). CNN Fear & Greed is deliberately omitted (CNN terms bar redistribution) and BTC ETF flows are omitted (only a paid-key source today); see data.omitted.","tags":["public"],"x-cev-license-status":"citation_required","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_market_mood","parameters":[],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=60"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","required":["schemaVersion","generatedAt","components","omitted"],"properties":{"schemaVersion":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"generatedAtEt":{"type":"string"},"components":{"type":"object","properties":{"cryptoFearGreed":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["ok","stale","unavailable"]},"value":{"type":["number","null"]},"unit":{"type":"string","description":"index_0_100 (crypto F&G) or index_points (VIX)"},"classification":{"type":["string","null"]},"previous":{"type":["number","null"]},"change":{"type":["number","null"]},"changePct":{"type":["number","null"]},"asOf":{"type":["string","null"],"format":"date-time"},"asOfEt":{"type":["string","null"]},"fetchedAt":{"type":["string","null"],"format":"date-time"},"source":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"attribution":{"type":"string"},"terms":{"type":"string"}}}}},"vix":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["ok","stale","unavailable"]},"value":{"type":["number","null"]},"unit":{"type":"string","description":"index_0_100 (crypto F&G) or index_points (VIX)"},"classification":{"type":["string","null"]},"previous":{"type":["number","null"]},"change":{"type":["number","null"]},"changePct":{"type":["number","null"]},"asOf":{"type":["string","null"],"format":"date-time"},"asOfEt":{"type":["string","null"]},"fetchedAt":{"type":["string","null"],"format":"date-time"},"source":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"attribution":{"type":"string"},"terms":{"type":"string"}}}}}}},"omitted":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"reason":{"type":"string"}}}}}}}}]},"example":{"schema_version":"1.0","product":"market-mood","data":{"components":{"cryptoFearGreed":{"id":"crypto_fear_greed","status":"ok","value":55,"unit":"index_0_100","classification":"Greed","asOf":"2026-10-17T00:00:00.000Z"},"vix":{"id":"vix","status":"ok","value":16.46,"unit":"index_points","classification":"Normal","asOf":"2026-10-15T20:15:00.000Z"}}}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/macro-calendar":{"get":{"operationId":"get_macro_calendar","summary":"US macro release calendar","description":"Use this when you need official US release times (CPI, PPI, payrolls, GDP, PCE, retail sales, JOLTS, trade balance, productivity, claims, FOMC, ISM dates) with actual and prior values once released.\n\nOfficial schedules from BLS, BEA, Census, the Federal Reserve, DOL (claims rule) and ISM (dates only). Actual/prior from public-domain FRED series once released. consensus is always null: there is no free consensus source and none is invented.","tags":["public"],"x-cev-license-status":"cleared","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_macro_calendar","parameters":[{"name":"from","in":"query","required":false,"description":"Start date (ET), YYYY-MM-DD. Default: today minus 30 days.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2026-10-01"},{"name":"to","in":"query","required":false,"description":"End date (ET), YYYY-MM-DD. Default: today plus 60 days.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2026-11-10"},{"name":"event","in":"query","required":false,"description":"Comma-separated event types: cpi, ppi, employment_situation, jolts, eci, gdp, pce, retail_sales, jobless_claims, fomc_decision, fomc_minutes, ism_manufacturing, ism_services, trade_balance, productivity","schema":{"type":"string"},"example":"cpi,fomc_decision"},{"name":"status","in":"query","required":false,"description":"released or scheduled","schema":{"type":"string","enum":["released","scheduled"]}},{"name":"limit","in":"query","required":false,"description":"Max events (1-1000, default 500).","schema":{"type":"integer","minimum":1,"maximum":1000}}],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=300"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","required":["count","events","meta"],"properties":{"count":{"type":"integer"},"meta":{"type":"object","description":"refreshedAt, stale flag + staleReasons, per-source status, notes"},"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"eventType":{"type":"string","enum":["cpi","ppi","employment_situation","jolts","eci","gdp","pce","retail_sales","jobless_claims","fomc_decision","fomc_minutes","ism_manufacturing","ism_services","trade_balance","productivity"]},"name":{"type":"string"},"agency":{"type":"string"},"referencePeriod":{"type":["string","null"],"description":"YYYY-MM or YYYY-Qn"},"releaseAt":{"type":["string","null"],"format":"date-time","description":"UTC; null when the source publishes a date only"},"releaseDate":{"type":"string","description":"ET date YYYY-MM-DD"},"releaseAtEt":{"type":["string","null"]},"dateOnly":{"type":"boolean"},"scheduleBasis":{"type":"string","enum":["official","rule"]},"status":{"type":"string","enum":["released","scheduled"]},"consensus":{"type":"null"},"actual":{"type":["object","null"],"properties":{"value":{"type":"number"},"unit":{"type":"string"},"display":{"type":"string"}}},"prior":{"type":["object","null"]},"links":{"type":"object","properties":{"official":{"type":"string"},"schedule":{"type":"string"},"release":{"type":["string","null"]}}}}}}}}}}]},"example":{"schema_version":"1.0","product":"macro-calendar","data":{"count":1,"events":[{"id":"cpi:2026-10-14","eventType":"cpi","referencePeriod":"2026-09","releaseAt":"2026-10-14T12:30:00.000Z","releaseAtEt":"Wed, Oct 14, 2026, 8:30 AM ET","status":"released","consensus":null,"actual":{"value":0.6,"unit":"percent_mom_sa","display":"+0.6% m/m"}}]}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/catalysts":{"get":{"operationId":"get_catalysts","summary":"Next-48h catalyst calendar","description":"Use this when you need to know whether the next hours contain a market-moving event: US macro releases, FOMC, Treasury auctions, SEC-filed or estimated earnings, and options expiry, each with an impact tier.\n\nOne merged, time-sorted list for the next N hours (default 48). Macro/Fed from official agency schedules; Treasury auctions as announced on TreasuryDirect; earnings are sec_filed once an 8-K Item 2.02 is accepted by EDGAR, otherwise estimated from the issuer's own SEC filing history (labelled estimated with a confidence); monthly/quarterly options expiry computed. Earnings cover the S&P 100 + NASDAQ-100 union. No prices, no vendor calendars, no consensus.","tags":["public"],"x-cev-license-status":"cleared","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_catalysts","parameters":[{"name":"hours","in":"query","required":false,"description":"Look-ahead window in hours (1-168, default 48).","schema":{"type":"integer","minimum":1,"maximum":168},"example":48},{"name":"kinds","in":"query","required":false,"description":"Comma-separated filter: macro, fed, treasury_auction, earnings, options_expiry.","schema":{"type":"string"},"example":"macro,fed"},{"name":"min_tier","in":"query","required":false,"description":"Lowest impact tier to include.","schema":{"type":"string","enum":["low","medium","high"]}},{"name":"include_estimated","in":"query","required":false,"description":"Include estimated (not yet SEC-confirmed) earnings dates (default true).","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=300"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","required":["window","count","catalysts"],"properties":{"window":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"from_et":{"type":"string"},"to_et":{"type":"string"}}},"count":{"type":"integer"},"catalysts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["macro","fed","treasury_auction","earnings","options_expiry"]},"title":{"type":"string"},"at":{"type":["string","null"],"format":"date-time"},"at_et":{"type":["string","null"]},"date_et":{"type":"string"},"date_only":{"type":"boolean"},"impact_tier":{"type":"string","enum":["high","medium","low"]},"basis":{"type":"string","enum":["official","rule","announced","sec_filed","estimated","computed"]},"ticker":{"type":"string"},"detail":{"type":"object"},"source":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}}}}}},"sources":{"type":"object","description":"Per-source freshness/status."}}}}}]},"example":{"schema_version":"1.0","product":"catalysts","data":{"count":2,"catalysts":[{"id":"macro:fomc_decision:2026-10-28","kind":"fed","title":"FOMC Rate Decision","at":"2026-10-28T18:00:00.000Z","at_et":"Wed, Oct 28, 2026, 2:00 PM ET","impact_tier":"high","basis":"official"},{"id":"ust:91282CRR4:2026-10-22","kind":"treasury_auction","title":"5-Year Note auction","at":"2026-10-22T17:00:00.000Z","impact_tier":"medium","basis":"announced"}]}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/release-status":{"get":{"operationId":"get_release_status","summary":"Is it out yet? (release status)","description":"Use this when you need to know whether a scheduled US release (CPI, PPI, payrolls, JOLTS, GDP, PCE, FOMC, retail sales, claims) or an S&P 100/NASDAQ-100 earnings 8-K is out, when it was first seen, and actual vs prior vs revision.\n\nFor each macro release: scheduled time, state (scheduled / due_not_seen / due_untracked / out / out_untimed = actual present but released before the watcher saw it), detection method and URL, first_seen_at from the cev-os watcher (polled every minute 8 AM-3 PM ET weekdays), the publisher's own timestamp when it states one (BEA RSS pubDate), latency in seconds, actual and prior (FRED vintage) and the revision of the prior vs its first-reported value (ledger-based; null until the ledger has seen the prior release). With ticker=, returns the latest SEC 8-K Item 2.02 acceptance time (EDGAR) for that issuer.","tags":["public"],"x-cev-license-status":"cleared","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_release_status","parameters":[{"name":"event","in":"query","required":false,"description":"Comma-separated event types: cpi, ppi, employment_situation, jolts, eci, gdp, pce, retail_sales, jobless_claims, fomc_decision, fomc_minutes, ism_manufacturing, ism_services, trade_balance, productivity","schema":{"type":"string"},"example":"cpi,employment_situation"},{"name":"from","in":"query","required":false,"description":"Start date (ET) YYYY-MM-DD, default 7 days ago.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"description":"End date (ET) YYYY-MM-DD, default 2 days ahead.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"ticker","in":"query","required":false,"description":"S&P 100 / NASDAQ-100 ticker: adds its latest 8-K Item 2.02 (earnings) acceptance time.","schema":{"type":"string"},"example":"NVDA"}],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=30"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","required":["releases"],"properties":{"releases":{"type":"array","items":{"type":"object","properties":{"event_id":{"type":"string"},"eventType":{"type":"string"},"scheduled_at":{"type":["string","null"],"format":"date-time"},"state":{"type":"string","enum":["scheduled","due_not_seen","due_untracked","out","out_untimed"]},"detection":{"type":["object","null"],"properties":{"method":{"type":"string"},"url":{"type":["string","null"]},"first_seen_at":{"type":["string","null"]},"source_published_at":{"type":["string","null"]},"latency_seconds":{"type":["integer","null"]}}},"actual":{"type":["object","null"]},"actual_first_reported":{"type":["object","null"]},"prior":{"type":["object","null"]},"revision":{"type":["object","null"]}}}},"earnings":{"type":["object","null"],"description":"Present when ticker= is given."},"watcher":{"type":"object"}}}}}]},"example":{"schema_version":"1.0","product":"release-status","data":{"releases":[{"event_id":"cpi:2026-11-10","eventType":"cpi","scheduled_at":"2026-11-10T13:30:00.000Z","state":"scheduled","detection":null}]}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/macro-regime":{"get":{"operationId":"get_macro_regime","summary":"Macro market regime","description":"Use this when you want one slow-moving macro regime flag (risk_on / neutral / risk_off) with its transparent inputs: yield curve, financial conditions, financial stress, unemployment trigger and jobless-claims trend.\n\nFive public inputs, each scored -1/0/+1 with published thresholds; the sum gives the regime and |sum|/n the confidence. Inputs: T10Y3M (Fed H.15), NFCI (Chicago Fed), STLFSI4 (St. Louis Fed), a Sahm-style trigger computed by cev-os from BLS UNRATE, and DOL initial claims (ICSA) vs their 52-week low. No prices. The Trend-bot exposure component is internal preview only.\n\nDisclaimer: Informational macro indicator. Not investment advice.","tags":["public"],"x-cev-license-status":"cleared_with_attribution","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_macro_regime","parameters":[],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=3600"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","required":["regime","score","inputs"],"properties":{"regime":{"type":"string","enum":["risk_on","neutral","risk_off","insufficient_data"]},"score":{"type":"integer"},"max_score":{"type":"integer"},"confidence":{"type":"number"},"coverage":{"type":"string"},"method":{"type":"string"},"inputs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"series":{"type":"array","items":{"type":"string"}},"value":{"type":["number","null"]},"unit":{"type":"string"},"as_of":{"type":["string","null"]},"score":{"type":["integer","null"]},"rule":{"type":"string"},"reading":{"type":"string"},"source":{"type":"object"}}}},"omitted":{"type":"array"}}}}}]},"example":{"schema_version":"1.0","product":"macro-regime","data":{"regime":"risk_on","score":4,"max_score":5,"confidence":0.8,"inputs":[{"id":"financial_conditions_nfci","series":["NFCI"],"value":-0.499,"score":1}]}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/incident-assets":{"get":{"operationId":"get_incident_assets","summary":"TRIPWIRE incidents tagged with affected assets","description":"Use this when you need recent geopolitical, conflict and natural-hazard incidents mapped to the asset classes and liquid proxies they can move (oil, grains, gas, semis, gold, Treasuries, country ETFs).\n\nIncidents from TRIPWIRE built only from commercially usable feeds (GDELT, UCDP CC BY 4.0, USGS, GDACS), coarsened to country + broad region (no coordinates or place names), each with rule-based asset tags and the reason for each tag. Tags are exposures, not predictions; no prices.","tags":["public"],"x-cev-license-status":"cleared_with_attribution","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_incident_assets","parameters":[{"name":"since_hours","in":"query","required":false,"description":"Incidents updated in the last N hours (1-168, default 24).","schema":{"type":"integer","minimum":1,"maximum":168},"example":24},{"name":"min_severity","in":"query","required":false,"description":"Minimum severity 1-5.","schema":{"type":"integer","minimum":1,"maximum":5}},{"name":"asset","in":"query","required":false,"description":"Case-insensitive substring filter on asset tags, e.g. oil, semiconductors, gold.","schema":{"type":"string"}},{"name":"region","in":"query","required":false,"description":"Region filter.","schema":{"type":"string","enum":["Middle East","Europe","East Asia","South & Southeast Asia","Africa","Americas","Oceania","Other"]}}],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=300"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","required":["count","incidents"],"properties":{"count":{"type":"integer"},"dropped_noncommercial":{"type":"integer"},"incidents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"subtype":{"type":["string","null"]},"country":{"type":["string","null"]},"region":{"type":["string","null"]},"started_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"severity":{"type":"number"},"confidence":{"type":"number"},"asset_tags":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string"},"kind":{"type":"string"},"why":{"type":"string"}}}},"sources":{"type":"array","items":{"type":"object","properties":{"feed":{"type":"string"},"url":{"type":["string","null"]},"license":{"type":"string"},"attribution":{"type":"string"}}}}}}}}}}}]},"example":{"schema_version":"1.0","product":"incident-assets","data":{"count":1,"incidents":[{"id":"inc_2026-10-16_ab12cd34ef","type":"conflict","country":"Yemen","region":"Middle East","severity":4,"asset_tags":[{"asset":"Crude oil (WTI/Brent)","kind":"commodity","why":"Yemen is a major oil producer/transit route"}]}]}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/preview/signal-ledger":{"get":{"operationId":"preview_signal_ledger","summary":"TradeBot paper-signal ledger (preview)","description":"Use this when you need an auditable, hash-chained track record of cev-os paper-bot signals with outcomes (internal preview; licensing pending).\n\nEach paper signal (bot, time, symbol, side, reason) is SHA-256 hashed when first seen and appended to a hash chain; commit lag and a backfilled flag show how strong the timing proof is. Outcomes are % only. Kalshi and Polymarket bots are excluded. 15-minute delay on the newest signals.\n\nDisclaimer: PAPER / HYPOTHETICAL results from simulated bots. Not investment advice, not an offer, and not indicative of future results. No real money was traded.","tags":["internal-preview"],"x-cev-license-status":"internal_preview_licensing_pending","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":null,"security":[{"firebaseIdToken":[]}],"x-internal-preview":"Licensing pending: administrator Firebase ID token required; not public.","parameters":[{"name":"bot","in":"query","required":false,"description":"Bot id filter.","schema":{"type":"string","enum":["trend-basket","trend-voltarget","q-style-etf","breakout-etf","buy-the-dip","jev","pair-signal"]}},{"name":"limit","in":"query","required":false,"description":"Max entries (1-500, default 200).","schema":{"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"private, no-store"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"chain_head":{"type":"object"},"chain_verified":{"type":"boolean"},"held_back":{"type":"integer"},"stats":{"type":"array"},"entries":{"type":"array"}}}}}]},"example":{"schema_version":"1.0","product":"signal-ledger","data":{"chain_verified":true,"held_back":0,"entries":[{"seq":1,"hash":"9f…","signal":{"bot":"breakout-etf","t":"2026-10-16T20:22:12.000Z","symbol":"SMH","side":"buy","reason":"breakout"},"outcome":{"return_since_signal_pct":1.2}}]}}}}},"400":{"description":"Invalid query"},"401":{"description":"Sign-in required"},"403":{"description":"Administrator only (licensing pending)"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/earnings-reactions":{"get":{"operationId":"get_earnings_reactions","summary":"Post-earnings reaction stats","description":"Use this when sizing an earnings trade: historical day-1 / day-5 move distribution per ticker around SEC 8-K Item 2.02 earnings releases.\n\nRelease timing from SEC EDGAR acceptance times (accepted at/after 4 PM ET -> next session). Moves are close-to-close % changes on IEX daily last-sale prices (IEX HIST, IEX venue only, split-adjusted from IEX prices, not dividend-adjusted; IEX last sale can differ from the official close, by up to ~1% on closing-auction days). Derived statistics only (no prices). Up to 12 most recent releases per ticker; IEX history from 2023-04.\n\nDisclaimer: Historical statistics on IEX-venue last-sale prices, for reference only. Not investment advice.","tags":["public"],"x-cev-attribution":["Data provided for free by IEX. By accessing or using IEX Historical Data, you agree to the IEX Historical Data Terms of Use.","IEX Historical Data Terms of Use: https://www.iex.io/legal/hist-data-terms","Release times: SEC EDGAR. Statistics: PrintLine (cev-os)."],"x-cev-attribution-links":[{"text":"IEX Historical Data Terms of Use","url":"https://www.iex.io/legal/hist-data-terms"}],"externalDocs":{"description":"IEX Historical Data Terms of Use","url":"https://www.iex.io/legal/hist-data-terms"},"x-cev-license-status":"cleared_with_attribution","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":"get_earnings_reactions","parameters":[{"name":"ticker","in":"query","required":false,"description":"S&P 100 / NASDAQ-100 ticker (required).","schema":{"type":"string"},"example":"NVDA"}],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"public, max-age=3600"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"ticker":{"type":"string"},"n":{"type":"integer"},"day1":{"type":["object","null"]},"day5":{"type":["object","null"]},"events":{"type":"array"},"price_source":{"type":"object","properties":{"name":{"type":"string"},"basis":{"type":"string"},"coverage_from":{"type":["string","null"]},"coverage_to":{"type":["string","null"]},"splits_applied":{"type":"array"},"attribution":{"type":"string"},"terms_url":{"type":"string"}}}}}}}]},"example":{"schema_version":"1.0","product":"earnings-reactions","data":{"ticker":"NVDA","n":12,"day1":{"mean_abs_pct":6.1,"median_abs_pct":5.4,"up_rate":0.583},"price_source":{"name":"IEX HIST (TOPS) daily last sale","attribution":"Data provided for free by IEX. By accessing or using IEX Historical Data, you agree to the IEX Historical Data Terms of Use.","terms_url":"https://www.iex.io/legal/hist-data-terms"}}}}}},"400":{"description":"Invalid query"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/preview/regime-trend":{"get":{"operationId":"preview_regime_trend","summary":"Trend-bot regime component (preview)","description":"Use this when you want the cev-os Trend Vol-Target bot's current risk-on fraction and exposure (internal preview; licensing pending).\n\nFraction of the Trend Vol-Target bot's assets above their moving average (signal in/out), gross exposure and per-asset weights. No prices.\n\nDisclaimer: PAPER / HYPOTHETICAL. Not investment advice.","tags":["internal-preview"],"x-cev-license-status":"internal_preview_licensing_pending","x-cev-privacy-class":"public-derived","x-cev-price":null,"x-cev-mcp-tool":null,"security":[{"firebaseIdToken":[]}],"x-internal-preview":"Licensing pending: administrator Firebase ID token required; not public.","parameters":[],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"private, no-store"}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"regime":{"type":"string"},"fraction_risk_on":{"type":"number"},"gross_exposure_pct":{"type":"number"},"per_asset":{"type":"array"}}}}}]},"example":{"schema_version":"1.0","product":"regime-trend","data":{"regime":"risk_on","fraction_risk_on":0.857,"gross_exposure_pct":100}}}}},"400":{"description":"Invalid query"},"401":{"description":"Sign-in required"},"403":{"description":"Administrator only (licensing pending)"},"429":{"description":"Rate limited (see RateLimit-* and Retry-After headers)"},"503":{"description":"Upstream unavailable"}}}},"/v1/products":{"get":{"operationId":"list_products","summary":"Product registry (machine-readable)","responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"Envelope":{"type":"object","required":["schema_version","product","generated_at","pricing","license","attribution","data"],"properties":{"schema_version":{"type":"string","description":"Envelope schema version (semver major.minor)."},"product":{"type":"string"},"product_version":{"type":"string"},"generated_at":{"type":"string","format":"date-time","description":"ISO-8601 UTC"},"generated_at_et":{"type":"string","description":"Same instant, US Eastern display string"},"as_of":{"type":["string","null"],"format":"date-time","description":"Newest underlying observation (UTC)"},"pricing":{"type":"object","properties":{"model":{"const":"free"},"paywall":{"const":false},"price":{"type":"null"},"payments_mode":{"const":"off"}}},"license":{"type":"object","properties":{"status":{"type":"string"},"summary":{"type":"string"},"sources":{"type":"array"}}},"attribution":{"type":"array","items":{"type":"string"}},"attribution_links":{"type":"array","description":"Links that must accompany the attribution (e.g. IEX Historical Data Terms of Use).","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"disclaimer":{"type":"string"},"docs":{"type":"string"},"data":{"type":"object"}}}},"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Optional free key: higher rate limits only."},"firebaseIdToken":{"type":"http","scheme":"bearer","description":"Internal preview products only."}}}}