v56

latestOpenAPI 3.0.0raw.githubusercontent.com2026-07-215245616.9 KB
Hosted

Event Matches

Find the same or related event on other venues. Two modes: Lookup mode (eventId/slug provided): Given an event on one venue, discover semantically equivalent events across every other venue PMXT ingests. Browse mode (no identifier): Returns all matched event pairs from the catalog. Supports query and category params for filtering.

get/api/router/fetchEventMatches

Query parameters

querystring

Keyword search across matched event titles.

categorystring

Filter matches by category.

idstring required

The unique identifier for this event.

titlestring required

The event title (e.g., "Who will be Fed Chair?").

descriptionstring required

Long-form event description.

slugstring required

URL-friendly slug for the event.

volume24hnumber required

Trading volume over the past 24 hours (USD).

volumenumber

Total / Lifetime volume (sum across markets; undefined if no market provides it)

urlstring required

Canonical URL to view the event on the venue.

imagestring

Optional image URL for the event.

categorystring

Optional category label. Venue-defined — common values include "Sports", "Politics", "Crypto", "Economics", "Science", "Culture". Polymarket uses finer-grained categories like "Bitcoin", "Soccer", "Economic Policy"; Kalshi uses broader ones like "Sports" or "Mentions".

tagsstring[]

Optional list of tags. More granular than category — e.g. ["Sports", "FIFA World Cup", "2026 FIFA World Cup"] or ["Politics", "Geopolitics", "Middle East"]. Tags vary by venue: Polymarket markets carry several, Kalshi typically one.

sourceMetadataobject

Raw venue-specific metadata not captured by first-class fields (e.g. Kalshi series_ticker / series_title, Polymarket series). Passed through verbatim so downstream consumers can recover anything the unified shape omits. Each venue populates what it has.

sourceExchangestring

The exchange/venue this event originates from (e.g. 'polymarket', 'kalshi'). Populated by the Router.

Pass a UnifiedEvent directly instead of eventId/slug.

eventIdstring

Lookup a specific event by ID. Omit for browse mode.

slugstring
relation'identity' | 'complement' | 'subset' | 'superset' | 'overlap' | 'disjoint'
minConfidencenumber
limitnumber
includePricesboolean

Response

Event Matches response

successboolean

Example response

{
  "success": true
}