Skip to content

Match & context

The data tier: discovery, identity resolution and fixture context. Every endpoint here costs 1 credit (except /health, which is free).

health

POST /health · free (0 credits)

Whoami/smoke check — verifies your key and the product surface without spending anything. Call it first in every integration.

Body fieldTypeDescription
include_connectorsboolalso report upstream connector reachability
bash
curl -X POST https://api.machina.gg/world-cup/v1/health \
  -H "X-Api-Token: $KEY" -H "Content-Type: application/json" -d '{}'
json
{ "data": { "product": "world_cup_market_intelligence", "store_reachable": true, "version": "0.1.0" } }

get-schedule

POST /get-schedule · data (1 credit)

Tournament fixtures with their event_urn — the discovery primitive every per-fixture endpoint builds on.

Body fieldTypeDescription
teamstringfilter by team name (e.g. "Brazil")
opponentstringfilter by opponent name
date_fromstringISO date lower bound (YYYY-MM-DD)
date_tostringISO date upper bound (YYYY-MM-DD)
statusstringfixture status ("ns" not started, "finished", …)
limitintmax fixtures returned (default 20)
bash
curl -X POST https://api.machina.gg/world-cup/v1/get-schedule \
  -H "X-Api-Token: $KEY" -H "Content-Type: application/json" \
  -d '{"team": "Brazil", "limit": 3}'

Response: data.schedule.events[] with name, event_urn, start_date, venue, status, teams[] (name, qualifier, crest) and competition.

resolve

POST /resolve · data (1 credit)

Resolves any provider id or free-text name (team, player, fixture) to the canonical Machina entity and URN via the identity crosswalk — Sportradar, Opta, api-football ids and plain names all work.

Body fieldTypeDescription
idstringprovider id (e.g. "sr:competitor:4715") or a name ("Vinicius Jr", "Brazil vs Morocco")
bash
curl -X POST https://api.machina.gg/world-cup/v1/resolve \
  -H "X-Api-Token: $KEY" -H "Content-Type: application/json" \
  -d '{"id": "Vinicius Jr"}'

get-event-context

POST /get-event-context · data (1 credit)

Enriched single-fixture context: form, group standings slice, injuries — optionally with grounded pre-match research and a social-sentiment slice.

Body fieldTypeDescription
eventstringnatural fixture description ("Brazil vs Morocco")
event_urnstringcanonical URN (preferred when known)
team / opponentstringalternative to event
datestringYYYY-MM-DD, disambiguates rematches
provider_event_idstringa provider's raw event id (auto-resolved)
include_prematch_researchbooladd grounded pre-match research
include_social_pulsebooladd a social sentiment slice

get-standings

POST /get-standings · data (1 credit)

Group standings — scoped to a fixture's group (via event_urn) or to the league/season.

Body fieldTypeDescription
event_urnstringreturn the group(s) relevant to this fixture
leaguestringleague/competition (default: World Cup)
seasonstringseason filter

get-squads

POST /get-squads · data (1 credit)

Both squads for a fixture (home and away rosters).

Body fieldTypeDescription
event_urnstringthe fixture URN
provider_event_idstringa provider's raw event id (auto-resolved)

get-injuries

POST /get-injuries · data (1 credit)

Injury report for a fixture's two teams.

Body fieldTypeDescription
event_urnstringthe fixture URN
provider_event_idstringa provider's raw event id (auto-resolved)

get-player-performance-context

POST /get-player-performance-context · data (1 credit)

Normalized per-player performance context for a fixture — stats, provisional performance signals and FIFA power-ranking context.

Body fieldTypeDescription
event_urnstringthe fixture URN
player_idstringscope to one player
team_idstringscope to one team