> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise.predexon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FIFA World Cup Live Games

> List FIFA World Cup game display data with Polymarket identifiers and live-state fields

## Overview

Returns FIFA World Cup game-level display data for games covered by Predexon.

This endpoint is for building an Explore or live-games page. It returns one object per FIFA World Cup game, including Polymarket-native identifiers, teams, scheduled start, display metadata, current live-state fields, and nested game-winner markets.

<Info>
  This is a REST discovery endpoint. Use the [FIFA World Cup WebSocket](/api-reference/sports/fifa-world-cup-websocket) for live streaming updates.
</Info>

<Info>
  `status=live` returns currently live covered FIFA World Cup games. If no covered game is live at request time, the response is a successful empty `games` array.
</Info>

## Endpoint

```text theme={null}
GET https://api.predexon.com/v2/sports/fifa-world-cup/live-games
```

## Query Parameters

| Param                   | Type   | Default | Description                                                                                                      |
| ----------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------- |
| `status`                | string | `live`  | Filter returned games. One of `live`, `upcoming`, `ended`, or `all`.                                             |
| `mock`                  | string | —       | Optional synthetic live-state overlay for testing. One of `live` or `final`. Do not combine with `status`.       |
| `limit`                 | int    | `100`   | Maximum games to return. Range: 1-200.                                                                           |
| `pagination_key`        | string | —       | Cursor returned from the previous response. Omit on the first request.                                           |
| `event_types`           | string | —       | Optional comma-separated event-type filter for `significant_events[]`, e.g. `score_change,red_card,yellow_card`. |
| `max_ended_age_seconds` | int    | —       | Return only completed games whose `ended_at` is not older than this many seconds.                                |

## Status Filters

| Status     | Description                                                                                                |
| ---------- | ---------------------------------------------------------------------------------------------------------- |
| `live`     | Games currently marked live. Returns `games: []` when no covered FIFA World Cup game is live.              |
| `upcoming` | Scheduled games that have not started or ended. Useful for display/testing before the tournament begins.   |
| `ended`    | Completed games. A completed game has `ended: true`, usually `status: "final"`, and a non-null `ended_at`. |
| `all`      | All FIFA World Cup games currently covered by Predexon, including scheduled, live, and completed games.    |

## Example Requests

Current live games:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=live&limit=20" \
  --header "x-api-key: YOUR_DATA_KEY"
```

Upcoming games:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=upcoming&limit=10" \
  --header "x-api-key: YOUR_DATA_KEY"
```

Next page:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=upcoming&limit=10&pagination_key=eyJyb..." \
  --header "x-api-key: YOUR_DATA_KEY"
```

Keep the same `status` value when requesting the next page.

Mock live game state:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?mock=live&limit=3" \
  --header "x-api-key: YOUR_DATA_KEY"
```

Mock final game state:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?mock=final&limit=3" \
  --header "x-api-key: YOUR_DATA_KEY"
```

When `mock` is provided, the endpoint uses real FIFA game, team, icon, identifier, and market metadata, then overlays deterministic synthetic live-state fields. This is intended for integration testing before any FIFA World Cup games are live.

Mock responses include the same response shape as normal responses, plus top-level `mock: true` and `mock_scenario`.

`mock` is mutually exclusive with `status`. Use `status=live|upcoming|ended|all` for real data, or `mock=live|final` for test data.

Filter key incidents:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=all&event_types=score_change,red_card,yellow_card" \
  --header "x-api-key: YOUR_DATA_KEY"
```

Completed games:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=ended&limit=20" \
  --header "x-api-key: YOUR_DATA_KEY"
```

Completed games that ended within the last hour:

```bash theme={null}
curl --request GET \
  --url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=ended&max_ended_age_seconds=3600" \
  --header "x-api-key: YOUR_DATA_KEY"
```

When `max_ended_age_seconds` is supplied, the returned `games[]` are completed games only. For example, `status=all&max_ended_age_seconds=3600` returns only games with `ended: true` and an `ended_at` within the last hour.

## Response Shape

```json theme={null}
{
  "games": [
    {
      "polymarket_event_id": "351715",
      "polymarket_game_id": "90086908",
      "polymarket_slug": "fifwc-mex-rsa-2026-06-11",
      "ticker": "fifwc-mex-rsa-2026-06-11",
      "sport": "soccer",
      "league": "fifwc",
      "title": "Mexico vs. South Africa",
      "description": "This event is for the upcoming FIFA World Cup game...",
      "image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
      "icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
      "scheduled_start": "2026-06-11T19:00:00Z",
      "active": true,
      "closed": false,
      "home_team": {
        "code": "mex",
        "name": "Mexico",
        "icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/mx.png",
        "color": "#107051"
      },
      "away_team": {
        "code": "rsa",
        "name": "South Africa",
        "icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/za.png",
        "color": "#10704b"
      },
      "status": "scheduled",
      "status_text": "Scheduled",
      "live": false,
      "ended": false,
      "period": null,
      "clock": null,
      "score": {
        "home": 0,
        "away": 0,
        "display": "0-0"
      },
      "penalty_score": null,
      "winner": null,
      "ended_at": null,
      "last_play": null,
      "significant_events": [],
      "updated_at": null,
      "markets": [
        {
          "polymarket_market_id": "1897034",
          "condition_id": "0x4cd77d456c83e7d8c569a8fb8f6396c3f40154f657e6d970733e2b1b6a7110ff",
          "market_slug": "fifwc-mex-rsa-2026-06-11-mex",
          "question": "Will Mexico win on 2026-06-11?",
          "description": "In the upcoming game, scheduled for June 11, 2026...",
          "selection_label": "Mexico",
          "sports_market_type": "moneyline",
          "status": "open",
          "outcomes": [
            {
              "label": "Yes",
              "price": 0.66
            },
            {
              "label": "No",
              "price": 0.34
            }
          ]
        }
      ]
    }
  ],
  "pagination": {
    "limit": 20,
    "has_more": true,
    "pagination_key": "eyJyb..."
  },
  "updated_at": "2026-05-20T21:55:12.360662Z"
}
```

No games currently live:

```json theme={null}
{
  "games": [],
  "pagination": {
    "limit": 20,
    "has_more": false,
    "pagination_key": null
  },
  "updated_at": "2026-05-20T21:55:12.353331Z"
}
```

## Response Fields

| Field                  | Type    | Description                                                                                                 |
| ---------------------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| `polymarket_event_id`  | string  | Polymarket Gamma event ID for the game.                                                                     |
| `polymarket_game_id`   | string  | Polymarket sports game ID.                                                                                  |
| `polymarket_slug`      | string  | Polymarket event slug.                                                                                      |
| `ticker`               | string  | Polymarket event ticker/slug.                                                                               |
| `sport`                | string  | Always `soccer` for this endpoint.                                                                          |
| `league`               | string  | Always `fifwc` for this endpoint.                                                                           |
| `title`                | string  | Display title.                                                                                              |
| `description`          | string  | Event-level description.                                                                                    |
| `image`                | string  | Event image URL.                                                                                            |
| `icon`                 | string  | Event icon URL.                                                                                             |
| `scheduled_start`      | string  | Scheduled kickoff timestamp.                                                                                |
| `home_team`            | object  | Home team code, name, icon URL, and display color from Polymarket event team metadata.                      |
| `away_team`            | object  | Away team code, name, icon URL, and display color from Polymarket event team metadata.                      |
| `status`               | string  | Current game-state status, e.g. `scheduled`, `in_progress`, `final`.                                        |
| `status_text`          | string? | Display status when available.                                                                              |
| `live`                 | boolean | Whether the game is live.                                                                                   |
| `ended`                | boolean | Whether the match has concluded. A concluded match usually has `status: "final"` and a non-null `ended_at`. |
| `period`               | string? | Current period/half when live data is available.                                                            |
| `clock`                | string? | Game clock when live data is available.                                                                     |
| `score`                | object  | Home/away/display score. Defaults to `0-0` before live data is available.                                   |
| `penalty_score`        | object? | Penalty shootout score when the game is in or finished after a penalty shootout. `null` otherwise.          |
| `winner`               | string? | Winner value when game is final and available.                                                              |
| `ended_at`             | string? | Observed game completion timestamp when the game has ended. `null` before completion.                       |
| `last_play`            | object? | Latest notable play when available.                                                                         |
| `significant_events[]` | array   | Key incident list when available. Empty when no incidents are available.                                    |
| `markets[]`            | array   | Nested Polymarket moneyline markets for the game.                                                           |

## Period and Clock

For FIFA World Cup game state, `period` is a normalized soccer match phase.

| Value    | Meaning                                            |
| -------- | -------------------------------------------------- |
| `null`   | Scheduled/not started, or no period available yet. |
| `1H`     | First half.                                        |
| `HT`     | Half time.                                         |
| `2H`     | Second half.                                       |
| `WET`    | Waiting for extra time.                            |
| `ET1`    | Extra time first half.                             |
| `HT ET`  | Extra time half time.                              |
| `ET2`    | Extra time second half.                            |
| `FT`     | Full time.                                         |
| `FT ET`  | Full time after extra time.                        |
| `WPE`    | Waiting for penalty shootout.                      |
| `PEN`    | Penalty shootout.                                  |
| `FT PEN` | Full time after penalty shootout.                  |
| `INT`    | Interrupted.                                       |
| `SUSP`   | Suspended.                                         |
| `ABD`    | Abandoned.                                         |
| `CANC`   | Canceled or coverage canceled.                     |
| `POSTP`  | Postponed.                                         |

`clock` is a display clock for elapsed match time. It counts upward, not downward. It is minute-level, not second-level, and is formatted as values such as `18'`, `45+3'`, `67'`, or `120+1'`.

`clock` can be `null` during scheduled, half-time, full-time, waiting, penalty-shootout, canceled, postponed, abandoned, suspended, or interrupted states.

The endpoint currently exposes the overall scheduled kickoff as `scheduled_start`. It does not expose separate first-half, second-half, extra-time, or penalty-shootout start timestamps. Clients should use `period`, `status_text`, `clock`, `updated_at`, and `significant_events[]` for phase display.

## Penalty Shootouts

Penalty shootout score is separate from regular match score:

```json theme={null}
{
  "period": "PEN",
  "status_text": "Penalty Shootout",
  "score": {
    "home": 3,
    "away": 3,
    "display": "3-3"
  },
  "penalty_score": {
    "home": 4,
    "away": 2,
    "display": "4-2"
  }
}
```

For final games after penalties, `score` remains the match score and `penalty_score` shows the shootout result:

```json theme={null}
{
  "status": "final",
  "status_text": "Full Time (Penalties)",
  "period": "FT PEN",
  "score": {
    "home": 3,
    "away": 3,
    "display": "3-3"
  },
  "penalty_score": {
    "home": 4,
    "away": 2,
    "display": "4-2"
  },
  "winner": "home"
}
```

`penalty_score` is display metadata for the game state. Market resolution still follows each market's rules.

## Significant Events

`significant_events[]` contains normalized key incidents for the game when available. It is intended for display-level incidents such as goals, cards, substitutions, penalties, and game-end events, not every low-level stat.

`last_play` is the latest notable play for display. When present, it maps to the most recent item in `significant_events[]`.

`last_play` can be `null` when no notable incident has happened yet, or when the live data source has not supplied a latest notable play for that game at that time. This does not mean the field is under development.

Use `event_types` to narrow the returned `significant_events[]` array. If omitted, all available event types are returned.

Common event types:

| Type                    | Description                                                        |
| ----------------------- | ------------------------------------------------------------------ |
| `score_change`          | Goal or other score-changing event.                                |
| `yellow_card`           | Yellow card.                                                       |
| `red_card`              | Red card.                                                          |
| `substitution`          | Player substitution.                                               |
| `penalty`               | Penalty awarded or source-supplied generic penalty event.          |
| `missed_penalty`        | Missed penalty during regular or extra-time play.                  |
| `penalty_shootout_goal` | Successful penalty in a penalty shootout.                          |
| `penalty_shootout_miss` | Missed penalty in a penalty shootout.                              |
| `period_start`          | Start of a half or period.                                         |
| `period_end`            | End of a half or period.                                           |
| `game_start`            | Game started.                                                      |
| `game_end`              | Game ended or final status reached.                                |
| `delay`                 | Game delayed or suspended.                                         |
| `cancellation`          | Game canceled or postponed.                                        |
| `other`                 | Key incident that does not map cleanly to another normalized type. |

## Pagination

Responses include cursor pagination:

| Field                       | Type    | Description                                             |
| --------------------------- | ------- | ------------------------------------------------------- |
| `pagination.limit`          | int     | Requested page size.                                    |
| `pagination.has_more`       | boolean | Whether another page is available.                      |
| `pagination.pagination_key` | string? | Cursor to pass as `pagination_key` on the next request. |

## Market Fields

| Field                  | Type   | Description                                               |
| ---------------------- | ------ | --------------------------------------------------------- |
| `polymarket_market_id` | string | Polymarket market ID.                                     |
| `condition_id`         | string | Polymarket condition ID.                                  |
| `market_slug`          | string | Polymarket market slug.                                   |
| `question`             | string | Market question.                                          |
| `description`          | string | Market-level description.                                 |
| `selection_label`      | string | Game selection, e.g. `Mexico`, `South Africa`, or `Draw`. |
| `sports_market_type`   | string | Currently `moneyline`.                                    |
| `outcomes[].label`     | string | Outcome label, usually `Yes` or `No`.                     |
| `outcomes[].price`     | number | Current outcome price when available.                     |

<Warning>
  This endpoint is display/discovery focused. It intentionally does not expose Polymarket CLOB token IDs, Predexon routing IDs, volume, or liquidity.
</Warning>


## OpenAPI

````yaml GET /v2/sports/fifa-world-cup/live-games
openapi: 3.1.0
info:
  title: Predexon Enterprise API
  description: Unified cross-venue prediction market discovery
  version: 1.0.0
servers:
  - url: https://api.predexon.com
security:
  - apiKey: []
paths:
  /v2/sports/fifa-world-cup/live-games:
    get:
      tags:
        - sports
      summary: FIFA World Cup Live Games
      description: >-
        List FIFA World Cup game-level display data with Polymarket identifiers,
        live-state fields, and nested moneyline markets.
      operationId: list_fifa_world_cup_live_games_v2_sports_fifa_world_cup_live_games_get
      parameters:
        - name: status
          in: query
          required: false
          schema:
            type: string
            default: live
            enum:
              - live
              - upcoming
              - ended
              - all
          description: >-
            Filter returned games. Use live for currently live games, upcoming
            for scheduled games, ended for completed games, or all for all
            covered FIFA World Cup games.
        - name: mock
          in: query
          required: false
          schema:
            type: string
            enum:
              - live
              - final
          description: >-
            Optional deterministic mock live-state overlay for integration
            testing before FIFA games are live. Mutually exclusive with status.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 200
          description: Max games to return.
        - name: pagination_key
          in: query
          required: false
          schema:
            type: string
          description: >-
            Cursor returned from the previous response. Omit on the first
            request.
        - name: event_types
          in: query
          required: false
          schema:
            type: string
          description: >-
            Optional comma-separated event-type filter for significant_events,
            e.g. score_change,red_card,yellow_card.
        - name: max_ended_age_seconds
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
          description: >-
            Return only completed games whose ended_at is not older than this
            many seconds.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema: {}
              example:
                games:
                  - polymarket_event_id: '351715'
                    polymarket_game_id: '90086908'
                    polymarket_slug: fifwc-mex-rsa-2026-06-11
                    ticker: fifwc-mex-rsa-2026-06-11
                    sport: soccer
                    league: fifwc
                    title: Mexico vs. South Africa
                    description: >-
                      This event is for the upcoming FIFA World Cup game,
                      scheduled for Thursday, June 11, 2026 between Mexico and
                      South Africa.
                    image: >-
                      https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer
                      ball-bba4025f77.png
                    icon: >-
                      https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer
                      ball-bba4025f77.png
                    scheduled_start: '2026-06-11T19:00:00Z'
                    active: true
                    closed: false
                    home_team:
                      code: mex
                      name: Mexico
                      icon: >-
                        https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/mx.png
                      color: '#107051'
                    away_team:
                      code: rsa
                      name: South Africa
                      icon: >-
                        https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/za.png
                      color: '#10704b'
                    status: scheduled
                    status_text: Scheduled
                    live: false
                    ended: false
                    period: null
                    clock: null
                    score:
                      home: 0
                      away: 0
                      display: 0-0
                    winner: null
                    ended_at: null
                    last_play: null
                    significant_events: []
                    updated_at: null
                    markets:
                      - polymarket_market_id: '1897034'
                        condition_id: >-
                          0x4cd77d456c83e7d8c569a8fb8f6396c3f40154f657e6d970733e2b1b6a7110ff
                        market_slug: fifwc-mex-rsa-2026-06-11-mex
                        question: Will Mexico win on 2026-06-11?
                        description: In the upcoming game, scheduled for June 11, 2026...
                        selection_label: Mexico
                        sports_market_type: moneyline
                        status: open
                        outcomes:
                          - label: 'Yes'
                            price: 0.66
                          - label: 'No'
                            price: 0.34
                pagination:
                  limit: 20
                  has_more: true
                  pagination_key: eyJyb...
                updated_at: '2026-05-20T21:55:12.360662Z'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - apiKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Data key provided by Predexon. The trading key used by the Order Router
        on trade.predexon.com is a separate credential.

````