| venue required | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | Prediction-market venue key: polymarket (Polymarket International), polymarket_us (Polymarket US), kalshi, or limitless. |
| nativeMarketId required | string | |
| nativeEventId required | string | null | |
| seriesTicker required | string | null | |
| marketKey required | string | |
| quotientMarketId required | string | Stable Quotient market-page id: bare numeric for legacy Polymarket rows, venue-prefixed (kalshi:TICKER, polymarket_us:123, …) elsewhere. quotientUrl is exactly https://quotient.social/markets/{quotientMarketId} (URL-encoded) — the id form the market page resolves for every venue. A market with no Quotient coverage yet may not have a page. |
| slug required | string | null | |
| marketUrl required | string | null | Connector-owned market page URL; null when unavailable. Format: uri |
| sourceUrl required | string | null | Connector provenance or API source URL. Format: uri |
| broker_channels required | "robinhood"[] | Retail brokers that carry this exact venue contract (same order book, same settlement). A broker distributes the venue contract; venue and marketKey remain the contract's identity. Today only robinhood, stamped on Kalshi rows from Robinhood's public listings; empty when no broker lists the market. Filter with topic=robinhood on /markets, /markets/mispriced and /signals, or tag=robinhood on /markets/search. |
| robinhood_category required | string | null | Robinhood's own category slug for the listing (economics, politics, crypto, climate, …); null when not listed on Robinhood. |
| robinhood_url required | string | null | Deep link to the Robinhood event page; null when not listed on Robinhood. Format: uri |
| question required | string | The market question |
| end_date required | string | null | When this market closes/resolves Format: date-time |
| quotient_odds required | number | Q's forecast probability (0-1) expressed as YES odds |
| market_odds required | number | Verified live source-venue YES probability (0-1), exactly matching venue_quote.selected_probability. |
| venue_quote required | VenueQuoteV1 | Verified live quote used for the odds band, spread, direction, ordering, and count.venue_quote fields| Field | Type | Description |
|---|
| schema_version required | "1" | | | venue required | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | null | Prediction-market venue key: polymarket (Polymarket International), polymarket_us (Polymarket US), kalshi, or limitless. | | market_id required | string | null | | | yes_bid required | number | null | Minimum: 0; Maximum: 1 | | yes_ask required | number | null | Minimum: 0; Maximum: 1 | | yes_last required | number | null | Minimum: 0; Maximum: 1 | | selected_probability required | number | null | Prediction-market YES probability selected for the enclosing response. Inspect freshness and quote_method before treating it as current. Minimum: 0; Maximum: 1 | | quote_method required | string | null | midpoint, bid, ask, fresh last, or graph_snapshot. Null when pricing is unavailable. | | venue_timestamp required | string | null | Source clock for the selected quote: book update for book methods, last-trade time for last, or catalog observation time for graph_snapshot. Format: date-time | | observed_at required | string | null | When Quotient observed the live quote or stored graph snapshot. Format: date-time | | freshness required | CapabilityState | |
|
| inDispute required | boolean | Whether the source venue currently reports a dispute or challenged settlement state. Legacy Polymarket rows map their UMA dispute state here. |
| clarifications required | string | null | Rules clarifications for the market, if provided |
| bluf required | string | Bottom-line-up-front summary |
| forecast required | CompactForecast | forecast fields| Field | Type | Description |
|---|
| venue required | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | null | Prediction-market venue key: polymarket (Polymarket International), polymarket_us (Polymarket US), kalshi, or limitless. | | market required | CanonicalMarketRouting | null | market fields| Field | Type | Description |
|---|
| venue required | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | Prediction-market venue key: polymarket (Polymarket International), polymarket_us (Polymarket US), kalshi, or limitless. | | nativeMarketId required | string | | | nativeEventId required | string | null | | | seriesTicker required | string | null | | | marketKey required | string | | | quotientMarketId required | string | Stable Quotient market-page id: bare numeric for legacy Polymarket rows, venue-prefixed (kalshi:TICKER, polymarket_us:123, …) elsewhere. quotientUrl is exactly https://quotient.social/markets/{quotientMarketId} (URL-encoded) — the id form the market page resolves for every venue. A market with no Quotient coverage yet may not have a page. | | slug required | string | null | | | marketUrl required | string | null | Connector-owned market page URL; null when unavailable. Format: uri | | sourceUrl required | string | null | Connector provenance or API source URL. Format: uri | | broker_channels required | "robinhood"[] | Retail brokers that carry this exact venue contract (same order book, same settlement). A broker distributes the venue contract; venue and marketKey remain the contract's identity. Today only robinhood, stamped on Kalshi rows from Robinhood's public listings; empty when no broker lists the market. Filter with topic=robinhood on /markets, /markets/mispriced and /signals, or tag=robinhood on /markets/search. | | robinhood_category required | string | null | Robinhood's own category slug for the listing (economics, politics, crypto, climate, …); null when not listed on Robinhood. | | robinhood_url required | string | null | Deep link to the Robinhood event page; null when not listed on Robinhood. Format: uri |
| | id required | string | | | probability required | number | | | created_at required | string | Format: date-time | | headline | string | null | | | thesis required | string | null | | | resolution_pathway required | ResolutionPathway | The market contract and forecast crux needed to review how this forecast can resolve.resolution_pathway fields| Field | Type | Description |
|---|
| criteria required | string | null | | | crux required | string | null | | | deadline required | string | null | Format: date-time | | source required | string | null | |
| | delta_from_prior | number | null | | | delta_reasoning | string | null | | | refresh_reason | string | null | | | relationships required | RelationshipsEnvelope | Bounded, non-recursive graph references. Each category publishes at most 50 lightweight refs. These refs contain no forecast probability, venue odds, aggregate asset probability, or inferred causal AFFECTS edge.relationships fields| Field | Type | Description |
|---|
| assets required | RelationshipAssetRef[] | Maximum items: 50 assets fields| Field | Type | Description |
|---|
| relationship required | "HAS_MARKET" | "ON_MARKET" | "ON_FORECAST" | "HAS_SIGNAL" | Exact graph edge at the final hop. The API does not synthesize AFFECTS relationships. | | direction required | "incoming" | "outgoing" | Direction of the final graph edge relative to the response subject for direct refs, or relative to the explicit via node for two-hop refs. | | via required | "direct" | "market" | "asset" | direct is one graph hop; market or asset names the explicit intermediate node for a bounded two-hop ref. | | id required | string | Format: uuid | | assetKey required | string | | | name required | string | | | ticker required | string | null | | | asset_type required | string | |
| | markets required | RelationshipMarketRef[] | Maximum items: 50 markets fields| Field | Type | Description |
|---|
| relationship required | "HAS_MARKET" | "ON_MARKET" | "ON_FORECAST" | "HAS_SIGNAL" | Exact graph edge at the final hop. The API does not synthesize AFFECTS relationships. | | direction required | "incoming" | "outgoing" | Direction of the final graph edge relative to the response subject for direct refs, or relative to the explicit via node for two-hop refs. | | via required | "direct" | "market" | "asset" | direct is one graph hop; market or asset names the explicit intermediate node for a bounded two-hop ref. | | marketKey required | string | | | venue required | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | Prediction-market venue key: polymarket (Polymarket International), polymarket_us (Polymarket US), kalshi, or limitless. | | nativeMarketId required | string | | | question required | string | null | |
| | signals required | RelationshipSignalRef[] | Maximum items: 50 signals fields| Field | Type | Description |
|---|
| relationship required | "HAS_MARKET" | "ON_MARKET" | "ON_FORECAST" | "HAS_SIGNAL" | Exact graph edge at the final hop. The API does not synthesize AFFECTS relationships. | | direction required | "incoming" | "outgoing" | Direction of the final graph edge relative to the response subject for direct refs, or relative to the explicit via node for two-hop refs. | | via required | "direct" | "market" | "asset" | direct is one graph hop; market or asset names the explicit intermediate node for a bounded two-hop ref. | | id required | string | | | signal_type required | "prediction_market" | | | canonical_endpoint required | "/api/v1/signals" | | | side required | string | null | | | published_at required | string | null | |
| | truncated required | object | truncated fields| Field | Type | Description |
|---|
| assets required | boolean | | | markets required | boolean | | | signals required | boolean | |
|
|
|
| spread required | number | null | Absolute difference between Q forecast and market odds |
| spread_direction required | "q_higher" | "q_lower" | |
| forecast_status | object | null | Live-priced coverage status against the latest forecast. Null when the required quote or forecast is unavailable.forecast_status fields| Field | Type | Description |
|---|
| state required | "warning" | "caution" | "converged" | "converging" | "sideways" | "diverging" | | | cents required | integer | Movement states: gap closed (+) or opened (−) over the window. converged: how far past Q the venue sits. Adverse tiers: the move from the worse anchor in position-space cents (negative). | | adverse_move_pct required | number | null | The standing worse-of-anchors adverse move, RELATIVE % of anchor cost, positive = against Q's side. Served on every state — a 14.9% move stays visible below the caution line. Negative means the market has moved in Q's favour. Null when no anchor is priced. | | basis required | "since_publish" | "since_forecast" | The window the read measured: an adverse tier stamps the anchor that fired; other states carry the surface's measurement window. | | price_source required | "live" | "graph" | live = verified venue quote; graph = an explicitly stale graph_snapshot for a venue without a live adapter. Graph snapshots carry stale discovery data. |
|
| volume_24h required | number | null | Nullable venue-reported 24-hour activity. Treat it as venue-specific in the venue's own units. |
| last_updated required | string | Format: date-time |
| signal_count required | integer | Number of analyst signals for this market |
| quotientUrl required | string | null | Canonical Quotient market page: https://quotient.social/markets/{quotientMarketId} (URL-encoded). The id form resolves for every venue; a market with no Quotient coverage yet may not have a page. |
| polymarketUrl required | string | null | Legacy Polymarket navigation alias. Populated only for Polymarket International rows and null for Polymarket US, Kalshi, and Limitless; use marketUrl for venue-neutral navigation. |
| relationships required | RelationshipsEnvelope | Bounded, non-recursive graph references. Each category publishes at most 50 lightweight refs. These refs contain no forecast probability, venue odds, aggregate asset probability, or inferred causal AFFECTS edge.relationships fields| Field | Type | Description |
|---|
| assets required | RelationshipAssetRef[] | Maximum items: 50 assets fields| Field | Type | Description |
|---|
| relationship required | "HAS_MARKET" | "ON_MARKET" | "ON_FORECAST" | "HAS_SIGNAL" | Exact graph edge at the final hop. The API does not synthesize AFFECTS relationships. | | direction required | "incoming" | "outgoing" | Direction of the final graph edge relative to the response subject for direct refs, or relative to the explicit via node for two-hop refs. | | via required | "direct" | "market" | "asset" | direct is one graph hop; market or asset names the explicit intermediate node for a bounded two-hop ref. | | id required | string | Format: uuid | | assetKey required | string | | | name required | string | | | ticker required | string | null | | | asset_type required | string | |
| | markets required | RelationshipMarketRef[] | Maximum items: 50 markets fields| Field | Type | Description |
|---|
| relationship required | "HAS_MARKET" | "ON_MARKET" | "ON_FORECAST" | "HAS_SIGNAL" | Exact graph edge at the final hop. The API does not synthesize AFFECTS relationships. | | direction required | "incoming" | "outgoing" | Direction of the final graph edge relative to the response subject for direct refs, or relative to the explicit via node for two-hop refs. | | via required | "direct" | "market" | "asset" | direct is one graph hop; market or asset names the explicit intermediate node for a bounded two-hop ref. | | marketKey required | string | | | venue required | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | Prediction-market venue key: polymarket (Polymarket International), polymarket_us (Polymarket US), kalshi, or limitless. | | nativeMarketId required | string | | | question required | string | null | |
| | signals required | RelationshipSignalRef[] | Maximum items: 50 signals fields| Field | Type | Description |
|---|
| relationship required | "HAS_MARKET" | "ON_MARKET" | "ON_FORECAST" | "HAS_SIGNAL" | Exact graph edge at the final hop. The API does not synthesize AFFECTS relationships. | | direction required | "incoming" | "outgoing" | Direction of the final graph edge relative to the response subject for direct refs, or relative to the explicit via node for two-hop refs. | | via required | "direct" | "market" | "asset" | direct is one graph hop; market or asset names the explicit intermediate node for a bounded two-hop ref. | | id required | string | | | signal_type required | "prediction_market" | | | canonical_endpoint required | "/api/v1/signals" | | | side required | string | null | | | published_at required | string | null | |
| | truncated required | object | truncated fields| Field | Type | Description |
|---|
| assets required | boolean | | | markets required | boolean | | | signals required | boolean | |
|
|