Skip to content

API ReferenceEvents & Series

Legacy alias of fetchEvents (same handler, identical semantics).

GET
/api/{exchange}/fetchEventsPaginated
curl --request GET \
--url 'https://data.predictefy.com/api/example/fetchEventsPaginated?status=active&sort=volume&searchMode=lexical&snapshotTTL=60000' \
--header 'Authorization: Bearer <token>'

The SDK exposes fetchEventsPaginated as a separate verb; on this hosted API cursor pagination (cursor/snapshotTTL/nextCursor) already lives on fetchEvents, so this path serves the exact same handler. Cursors minted by either path are accepted by the other. The four canonical taxonomy params are honored only when READS_ENABLE_TAXONOMY=true; while the flag is off they are accepted and ignored. Raw category labels always match; category also matches the canonical slug when READS_ENABLE_TAXONOMY=true. searchMode accepts only lexical (the default). Semantic and hybrid modes return HTTP 400 NOT_SUPPORTED with a fetchMarkets hint; any other searchMode value returns HTTP 400 VALIDATION_ERROR. The legacy searchIn param remains accepted and ignored. closeAfter and closeBefore accept integer epoch milliseconds, a YYYY-MM-DD date (UTC midnight), or an RFC 3339 date-time with Z or an offset; anything else answers 400. Both bounds are exclusive. Markets without a close date are excluded whenever either bound is set. Equal bounds return HTTP 200 with an empty result. Invalid bounds or closeAfter later than closeBefore return HTTP 400 VALIDATION_ERROR. The bounds filter member markets before events are grouped, so each event lists only its matching markets. Aggregates, ordering, counts and pagination use those members.

exchange
required
string
status
string
default: active
Allowed values: active open closed inactive resolved all
sort
string
default: volume
Allowed values: volume newest liquidity closeDate
closeAfter
string

Exclusive lower bound on the market close date (resolutionDate), compared at millisecond precision. Accepts exactly three forms: integer epoch milliseconds, a YYYY-MM-DD date, or an RFC 3339 date-time. Epoch milliseconds use digits with an optional leading minus. Non-negative integers below 100000000000 look like epoch seconds or a compact date and return HTTP 400 VALIDATION_ERROR; use epoch MILLISECONDS. Negative epochs and integers of at least 100000000000 remain accepted within the UTC year range. Dates mean UTC midnight. Date-times require T/t, HH:MM, optional :SS with an optional fraction of 1 to 9 digits, and Z/z or a +HH:MM/-HH:MM offset. Fractions truncate to milliseconds. Invalid calendar or clock fields, other formats, and UTC years outside 0001 to 9999 return HTTP 400 VALIDATION_ERROR. In a query string, send a + offset sign as %2B; a raw + decodes to a space and answers 400.

closeBefore
string

Exclusive upper bound on the market close date (resolutionDate), compared at millisecond precision. Accepts exactly three forms: integer epoch milliseconds, a YYYY-MM-DD date, or an RFC 3339 date-time. Epoch milliseconds use digits with an optional leading minus. Non-negative integers below 100000000000 look like epoch seconds or a compact date and return HTTP 400 VALIDATION_ERROR; use epoch MILLISECONDS. Negative epochs and integers of at least 100000000000 remain accepted within the UTC year range. Dates mean UTC midnight. Date-times require T/t, HH:MM, optional :SS with an optional fraction of 1 to 9 digits, and Z/z or a +HH:MM/-HH:MM offset. Fractions truncate to milliseconds. Invalid calendar or clock fields, other formats, and UTC years outside 0001 to 9999 return HTTP 400 VALIDATION_ERROR. In a query string, send a + offset sign as %2B; a raw + decodes to a space and answers 400.

category
string

Matches the raw category label, or the canonical slug when READS_ENABLE_TAXONOMY=true. A request served from SQL (status=all, closed or resolved, or while the catalog snapshot warms) returns HTTP 400 VALIDATION_ERROR when a broad slug matches more than 5,000 markets, the same scan bound categories= has; narrow it with status or venue.

categories
string

Comma-separated canonical category slugs (OR semantics, maximum 50). Unknown slugs match nothing. Honored only when READS_ENABLE_TAXONOMY=true; ignored while the flag is off.

excludeCategories
string

Comma-separated canonical category slugs to exclude (maximum 50). NULL/unclassified rows remain visible. Honored only when READS_ENABLE_TAXONOMY=true; ignored while the flag is off.

tags
string

Comma-separated canonical tag slugs (ANY-overlap semantics, maximum 50). Unknown slugs match nothing. Honored only when READS_ENABLE_TAXONOMY=true; ignored while the flag is off.

excludeTags
string

Comma-separated canonical tag slugs to exclude by overlap (maximum 50). Honored only when READS_ENABLE_TAXONOMY=true; ignored while the flag is off.

searchMode
string
default: lexical
Allowed values: lexical

Only lexical event search is supported. Use fetchMarkets for semantic or hybrid search.

query
string
series
string
limit
integer
>= 1 <= 100
offset
integer
<= 10000

Offsets above the maximum are rejected; use cursor pagination for deep walks.

page
integer
>= 1
cursor
string

Opaque cursor returned by a prior page. Overrides offset/page and preserves the original catalog snapshot. Snapshot/offset cursors are signed by the server; a tampered or foreign cursor is rejected as VALIDATION_ERROR.

snapshotTTL
integer
default: 60000 <= 86400000

Cursor lifetime in milliseconds. 0 disables expiry for that cursor chain.

A page of events (identical to fetchEvents).

Media typeapplication/json
object
success
required
boolean
data
required
Array<object>
object
id
required
string
title
required
string
description
required
string
slug
required
string
markets
required
Array<object>
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
volume24h
required

Null means every member's venue publishes no such figure; otherwise this is the sum of known member values

number | null
volume24hSource
object
sources
required
Array<string>
unique items
Allowed values: venue derived_cumulative derived_tape
partial
required
boolean
volume24hUsd
required

Sum of member volume24hUsd values only when every member has a non-null value and the sum is finite; otherwise null. USDC is counted at par (1 USDC = 1 USD). The existing native volume24h sum is unchanged. A member's stored unit disagreeing with its venue's declared unit makes the aggregate null.

number | null
volume24hUnit
required

The members' common volume24hUnit, or null for mixed, unsupported or unknown units. A member's stored unit disagreeing with its venue's declared unit makes the aggregate null.

string | null
Allowed values: usd usdc contracts
volume24hAsOf
required

Oldest volume24hAsOf among members contributing finite native volume24h values. Null when there are no contributors or any contributing timestamp is unknown. Venue-mode members use snapshot fetch times, keeping the hot and SQL lanes aligned. Derived-venue members and their timestamps can lag in the hot lane until the next full catalog resync. Does not use event asOf, row write time, response time, or live price overlay time.

string | null format: date-time
priceChangeAsOf
required

Oldest non-null member priceChangeAsOf, preserving the instants when cached price changes were evaluated, not when their batches finished. Null when no member is enriched or in the SQL lane, where price changes are omitted.

string | null format: date-time
url
required
string
volume
number
image
string
category
string
tags
Array<string>
canonicalCategory
required
string | null
canonicalTags
required
Array<string>
sourceExchange
string
sourceMetadata
object
key
additional properties
any
asOf
string format: date-time
provenance
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
meta
required
object
asOf
required
string | null format: date-time
coverage

Present on archive-backed trade pages; earliest/latest archived trade for this outcome.

object
from
required
string format: date-time
to
required
string format: date-time
snapshot
object
version
required
string
loadedAt
required
string format: date-time
asOf
required
string | null format: date-time
totalsAsOf

Present when page.total came from the exact background totals matrix.

string format: date-time
totalUnavailable

Present if and only if page.total is null, explaining why the total is missing. Distinguishes "nothing matched" (total 0) from "your page was served but its matches were not counted" (total null).

string
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
page
required
object
limit
required
integer
offset
required
integer
total
required

Total matching rows, or null when the total was NOT computed — never a fabricated 0. The data page is the product and the count is metadata, so routes may warm an exact total off-request or abandon a count that exceeds its short budget while the page is still served. null is always accompanied by meta.totalUnavailable, which says why; use hasMore / nextCursor to walk the result set.

integer | null
hasMore
required

Whether another page exists. Determined by fetching one row beyond the requested limit, so it stays correct even when total is null.

boolean
nextCursor

Opaque cursor for the next page. Omitted on the final page.

string
nextCursor
string
Example
{
"data": [
{
"markets": [
{
"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"
}
}
],
"volume24hSource": {
"sources": [
"venue"
]
},
"volume24hUnit": "usd",
"provenance": {
"source": "venue-rest"
}
}
],
"meta": {
"provenance": {
"source": "venue-rest"
}
}
}

NOT_SUPPORTED for semantic/hybrid search; VALIDATION_ERROR for unknown modes or invalid query parameters.

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"
}
}