List events
filter=sports_live returns leaf-category sections (no pagination); any other value (or none) returns a flat keyset-paginated list. Category metadata lives at GET /categories/:slug.
api/v1/eventsQuery Parameters
categorystring
Category slug (root or leaf). Descendants are included. Omit for an unscoped global listing.
rootstring
Root slug the request originated under, used to disambiguate a category slug that exists in more than one tree. It is part of the cursor fingerprint, so keep it identical while paging.
event_type_bucketstring
Narrow by event-type bucket.
"games" | "props"filterstring
Named filter key (e.g. sports_live, sports_futures).
sourcestring
Filter catalogue results to the AGARA exchange.
"AGARA"exclude_endedstring
Drop events whose window has already ended, and events with no market left to trade. A RECURRING_PROPOSITION is retained while its next cycle is still PROVISIONED, which does not accept orders, so check market.state before placing one. Defaults to false.
"true" | "false"resolutionstring
Filter by resolution status. resolved covers both RESOLVED and VOID; active matches not-yet-resolved events. Omit (or all) for no filter.
"all" | "active" | "proposed" | "disputed" | "resolved"sortstring
Order within the lifecycle buckets (LIVE, ACTIVE, ENDED, PROPOSED, DISPUTED, CLOSED), all descending: time, volume, or markets (pooled market count). Omit for the default time-based bucketing.
"time" | "volume" | "markets"cursorstring
Opaque keyset cursor returned by a previous page.
limitinteger
Page size. Default 20, max 100.
20Minimum: 1Maximum: 100include_marketsstring
Opt into lean listing_markets enrichment on non-GAME items (PROPOSITION / RECURRING_PROPOSITION main market; MULTI_OUTCOME top-2 candidates). Defaults to false.
"true" | "false"Success