/api/v1/public/eventsGETconstituents (default) returns events with at least one constituent market; all returns every event."constituents""created"asc or desc (default desc)."desc"1100Max: 500active); all → every status; unknown / pending / closed / resolved / expired → exact match. Other values 400.market_id prefix (e.g. kalshi,polymarket,polymarket-us,gemini). platform is an accepted alias.venue.end_date (a bare date snaps to end-of-day).end_date (a bare date snaps to start-of-day).kalshi:KXBTCD-…), the grouping key.volume_unit. Omitted when no child reports a value.volume. See QuantityUnit.open_interest_unit. Omitted when no child reports a value.open_interest. See QuantityUnit.<platform>:<venue ticker> (for example kalshi:SENATEPA-26-R). This is the id every other endpoint accepts, so use it rather than ticker when looking a market up.<platform>: prefix. Not guaranteed unique across venues, so use market_id as the lookup key and display_ticker as the human-readable label.kalshi, polymarket, polymarket-us, or gemini. It is also the prefix of market_id, and it determines what the volume and open interest figures are counted in (see the companion volume_unit, volume_24h_unit, and open_interest_unit fields).volume_unit.volume. See QuantityUnit.volume_24h_unit.volume_24h. See QuantityUnit.open_interest_unit.open_interest. See QuantityUnit.pending (listed, open_time still in the future), active (trading), closed (trading has ended, outcome not yet published), resolved (settled with a known outcome), expired (ended long ago and never settled by the venue), or unknown (the venue reported no status we recognize).Politics, Sports, Crypto). Every market under the same event shares it.closed for a while before its outcome is published./event/<event-slug>/<market-slug> when both slugs exist and differ, /event/<event-slug> when only the event slug is usable, and /market/<market-slug> when only the market slug is usable. Gemini is /predictions/<eventTicker>/<slug>. Null when no working URL can be built.total and total_pages reflect the server's counting ceiling rather than the exact matched count: the real set is at least total large. Render such totals as a lower bound (for example "10,000+"). Omitted when the count is exact. A sorted markets search that fills the 10,000-candidate ceiling sets this flag.curl -X GET "https://api.adjacent.markets/api/v1/public/events"
{ "data": [ { "event_id": "kalshi:KXPRESPARTY-2028", "name": "2028 Presidential Election winner? (Party)", "category": "Elections", "market_count": 2, "volume": 525225.94, "volume_unit": "contracts", "open_interest": 254090.81, "open_interest_unit": "contracts", "is_constituent": true, "markets": [ { "market_id": "kalshi:KXPRESPARTY-2028-D", "ticker": "KXPRESPARTY-2028-D", "display_ticker": "KXPRESPARTY-2028-D", "platform": "kalshi", "question": "Will Democratic win the Presidency in 2028?", "link": "https://kalshi.com/markets/kxpresparty/kxpresparty-2028", "probability": 58, "volume": 233444.98, "volume_unit": "contracts", "volume_24h": 14.2, "volume_24h_unit": "contracts", "open_interest": 116538.21, "open_interest_unit": "contracts", "status": "active", "category": "Elections", "is_constituent": true, "end_date": "2029-11-07T15:00:00Z" } ] } ], "meta": { "total": 412, "page": 1, "per_page": 1, "total_pages": 412, "has_next": true, "has_prev": false } }