Skip to content

Events

An event is one instance of a series (e.g. KXPRES-24). It groups one or more markets that share a resolution.

Quick reference

Method Endpoint Auth
list(...) GET /events no
list_all(...) walks list no
list_multivariate(...) GET /events/multivariate no
list_all_multivariate(...) walks list_multivariate no
get(event_ticker, *, with_nested_markets=False) GET /events/{event_ticker} no
metadata(event_ticker) GET /events/{event_ticker}/metadata no

List events

page = client.events.list(
    status="open",                   # EventStatusLiteral
    series_ticker="KXPRES",
    with_nested_markets=False,
    with_milestones=False,
    min_close_ts=1_700_000_000,
    min_updated_ts=1_700_000_000,
    collection_ticker=None,          # only events under a specific multivariate collection
    limit=200,
)
for event in page:
    print(event.event_ticker, event.title, event.status)

EventStatusLiteral has values "unopened" | "open" | "closed" | "settled". Unlike MarketStatusLiteral, there is no "paused".

Multivariate events

list_multivariate(...) returns only events that participate in a multivariate event collection. Same kwargs as list. See Multivariate for the surrounding API.

Get one event

event = client.events.get("KXPRES-24", with_nested_markets=True)
for market in event.markets:
    print(market.ticker)

with_nested_markets defaults to False — you'll get the event metadata only unless you opt in.

Event metadata

md = client.events.metadata("KXPRES-24")
print(md.tags, md.category)

EventMetadata carries tags, categories, and other non-trading attributes.

Reference

kalshi.resources.events.EventsResource

EventsResource(transport: SyncTransport)

Bases: SyncResource

Sync events API.

kalshi.resources.events.AsyncEventsResource

AsyncEventsResource(transport: AsyncTransport)

Bases: AsyncResource

Async events API.