v1
latestOpenAPI 3.0.32026-07-246185298.2 KBContent Detail
Retrieve every customer-facing field for a single piece of generated content. Use the compact /content/ list to find IDs, then hit this endpoint for the full row.
Path parameters
Response
- pulse - Stock Pulse
- earnings_preview - Earnings Preview
- trader_note - Sales Trader Note
- weekly_digest - Weekly Digest
- convergence_report - Convergence Report
- market_commentary - Market Commentary
Populated when content_type=pulse. Empty otherwise.
- short_interest - Short Interest
- analyst - Analyst Activity
- options - Options / PCR
- institutional - Institutional / 13F
- ctb - Cost to Borrow
- utilization - Utilization
- signal - ORTEX Signal
- convergence - Convergence
Theme slug for weekly digests (e.g. overall, short_interest, analyst). Empty for non-digest content.
Full headline for entitled callers + long-form articles. Pulses get a ~3-word teaser when locked.
Rationale: pulses normally render with just the headline (pulse wire, list rows), so showing the full text alongside a padlock would make the lock cosmetic. Articles have a rich body / summary / analyst grid behind the paywall, so the headline can stay visible — readers need it to decide whether to click, and the actual gated content is below.
Full body, or empty string when locked.
Per-row list of {exchange, ticker, mic, isin} dicts — one per unique TradingItem on this row.
Includes both the primary tradingitem and every body-mentioned ticker on the related_tradingitems M2M, so callers can join MI articles to their internal instrument keyspace without a separate round trip. Empty when the row has no ticker at all (some weekly digests + market commentaries).
Closed-vocabulary subject-matter tags for this row.
Lets callers filter "anything SI-flavoured" with one query (?topics=short_interest) instead of enumerating content_type=pulse&pulse_type=short_interest + content_type=weekly_digest&theme=short_interest + content_type=market_commentary&theme=short_interest separately. See compute_topics and Topic in market_intelligence.constants for the resolution rules and the closed vocabulary.
Derived at request time from existing discriminators — no schema change required. Empty list (rather than null) when no topic resolves, so callers always get a JSON array.