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 field | Type | Description |
|---|---|---|
include_connectors | bool | also report upstream connector reachability |
curl -X POST https://api.machina.gg/world-cup/v1/health \
-H "X-Api-Token: $KEY" -H "Content-Type: application/json" -d '{}'{ "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 field | Type | Description |
|---|---|---|
team | string | filter by team name (e.g. "Brazil") |
opponent | string | filter by opponent name |
date_from | string | ISO date lower bound (YYYY-MM-DD) |
date_to | string | ISO date upper bound (YYYY-MM-DD) |
status | string | fixture status ("ns" not started, "finished", …) |
limit | int | max fixtures returned (default 20) |
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 field | Type | Description |
|---|---|---|
id | string | provider id (e.g. "sr:competitor:4715") or a name ("Vinicius Jr", "Brazil vs Morocco") |
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 field | Type | Description |
|---|---|---|
event | string | natural fixture description ("Brazil vs Morocco") |
event_urn | string | canonical URN (preferred when known) |
team / opponent | string | alternative to event |
date | string | YYYY-MM-DD, disambiguates rematches |
provider_event_id | string | a provider's raw event id (auto-resolved) |
include_prematch_research | bool | add grounded pre-match research |
include_social_pulse | bool | add 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 field | Type | Description |
|---|---|---|
event_urn | string | return the group(s) relevant to this fixture |
league | string | league/competition (default: World Cup) |
season | string | season filter |
get-squads
POST /get-squads · data (1 credit)
Both squads for a fixture (home and away rosters).
| Body field | Type | Description |
|---|---|---|
event_urn | string | the fixture URN |
provider_event_id | string | a provider's raw event id (auto-resolved) |
get-injuries
POST /get-injuries · data (1 credit)
Injury report for a fixture's two teams.
| Body field | Type | Description |
|---|---|---|
event_urn | string | the fixture URN |
provider_event_id | string | a 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 field | Type | Description |
|---|---|---|
event_urn | string | the fixture URN |
player_id | string | scope to one player |
team_id | string | scope to one team |

