Skip to content

API ReferenceMarkets & Discovery

Get a single catalog market by marketId or slug (specific exchange; not router).

GET
/api/{exchange}/fetchMarket
curl --request GET \
--url https://data.predictefy.com/api/polymarket/fetchMarket \
--header 'Authorization: Bearer <token>'

At least one of marketId or slug is required; marketId wins when both are supplied. If neither is supplied, the route returns 400 VALIDATION_ERROR. outcomeId remains accepted for backward compatibility but does not identify a catalog market. closeAfter and closeBefore are not supported on fetchMarket; either parameter returns HTTP 400 VALIDATION_ERROR before query parsing.

exchange
required
string
Allowed values: polymarket kalshi opinion myriad gemini hyperliquid limitless polymarket_us rain predictfun sxbet pascal xo pred predictstreet novig router

One of the 16 served product venues, or router for the all-served-venues union.

Dark venues (currently: smarkets) are implemented but not served and return 404 EXCHANGE_NOT_AVAILABLE.

SX Bet serves catalog reads, real CLOB order books, the public trades tape, tape-derived candles, Trader Intelligence, and public account resources. It has no server execution lane; its separate client-side SDK trading lane is live as of 2026-07-27, and the trading wallet must have a registered sx.bet account with betting enabled once per token per network. There is no venue-official history claim.

pascal, xo and pred all serve catalog reads and real CLOB order books, plus a public trades tape on pascal only — xo and pred answer 501 NOT_SUPPORTED for fetchTrades. XO's is a venue property rather than a gap: its trade endpoints are caller-scoped, so no public XO tape exists to serve. None of the three has an account or venue-official history lane. Their execution state differs per venue and is no longer uniform:

  • Pascal is ARMED in production for build, submit, and signed cancel permits (armed 2026-08-12; fleet-verified 2026-08-15).
  • XO is REBUILT AND RE-ARMED for hosted build, submit, client-credentialed status refresh, and cancel. Live /v1/exec/venues re-verification on 2026-09-02 reports build, submit, and cancel true; the first live credentialed submit and cancel remain confirmation checkpoints.
  • PRED is production-DARKED (2026-08-13) pending the venue's key model. PRED_EXCHANGE_ADDRESSES is empty, which unregisters the entire lane, so every PRED execution route including build answers 404 VENUE_NOT_SUPPORTED.

PredictStreet serves keyless catalog/detail reads and real two-sided CLOB books. Its ADI Chain execution lane is armed for build and submit; it has no server cancel or hosted settlement lane. Predict Street Limited states it operates under Gibraltar licence 167, and FIFA names it the official prediction-market partner of the FIFA World Cup 2026.

Eligibility and jurisdiction remain an operator/compliance responsibility. PRED restricts the US, UK, France, Ontario, Singapore, Poland, Thailand, and Taiwan and prohibits location masking; pascal is US-restricted at the venue, and XO read access is partner-provided. Pascal's restricted-jurisdiction and API/data clauses are under owner review.

GET /v1/exec/venues remains the authoritative live list; this description is not a claim about one deployment's runtime gates.

marketId
string
slug
string
outcomeId
string

Accepted for backward compatibility but IGNORED on the catalog markets verbs (the catalog is market-grained; outcome scoping applies to the Phase-3 live order-book/trades verbs).

A single market (SINGLE-ITEM verb — no top-level meta; the record carries asOf/provenance).

Media typeapplication/json
object
success
required
boolean
data
object
marketId
required
string
title
required
string
description
required
string
outcomes
required
Array<object>
object
outcomeId
required
string
label
required
string
image

Venue-stated art for this outcome (a team logo on a sports leg), https, stored as its parsed href; omitted when the venue states none.

string
side

Stable binary side when asserted by the venue; omitted otherwise.

string
Allowed values: yes no
price
required
number | null
<= 1
priceUnavailable
boolean
priceBasis

What the numeric price represents at the venue.

  • venue-composite: Venue-provided composite price whose inputs are not decomposed here.
  • mid: Midpoint of the best bid and best ask.
  • ask: Best ask or equivalent venue buy price.
  • bid: Best bid or equivalent venue sell price.
  • last-trade: Most recent executed trade price.
  • amm-spot: Current AMM spot probability.
  • pool-share: Outcome pool divided by the total parimutuel pool.
  • odds-implied: Probability implied by venue odds.
  • complement: Synthesized as one minus the paired outcome price.
string
Allowed values: venue-composite mid ask bid last-trade amm-spot pool-share odds-implied complement
marketId
string
priceChange1m

Absolute probability delta versus one minute ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange5m

Absolute probability delta versus five minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange15m

Absolute probability delta versus 15 minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange1h

Absolute probability delta versus one hour ago, from the newest stored close at or before the boundary within the 3h lookback. The lookup uses a 1m candle first, with a 1h fallback. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange6h

Absolute probability delta versus six hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange24h

Absolute probability delta versus 24 hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange7d

Absolute probability delta versus seven days ago, from the newest stored close at or before the boundary within the 12h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange30d

Absolute probability delta versus 30 days ago, from the newest stored close at or before the boundary within the 24h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
coverage

Per-outcome tape coverage metadata. Null when unknown (no market_coverage row for this outcome, or not yet computed). Present only alongside the priceChange fields above (the hot snapshot path for open, active, priced outcomes).

object
mechanism
required

How this outcome's book tape is captured.

string
Allowed values: ws-lossless ws-top20 rest-adaptive rest-top-of-book synthetic-spot
tapeSince
required

When continuous tape coverage began for this outcome; null if unknown.

string | null format: date-time
effectiveIntervalMs
required

Measured effective observation interval in milliseconds (REST-polled venues); null for WebSocket venues or when unmeasured.

integer | null
gaps24h
required

Count of detected tape gaps in the last 24 hours.

integer
lastGapAt
required

When the most recent tape gap was detected; null if none recorded.

string | null format: date-time
metadata
object
key
additional properties
any
volume24h
required

Null means the venue publishes no such figure; 0 is a real venue-published zero

number | null
volume24hSource

Metric-specific provenance for volume24h. venue is published by the venue; derived_cumulative is Predictefy-derived from cumulative snapshots; derived_tape is Predictefy-derived from captured fills. A derived value must carry this field.

string
Allowed values: venue derived_cumulative derived_tape
volume24hUsd
required

The finite volume24h value when the venue registry unit is USD or USDC. USDC is counted at par (1 USDC = 1 USD), with no exchange-rate conversion. Null for contracts, COLLATERAL, CASH, unsupported or unknown units, or non-finite or missing values. Also null when the stored unit disagrees with the venue's declared unit.

number | null
volume24hUnit
required

Registry unit of the unchanged native volume24h. USD maps to usd, USDC to usdc, and CONTRACTS to contracts. All other or unknown units map to null. A stored unit that disagrees with the venue's declared unit also maps to null.

string | null
Allowed values: usd usdc contracts
volume24hAsOf
required

Venue-mode volume uses only snapshot_fetched_at, so the hot and SQL lanes report the same snapshot fetch time. Derived volume uses volume_24h_meta.asOf, falling back to windowEnd. Derived-venue volume and its timestamp can lag in the hot lane until the next full catalog resync. Null when unknown. Never the row write time, response time, or live price overlay time.

string | null format: date-time
priceChangeAsOf
required

This is the oldest evaluation instant among this market's enriched outcomes, including the 6h/24h windows. It records when the price changes were evaluated, not when the batch finished or the current quote was measured. Failed refreshes retain the previous evaluation instant. It is null when no outcome is enriched or in the SQL lane, where price changes are omitted.

string | null format: date-time
liquidity
required

Null means the venue publishes no such figure; 0 is a real venue-published zero

number | null
url
required
string
eventId
string
slug
string
resolutionDate
string | null format: date-time
volume
number
openInterest
number
image
required

Known-absent is null; this key is always emitted for market records.

string | null
eventImage
required

Known-absent is null; event/parent artwork is distinct from market artwork.

string | null
imageResolved
required

The picture to show. It is the venue's art when it has any, else a stored substitute (see imageSource). Known-absent is null; this key is always emitted; null until the image-resolve stage has written this market. Thumbnail rule imageResolved ?? image ?? eventImage.

string | null
imageSource
required

Why imageResolved is what it is (see ImageSource); null exactly when imageResolved is null.

string | null
Allowed values: venue series event league team sibling category
category
string
tags
Array<string>
canonicalCategory
required
string | null
canonicalTags
required
Array<string>
tickSize
number
status
string
contractAddress
string
sourceMetadata
object
key
additional properties
any
sourceExchange
string
yes
object
outcomeId
required
string
label
required
string
image

Venue-stated art for this outcome (a team logo on a sports leg), https, stored as its parsed href; omitted when the venue states none.

string
side

Stable binary side when asserted by the venue; omitted otherwise.

string
Allowed values: yes no
price
required
number | null
<= 1
priceUnavailable
boolean
priceBasis

What the numeric price represents at the venue.

  • venue-composite: Venue-provided composite price whose inputs are not decomposed here.
  • mid: Midpoint of the best bid and best ask.
  • ask: Best ask or equivalent venue buy price.
  • bid: Best bid or equivalent venue sell price.
  • last-trade: Most recent executed trade price.
  • amm-spot: Current AMM spot probability.
  • pool-share: Outcome pool divided by the total parimutuel pool.
  • odds-implied: Probability implied by venue odds.
  • complement: Synthesized as one minus the paired outcome price.
string
Allowed values: venue-composite mid ask bid last-trade amm-spot pool-share odds-implied complement
marketId
string
priceChange1m

Absolute probability delta versus one minute ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange5m

Absolute probability delta versus five minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange15m

Absolute probability delta versus 15 minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange1h

Absolute probability delta versus one hour ago, from the newest stored close at or before the boundary within the 3h lookback. The lookup uses a 1m candle first, with a 1h fallback. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange6h

Absolute probability delta versus six hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange24h

Absolute probability delta versus 24 hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange7d

Absolute probability delta versus seven days ago, from the newest stored close at or before the boundary within the 12h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange30d

Absolute probability delta versus 30 days ago, from the newest stored close at or before the boundary within the 24h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
coverage

Per-outcome tape coverage metadata. Null when unknown (no market_coverage row for this outcome, or not yet computed). Present only alongside the priceChange fields above (the hot snapshot path for open, active, priced outcomes).

object
mechanism
required

How this outcome's book tape is captured.

string
Allowed values: ws-lossless ws-top20 rest-adaptive rest-top-of-book synthetic-spot
tapeSince
required

When continuous tape coverage began for this outcome; null if unknown.

string | null format: date-time
effectiveIntervalMs
required

Measured effective observation interval in milliseconds (REST-polled venues); null for WebSocket venues or when unmeasured.

integer | null
gaps24h
required

Count of detected tape gaps in the last 24 hours.

integer
lastGapAt
required

When the most recent tape gap was detected; null if none recorded.

string | null format: date-time
metadata
object
key
additional properties
any
no
object
outcomeId
required
string
label
required
string
image

Venue-stated art for this outcome (a team logo on a sports leg), https, stored as its parsed href; omitted when the venue states none.

string
side

Stable binary side when asserted by the venue; omitted otherwise.

string
Allowed values: yes no
price
required
number | null
<= 1
priceUnavailable
boolean
priceBasis

What the numeric price represents at the venue.

  • venue-composite: Venue-provided composite price whose inputs are not decomposed here.
  • mid: Midpoint of the best bid and best ask.
  • ask: Best ask or equivalent venue buy price.
  • bid: Best bid or equivalent venue sell price.
  • last-trade: Most recent executed trade price.
  • amm-spot: Current AMM spot probability.
  • pool-share: Outcome pool divided by the total parimutuel pool.
  • odds-implied: Probability implied by venue odds.
  • complement: Synthesized as one minus the paired outcome price.
string
Allowed values: venue-composite mid ask bid last-trade amm-spot pool-share odds-implied complement
marketId
string
priceChange1m

Absolute probability delta versus one minute ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange5m

Absolute probability delta versus five minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange15m

Absolute probability delta versus 15 minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange1h

Absolute probability delta versus one hour ago, from the newest stored close at or before the boundary within the 3h lookback. The lookup uses a 1m candle first, with a 1h fallback. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange6h

Absolute probability delta versus six hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange24h

Absolute probability delta versus 24 hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange7d

Absolute probability delta versus seven days ago, from the newest stored close at or before the boundary within the 12h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange30d

Absolute probability delta versus 30 days ago, from the newest stored close at or before the boundary within the 24h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
coverage

Per-outcome tape coverage metadata. Null when unknown (no market_coverage row for this outcome, or not yet computed). Present only alongside the priceChange fields above (the hot snapshot path for open, active, priced outcomes).

object
mechanism
required

How this outcome's book tape is captured.

string
Allowed values: ws-lossless ws-top20 rest-adaptive rest-top-of-book synthetic-spot
tapeSince
required

When continuous tape coverage began for this outcome; null if unknown.

string | null format: date-time
effectiveIntervalMs
required

Measured effective observation interval in milliseconds (REST-polled venues); null for WebSocket venues or when unmeasured.

integer | null
gaps24h
required

Count of detected tape gaps in the last 24 hours.

integer
lastGapAt
required

When the most recent tape gap was detected; null if none recorded.

string | null format: date-time
metadata
object
key
additional properties
any
up
object
outcomeId
required
string
label
required
string
image

Venue-stated art for this outcome (a team logo on a sports leg), https, stored as its parsed href; omitted when the venue states none.

string
side

Stable binary side when asserted by the venue; omitted otherwise.

string
Allowed values: yes no
price
required
number | null
<= 1
priceUnavailable
boolean
priceBasis

What the numeric price represents at the venue.

  • venue-composite: Venue-provided composite price whose inputs are not decomposed here.
  • mid: Midpoint of the best bid and best ask.
  • ask: Best ask or equivalent venue buy price.
  • bid: Best bid or equivalent venue sell price.
  • last-trade: Most recent executed trade price.
  • amm-spot: Current AMM spot probability.
  • pool-share: Outcome pool divided by the total parimutuel pool.
  • odds-implied: Probability implied by venue odds.
  • complement: Synthesized as one minus the paired outcome price.
string
Allowed values: venue-composite mid ask bid last-trade amm-spot pool-share odds-implied complement
marketId
string
priceChange1m

Absolute probability delta versus one minute ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange5m

Absolute probability delta versus five minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange15m

Absolute probability delta versus 15 minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange1h

Absolute probability delta versus one hour ago, from the newest stored close at or before the boundary within the 3h lookback. The lookup uses a 1m candle first, with a 1h fallback. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange6h

Absolute probability delta versus six hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange24h

Absolute probability delta versus 24 hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange7d

Absolute probability delta versus seven days ago, from the newest stored close at or before the boundary within the 12h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange30d

Absolute probability delta versus 30 days ago, from the newest stored close at or before the boundary within the 24h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
coverage

Per-outcome tape coverage metadata. Null when unknown (no market_coverage row for this outcome, or not yet computed). Present only alongside the priceChange fields above (the hot snapshot path for open, active, priced outcomes).

object
mechanism
required

How this outcome's book tape is captured.

string
Allowed values: ws-lossless ws-top20 rest-adaptive rest-top-of-book synthetic-spot
tapeSince
required

When continuous tape coverage began for this outcome; null if unknown.

string | null format: date-time
effectiveIntervalMs
required

Measured effective observation interval in milliseconds (REST-polled venues); null for WebSocket venues or when unmeasured.

integer | null
gaps24h
required

Count of detected tape gaps in the last 24 hours.

integer
lastGapAt
required

When the most recent tape gap was detected; null if none recorded.

string | null format: date-time
metadata
object
key
additional properties
any
down
object
outcomeId
required
string
label
required
string
image

Venue-stated art for this outcome (a team logo on a sports leg), https, stored as its parsed href; omitted when the venue states none.

string
side

Stable binary side when asserted by the venue; omitted otherwise.

string
Allowed values: yes no
price
required
number | null
<= 1
priceUnavailable
boolean
priceBasis

What the numeric price represents at the venue.

  • venue-composite: Venue-provided composite price whose inputs are not decomposed here.
  • mid: Midpoint of the best bid and best ask.
  • ask: Best ask or equivalent venue buy price.
  • bid: Best bid or equivalent venue sell price.
  • last-trade: Most recent executed trade price.
  • amm-spot: Current AMM spot probability.
  • pool-share: Outcome pool divided by the total parimutuel pool.
  • odds-implied: Probability implied by venue odds.
  • complement: Synthesized as one minus the paired outcome price.
string
Allowed values: venue-composite mid ask bid last-trade amm-spot pool-share odds-implied complement
marketId
string
priceChange1m

Absolute probability delta versus one minute ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange5m

Absolute probability delta versus five minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange15m

Absolute probability delta versus 15 minutes ago, from the newest top-of-book tape tick (tob_ticks.last) at or before the boundary. On a snapshot-enriched outcome this field is always present; null means no reference tick exists and never means zero. This window has no freshness tolerance.

number | null
priceChange1h

Absolute probability delta versus one hour ago, from the newest stored close at or before the boundary within the 3h lookback. The lookup uses a 1m candle first, with a 1h fallback. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange6h

Absolute probability delta versus six hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange24h

Absolute probability delta versus 24 hours ago, using a 1m candle first, with a 1h fallback, at or before the boundary within the 4h preferred lookback. Otherwise, use the newest close at or before the boundary within the 12h lookback, only when the same outcome's first write-forward 1m candle after the boundary up to now has the same close and lands within 12 hours after the older reference. On a snapshot-enriched outcome this field is always present; null means no eligible reference exists and never means zero.

number | null
priceChange7d

Absolute probability delta versus seven days ago, from the newest stored close at or before the boundary within the 12h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
priceChange30d

Absolute probability delta versus 30 days ago, from the newest stored close at or before the boundary within the 24h lookback. Candle resolution preference is 1h, then 1d, then 1m. On a snapshot-enriched outcome this field is always present; null means no fresh-enough reference exists and never means zero.

number | null
coverage

Per-outcome tape coverage metadata. Null when unknown (no market_coverage row for this outcome, or not yet computed). Present only alongside the priceChange fields above (the hot snapshot path for open, active, priced outcomes).

object
mechanism
required

How this outcome's book tape is captured.

string
Allowed values: ws-lossless ws-top20 rest-adaptive rest-top-of-book synthetic-spot
tapeSince
required

When continuous tape coverage began for this outcome; null if unknown.

string | null format: date-time
effectiveIntervalMs
required

Measured effective observation interval in milliseconds (REST-polled venues); null for WebSocket venues or when unmeasured.

integer | null
gaps24h
required

Count of detected tape gaps in the last 24 hours.

integer
lastGapAt
required

When the most recent tape gap was detected; null if none recorded.

string | null format: date-time
metadata
object
key
additional properties
any
asOf
required
string | null format: date-time
provenance
required
object
source
required

Venue-rest — per-request REST via the venue adapter (the default stamp for every venue). predictefy-live — served from the live WebSocket hub or live order book; SX Bet overlay-bridge rows use this explicit source. fixture — offline sample data, never production venues. overlay — a serve-time catalog price overlay replaced the stored snapshot price for a fresh price-refresher entry.

string
Allowed values: venue-rest predictefy-live fixture overlay
capabilities
required

Market capability flags. history is true only when Predictefy's history coverage for the venue is proven under docs/history-coverage.md; it is independent of venue-native history endpoints and the hosted fetchOHLCV route's availability.

object
read
required
boolean
trade
required
boolean
depth
required

True when the venue exposes real order-book depth rather than an emulated or synthetic top-of-book (such as a single level synthesized from spot price, AMM pool, parimutuel odds, or P2P offer odds). Does not imply tradeable.

boolean
history
required
boolean
Example
{
"data": {
"outcomes": [
{
"side": "yes",
"priceBasis": "venue-composite",
"coverage": {
"mechanism": "ws-lossless"
}
}
],
"volume24hSource": "venue",
"volume24hUnit": "usd",
"imageSource": "venue",
"yes": {
"side": "yes",
"priceBasis": "venue-composite",
"coverage": {
"mechanism": "ws-lossless"
}
},
"no": {
"side": "yes",
"priceBasis": "venue-composite",
"coverage": {
"mechanism": "ws-lossless"
}
},
"up": {
"side": "yes",
"priceBasis": "venue-composite",
"coverage": {
"mechanism": "ws-lossless"
}
},
"down": {
"side": "yes",
"priceBasis": "venue-composite",
"coverage": {
"mechanism": "ws-lossless"
}
},
"provenance": {
"source": "venue-rest"
}
}
}

The request was rejected before any work was done — an invalid query, path, or body parameter, a malformed JSON body, or a parameter combination this route cannot honestly serve. Not retryable.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

UNAUTHORIZED — platform lane (READS_ENABLE_AUTH)

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

INSUFFICIENT_CREDITS — endpoint-weighted credits

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

SCOPE_MISSING — API key lacks the route's required scope (RBAC v1)

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The route does not exist, or the requested venue, market, event, cluster, outcome, or snapshot was not found. error.code names which. Not retryable.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

RATE_LIMITED — per-key rps limit

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Unexpected internal error. Retryable; error.requestId identifies the failure.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

CATALOG_UNAVAILABLE — a Core Postgres / catalog outage (retryable).

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}