{"info":{"name":"XFINLAB Intelligence API","description":"Structured, real market intelligence for developers -- market events, FinBERT sentiment, multi-agent AI debate, an AI-structured intelligence feed, technical/market-structure analysis, Monte Carlo stress testing, and a regime-aware signal. Every response is traceable to a real computation -- never a fabricated number or confidence score. Get a free key instantly at https://www.xfinlab.com/intelligence-api.html#access","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"apikey","apikey":[{"key":"key","value":"X-API-Key","type":"string"},{"key":"value","value":"{{apiKey}}","type":"string"},{"key":"in","value":"header","type":"string"}]},"variable":[{"key":"baseUrl","value":"https://api.xfinlab.com"},{"key":"apiKey","value":"xfl_your_key_here"}],"item":[{"name":"Intelligence Events","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/events?ticker=AAPL&limit=20","host":["{{baseUrl}}"],"path":["api","intelligence","v1","events"],"query":[{"key":"ticker","value":"AAPL","description":"optional","disabled":false},{"key":"limit","value":"20","description":"optional","disabled":false}]},"description":"`ticker` accepts a single symbol, no ticker (all headlines), or a\ncomma-separated list up to _MAX_BATCH_TICKERS (e.g. \"AAPL,MSFT,TSLA\")\nfor watchlist-style queries -- roadmap item #3, 2026-08-17. No-ticker\nand single-ticker requests return the exact same shape as before this\nchange; a multi-ticker request merges/dedupes results across all\nrequested symbols and adds a `tickers` field to each event."},"response":[]},{"name":"Intelligence Sentiment","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/sentiment?ticker=AAPL&limit=10","host":["{{baseUrl}}"],"path":["api","intelligence","v1","sentiment"],"query":[{"key":"ticker","value":"AAPL","description":"required","disabled":false},{"key":"limit","value":"10","description":"optional","disabled":false}]},"description":"`ticker` accepts a single symbol or a comma-separated list up to\n_MAX_BATCH_TICKERS (e.g. \"AAPL,MSFT,TSLA\") -- roadmap item #3,\n2026-08-17. A single ticker returns the exact same shape as before\nthis change. A comma-separated list returns `results_by_ticker` keyed\nby symbol instead of one flat `results` array -- averaging sentiment\nscores across unrelated tickers into a single number would be a\nmisleading aggregate, not a real one."},"response":[]},{"name":"Intelligence Debate","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/debate?ticker=AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","debate"],"query":[{"key":"ticker","value":"AAPL","description":"required","disabled":false}]},"description":"Wraps the existing 4-call Bull/Bear/Risk-Manager debate. This is the\nsingle most expensive endpoint in this router (see\nservices/agent_debate_service.py) -- weighted 5x in the quota counter,\nsame reasoning api/agent_debate.py already applies to logged-in users."},"response":[]},{"name":"Intelligence Latest","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/intel/latest?limit=5&lang=en","host":["{{baseUrl}}"],"path":["api","intelligence","v1","intel","latest"],"query":[{"key":"limit","value":"5","description":"optional","disabled":false},{"key":"lang","value":"en","description":"optional","disabled":false}]}},"response":[]},{"name":"Intelligence Ticker","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/intel/AAPL?limit=5&lang=en","host":["{{baseUrl}}"],"path":["api","intelligence","v1","intel","AAPL"],"query":[{"key":"limit","value":"5","description":"optional","disabled":false},{"key":"lang","value":"en","description":"optional","disabled":false}]}},"response":[]},{"name":"Intelligence Technical","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/technical/AAPL?period=6mo&interval=1d&lang=en","host":["{{baseUrl}}"],"path":["api","intelligence","v1","technical","AAPL"],"query":[{"key":"period","value":"6mo","description":"optional","disabled":false},{"key":"interval","value":"1d","description":"optional","disabled":false},{"key":"lang","value":"en","description":"optional","disabled":false}]},"description":"Confluence direction/confidence, trend, MACD, volume, chart patterns,\nand market-structure (BOS/CHOCH/liquidity-sweep/order-flow/volume-\nprofile/institutional-footprint) for one ticker -- everything\nai-analysis.html's dashboard shows, minus AI prose. `lang` reuses the\nsame site-wide per-language translation this endpoint's underlying\nfunction already does for the website (task #592's fix), so API\nconsumers get real localized labels too, not just en/zh."},"response":[]},{"name":"Intelligence Stress Test","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/stress-test","host":["{{baseUrl}}"],"path":["api","intelligence","v1","stress-test"],"query":[]},"description":"Real historical-bootstrap Monte Carlo (see services/monte_carlo_\nservice.py's module docstring for the honesty notes on method/\nlimitations -- returned verbatim in the `method`/`note` fields, never\nstripped out for API consumers). Same MAX_HORIZON_DAYS/MAX_N_SIMULATIONS\ncaps stress-lab.html's own callers get; POST (not GET) since this is\nthe heaviest-compute endpoint in this router after `debate`/`intel`.","body":{"mode":"raw","raw":"{\n  \"symbol\": \"AAPL\",\n  \"amount\": 10000,\n  \"horizon_days\": 252\n}","options":{"raw":{"language":"json"}}}},"response":[]},{"name":"Intelligence Regime Signal","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/regime-signal/AAPL?regime=trending_up&min_trades=5","host":["{{baseUrl}}"],"path":["api","intelligence","v1","regime-signal","AAPL"],"query":[{"key":"regime","value":"trending_up","description":"optional","disabled":false},{"key":"min_trades","value":"5","description":"optional","disabled":false}]},"description":"Current causal market regime for `ticker` (services/regime_router_\nservice.py's own causal-only classifier, see that module's docstring\nfor why it doesn't reuse the live Confluence/Regime Belief engines)\nplus whichever composed signal combo (services/formula_composer_\nservice.py) has historically performed best in that regime. If\n`regime` is omitted, the current regime is computed first and used\nfor the lookup -- the actual \"what should I use right now\" answer."},"response":[]},{"name":"Intelligence Insider","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/insider/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","insider","AAPL"],"query":[]},"description":"SEC Form 4 insider-trading transactions for `ticker` (services/\nsec_form4_service.py -- non-derivative open-market transactions from\nthe most recent filings cross-indexed under the issuer's own CIK via\nEDGAR's browse-edgar feed, not just what the issuer itself filed).\n24h server-side cached, so repeat calls for the same ticker within a\nday don't re-hit EDGAR."},"response":[]},{"name":"Intelligence Short Interest","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/short-interest/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","short-interest","AAPL"],"query":[]},"description":"FINRA bi-weekly equity short-interest for `ticker` (services/\nfinra_short_interest_service.py -- the genuinely free public\nsettlement-date flat file, distinct from FINRA's member-firm-gated\nQuery API). `available: false` with no reported short position is a\nreal, honest \"not currently shorted at reportable levels\" result, not\nan error."},"response":[]},{"name":"Intelligence Energy","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/energy/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","energy","AAPL"],"query":[]},"description":"EIA energy-fundamentals context for `ticker` (services/eia_energy_\nservice.py -- WTI crude spot, Henry Hub nat-gas spot, and Lower-48\nworking nat-gas storage). Only populated for tickers with a real\ncrude/nat-gas linkage (currently USO/UNG, see that module's\n_TICKER_TO_SERIES) -- any other ticker returns `data: null`, never a\nfabricated reading for an unrelated symbol."},"response":[]},{"name":"Intelligence Exchange","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/exchange/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","exchange","AAPL"],"query":[]},"description":"Same crypto ticker's live 24h stats from two real spot exchanges --\nBinance (services/crypto_exchange_service.py) and Coinbase (services/\ncoinbase_exchange_service.py) -- side by side. Only populated for the\ntracked crypto tickers both services cover; any other ticker returns\n`data: null`, never a fabricated cross-exchange reading."},"response":[]},{"name":"Intelligence Fundamentals","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/fundamentals/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","fundamentals","AAPL"],"query":[]},"description":"Latest annual (10-K) financial-statement facts for `ticker`\n(services/sec_xbrl_service.py -- revenue, net income, diluted EPS,\ntotal assets/liabilities, operating cash flow, straight from SEC\nXBRL Company Facts). The first real fundamentals data in the\nIntelligence API -- every other endpoint here is positioning,\nevent-driven activity, or macro/commodity context, not the\ncompany's own reported financial statements. 24h server-side\ncached."},"response":[]},{"name":"Intelligence Vix Term Structure","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/vix-term-structure","host":["{{baseUrl}}"],"path":["api","intelligence","v1","vix-term-structure"],"query":[]},"description":"CBOE VIX9D/VIX/VIX3M/VIX6M term structure (services/\ncboe_vix_service.py) -- the options market's own forward-looking\nvolatility curve, plus a contango/backwardation regime read. Not\nticker-specific -- one market-wide snapshot per call."},"response":[]},{"name":"Intelligence Bank Health","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/bank-health/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","bank-health","AAPL"],"query":[]},"description":"FDIC Call Report health (ROA/ROE/assets/equity) for `ticker`'s\nlead bank subsidiary (services/fdic_banking_service.py). Only\npopulated for the handful of major publicly-traded bank holding\ncompanies this module explicitly maps to a real FDIC certificate\nnumber (see _TICKER_TO_CERT) -- any other ticker returns `data:\nnull`, never a guessed match. Reflects the regulated bank\nsubsidiary's own Call Report, not consolidated holding-company\nGAAP financials."},"response":[]},{"name":"Intelligence Agriculture","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/agriculture/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","agriculture","AAPL"],"query":[]},"description":"USDA agricultural-commodity price-received context for `ticker`\n(services/usda_agriculture_service.py -- corn/wheat/soybean, pairs\nwith CORN/WEAT/SOYB the same way /v1/energy pairs with USO/UNG).\nOnly populated for tickers with a real commodity linkage; any other\nticker returns `data: null`."},"response":[]},{"name":"Intelligence Webhooks Subscribe","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/webhooks/subscribe","host":["{{baseUrl}}"],"path":["api","intelligence","v1","webhooks","subscribe"],"query":[]},"description":"Pro-tier feature (2026-08-28, AJ: \"重有咩賺錢位\" -> Webhook Pro專屬):\npush notifications instead of polling, for 2 real Data Factory\nevents -- see services/webhook_service.py's VALID_EVENT_TYPES for\nthe exact list and why these two were chosen (both already backed by\na daily scheduled job, so this promises honest same-cadence delivery,\nnever a fabricated \"real-time\" claim). Does NOT spend quota -- this\nis a management action, not a data read."},"response":[]},{"name":"Intelligence Webhooks List","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/webhooks","host":["{{baseUrl}}"],"path":["api","intelligence","v1","webhooks"],"query":[]},"description":"Lists every webhook subscription owned by the caller's own API\nkey -- never another key's. Read-only, no quota spend."},"response":[]},{"name":"Intelligence Webhooks Unsubscribe","request":{"method":"DELETE","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"url":{"raw":"{{baseUrl}}/api/intelligence/v1/webhooks/AAPL","host":["{{baseUrl}}"],"path":["api","intelligence","v1","webhooks","AAPL"],"query":[]},"description":"Deletes a webhook subscription -- only if it belongs to the\ncaller's own API key (services/webhook_service.py's unsubscribe()\nchecks both id AND api_key in the same DELETE, so guessing another\nkey's id can never delete their subscription)."},"response":[]}]}