curl --request GET \
--url https://api.rook.pm/v1/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"event_id": "evt_pm_900001",
"title": "Fed rate cut — December 2026",
"description": "Illustrative source event containing the cut market. The related hold market belongs to another original venue event.",
"category": "rates",
"status": "OPEN",
"market_ids": [
"mkt_fed_dec_2026_cut"
],
"family_ids": [
"fam_fed_dec_2026"
],
"observed_at": "2026-10-19T12:00:00Z",
"venue": "polymarket",
"venue_event_id": "900001"
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}List events
Find the venue events that contain markets you want to inspect. Browse by keyword, venue, category or family; for an exact native lookup, supply venue and venue_event_id. For example, venue=polymarket&venue_event_id=900001 looks up a numeric Polymarket event ID. Use event_id instead when you already have its Rook ID.
Each item returns the Rook event_id, venue, original venue_event_id, source title, market_ids and family_ids. Events preserve the venue’s grouping: Rook never merges related venue events or creates an event from analytically related markets. A family can connect several events without changing them.
The response always uses items; an exact lookup returns zero or one event. Follow market_ids to /markets, or family_ids to /families to discover the broader group across events. Other filters narrow results, and pagination preserves the search snapshot.
curl --request GET \
--url https://api.rook.pm/v1/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"event_id": "evt_pm_900001",
"title": "Fed rate cut — December 2026",
"description": "Illustrative source event containing the cut market. The related hold market belongs to another original venue event.",
"category": "rates",
"status": "OPEN",
"market_ids": [
"mkt_fed_dec_2026_cut"
],
"family_ids": [
"fam_fed_dec_2026"
],
"observed_at": "2026-10-19T12:00:00Z",
"venue": "polymarket",
"venue_event_id": "900001"
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}Examples
GET /v1/events
GET /v1/events?event_id=evt_pm_900001
GET /v1/events?q=Fed%20rate%20cut&page_size=5
GET /v1/events?category=rates&page_size=20
items, next_page_token, snapshot_id and as_of. An ID lookup returns zero or one item with its full details. No match returns an empty items array.
Use q to search titles, descriptions and tags by words. Results are ordered by relevance. page_size sets the maximum results per page; use next_page_token to continue. Other filters, such as category or venue, narrow the search.
GET /v1/events?venue=polymarket&venue_event_id=900001
family_ids. Native IDs use exact decimal text in JSON. Do not combine native and Rook ID selectors.Authorizations
Proposed server-to-server API key. No client request HMAC signing scheme is specified.
Headers
Caller correlation reference; not an idempotency guarantee.
Query Parameters
Rook ID for one original venue event. Its identity is scoped to venue and venue_event_id; related events remain separate. Omit to browse. Exact lookup retains the items envelope.
1Original venue event ID. For Polymarket this is its numeric Gamma event ID, encoded as decimal text. It is not a market ID.
1Rook family ID connecting related markets across original venue events. Omit to browse. Exact lookup retains the items envelope.
1Search titles, descriptions and tags by words, ignoring letter case. Results are ordered by relevance with stable ID tie-breaking. Other filters narrow the matches.
1Exact category label used by the catalog, for example rates. Narrows search results.
Venue identifier, such as polymarket or kalshi. Required when looking up a venue-native ID; never inferred from the ID.
Filter by the resource lifecycle status. This does not indicate analytical coverage or feed freshness.
OPEN, CLOSED, RESOLVED, UNKNOWN Requested maximum items; service caps disclosed by coverage. Oversize requests fail explicitly.
x >= 1Opaque continuation; reuse the same filters/order. Cursor pins the original snapshot.