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

# Get a game's markets

> One game's markets of one type, **not paginated**: the game page's data source. Each tab in the game's `filters` (from `GET /prediction_markets/{id}`) says what to send.

The response shape depends on `group_by`:

- **Without `group_by`**: `data` is the game's market groups of that type. For `player_prop`, one group per player; for `gameline`, the game's gameline group as `GET /prediction_markets/{id}` returns it.
- **`group_by=prop_type`** (player props only): `data` is one section per prop type, in the league's display order, each with the top 10 players and `has_more` when the rest are paged by the listing. Team first touchdown is split into one section per team, titled `First touchdown for <alias>`, away team first.
- **`group_by=market_type`** (game lines only): `data` is one section per market type, in order `Win by` (`spread`), `Totals` (`total`), `Winner` (`moneyline`). The lead of each section is the summary card's pick, so the card can be drawn from `data[].markets[0]` alone. Spread and total leads carry the whole ladder in `alternate_lines`, ordered by `line` ascending, lead included.

Every spread line carries both teams: the away team at `line` on the YES side and the home team at the inverse on the NO side. Buying the home team is buying NO on that line's `id`.

`group_by=prop_type`, `prop_type` or `team_id` with `type=gameline` is a `400`, as is `group_by=market_type` with `type=player_prop`.

Cached for 5 seconds.



## OpenAPI

````yaml /predictions/openapi.json get /events/{event_id}/details
openapi: 3.1.0
info:
  title: Splash Predictions API
  version: 1.0.0
  description: >-
    Public, read-only endpoints for browsing Splash prediction markets: leagues,
    games, game lines, futures and player props. No authentication is required
    for any endpoint in this reference.
servers:
  - url: https://api.splashsports.com/predictions-service/api
    description: Production
security: []
tags:
  - name: Discover
    description: The home feed.
  - name: Sub-categories
    description: Leagues, their availability and their tabs.
  - name: Markets
    description: Market group listings and single groups.
  - name: Events
    description: One game's markets, shaped for the game page.
paths:
  /events/{event_id}/details:
    get:
      tags:
        - Events
      summary: Get a game's markets
      description: >-
        One game's markets of one type, **not paginated**: the game page's data
        source. Each tab in the game's `filters` (from `GET
        /prediction_markets/{id}`) says what to send.


        The response shape depends on `group_by`:


        - **Without `group_by`**: `data` is the game's market groups of that
        type. For `player_prop`, one group per player; for `gameline`, the
        game's gameline group as `GET /prediction_markets/{id}` returns it.

        - **`group_by=prop_type`** (player props only): `data` is one section
        per prop type, in the league's display order, each with the top 10
        players and `has_more` when the rest are paged by the listing. Team
        first touchdown is split into one section per team, titled `First
        touchdown for <alias>`, away team first.

        - **`group_by=market_type`** (game lines only): `data` is one section
        per market type, in order `Win by` (`spread`), `Totals` (`total`),
        `Winner` (`moneyline`). The lead of each section is the summary card's
        pick, so the card can be drawn from `data[].markets[0]` alone. Spread
        and total leads carry the whole ladder in `alternate_lines`, ordered by
        `line` ascending, lead included.


        Every spread line carries both teams: the away team at `line` on the YES
        side and the home team at the inverse on the NO side. Buying the home
        team is buying NO on that line's `id`.


        `group_by=prop_type`, `prop_type` or `team_id` with `type=gameline` is a
        `400`, as is `group_by=market_type` with `type=player_prop`.


        Cached for 5 seconds.
      operationId: getEventDetails
      parameters:
        - name: event_id
          in: path
          required: true
          description: 'The game: a market group''s `event_id`.'
          schema:
            type: string
        - name: type
          in: query
          required: true
          description: Which markets.
          schema:
            type: string
            enum:
              - gameline
              - player_prop
        - name: group_by
          in: query
          description: >-
            `prop_type` returns player props as sections, one per prop type
            (with `type=player_prop` only). `market_type` returns game lines as
            sections, one per market type (with `type=gameline` only). See
            [Grouping](/predictions/enums#grouping-group_by).
          schema:
            type: string
            enum:
              - prop_type
              - market_type
        - $ref: '#/components/parameters/PropTypeQuery'
        - name: entity_id
          in: query
          description: >-
            One player. A game line has no player, so `type=gameline` with
            `entity_id` returns `data: []`.
          schema:
            type: string
        - name: team_id
          in: query
          description: >-
            Only players on this team, e.g. one team's first touchdown section.
            Player props only.
          schema:
            type: string
        - $ref: '#/components/parameters/StatusQueryActiveDefault'
      responses:
        '200':
          description: The game's markets, shaped by `group_by`.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/EventMarketGroupsResponse'
                  - $ref: '#/components/schemas/EventPlayerPropSectionsResponse'
                  - $ref: '#/components/schemas/EventGamelineSectionsResponse'
              examples:
                propSections:
                  summary: group_by=prop_type
                  value:
                    data:
                      - prop_type: touchdowns
                        title: Anytime TD
                        has_more: true
                        total: 14
                        markets: []
                      - prop_type: team_first_touchdown
                        team_id: team_jax
                        title: First touchdown for JAX
                        has_more: false
                        total: 7
                        markets: []
                    included:
                      events: []
                      teams: []
                      entities: []
                      sub_categories: []
                    status: success
                gamelineSections:
                  summary: group_by=market_type
                  value:
                    data:
                      - market_type: spread
                        title: Win by
                        markets: []
                      - market_type: total
                        title: Totals
                        markets: []
                      - market_type: moneyline
                        title: Winner
                        markets: []
                    included:
                      events: []
                      teams: []
                      entities: []
                      sub_categories: []
                    status: success
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    PropTypeQuery:
      name: prop_type
      in: query
      description: >-
        Comma-separated player prop types, from a Player Props filter's `types`.
        Returns only those types and implies `type=player_prop` when `type` is
        omitted. The values are per league; a game's tabs say which it carries.


        - Football: `touchdowns`, `first_touchdown`, `team_first_touchdown`,
        `passing_yards`, `passing_touchdowns`, `passing_completions`,
        `passing_attempts`, `interceptions_thrown`, `most_passing_yards`,
        `receiving_yards`, `receptions`, `longest_reception`, `rushing_yards`,
        `rushing_attempts`, `scrimmage_yards`, `fantasy_points_ppr`

        - Basketball: `points`, `rebounds`, `assists`,
        `points_rebounds_assists`, `three_points_made`, `steals`, `blocks`,
        `double_double`

        - Hockey: `goals`, `assists`, `points`

        - Baseball: `hits`, `total_bases`, `hits_runs_rbis`, `home_runs`,
        `rbis`, `stolen_bases`, `strikeouts`, `outs`, `earned_runs_allowed`,
        `hits_allowed`, `walks_allowed`

        - Soccer: `goals`, `assists`, `goals_plus_assists`, `first_goal`


        Full table with display titles: [Player prop
        types](/predictions/enums#player-prop-types-prop_type).
      schema:
        type: string
        example: touchdowns,first_touchdown
    StatusQueryActiveDefault:
      name: status
      in: query
      description: >-
        Comma-separated subset of `active`, `settled`, `expired`. **Omitted =
        `active` only.** An empty value or a value outside the list is a `400`.
        See [Market statuses](/predictions/enums#market-statuses-status).
      schema:
        type: string
        example: active,settled
  schemas:
    EventMarketGroupsResponse:
      type: object
      title: Without group_by
      required:
        - data
        - included
        - status
      properties:
        data:
          type: array
          description: The game's groups of the requested type, all of them.
          items:
            $ref: '#/components/schemas/MarketGroup'
        included:
          $ref: '#/components/schemas/Included'
        status:
          type: string
          const: success
    EventPlayerPropSectionsResponse:
      type: object
      title: group_by=prop_type
      required:
        - data
        - included
        - status
      properties:
        data:
          type: array
          description: >-
            One section per prop type, in the league's display order. An empty
            section is dropped.
          items:
            $ref: '#/components/schemas/PlayerPropSection'
        included:
          $ref: '#/components/schemas/Included'
          description: '`entities` holds only the players shown.'
        status:
          type: string
          const: success
    EventGamelineSectionsResponse:
      type: object
      title: group_by=market_type
      required:
        - data
        - included
        - status
      properties:
        data:
          type: array
          description: >-
            One section per market type, in display order. A game with no
            renderable game line returns `[]`.
          items:
            $ref: '#/components/schemas/GamelineSection'
        included:
          $ref: '#/components/schemas/Included'
        status:
          type: string
          const: success
    MarketGroup:
      title: MarketGroup
      type: object
      description: >-
        A market group. `type` says which kind; each kind has its own page:
        [GamelineMarketGroup](/predictions/types/gameline-market-group),
        [FutureTeamChampionMarketGroup](/predictions/types/future-team-champion-market-group),
        [PlayerPropMarketGroup](/predictions/types/player-prop-market-group).
        Fields marked with a type are present only on that type.
      required:
        - id
        - type
        - markets
      properties:
        id:
          type: string
        type:
          $ref: '#/components/schemas/MarketGroupType'
        sub_category:
          $ref: '#/components/schemas/SubCategoryId'
        event_id:
          type: string
          description: 'Gameline and player prop: the game.'
        event_start:
          type: integer
          format: int64
          description: Gameline and player prop. Epoch milliseconds.
        entity_id:
          type: string
          description: 'Player prop only: the player.'
        team_id:
          type: string
          description: Player prop only.
        title:
          type: string
          description: Future and player prop.
        icon_url:
          type: string
          format: uri
          description: Future and player prop.
        markets:
          type: array
          description: >-
            Gameline: the spread, total and moneyline markets. Future: one
            market per team. Player prop: one lead market per prop type with its
            ladder.
          items:
            $ref: '#/components/schemas/Market'
    Included:
      type: object
      description: >-
        The resources the primary data references. Resolve `event_id`, `team_id`
        and `entity_id` here.
      required:
        - events
        - teams
        - entities
        - sub_categories
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/Game'
        teams:
          type: array
          items:
            $ref: '#/components/schemas/Team'
        entities:
          type: array
          items:
            $ref: '#/components/schemas/Entity'
        sub_categories:
          type: array
          items:
            $ref: '#/components/schemas/IncludedSubCategory'
      title: Included
    PlayerPropSection:
      type: object
      description: >-
        One prop type's section on a game's Player Props tab: a row per player,
        the top 10 by the section's own order. Touchdowns and the one-leg pools
        rank by best YES price, every other ladder by highest lead line.
      required:
        - prop_type
        - title
        - has_more
        - total
        - markets
      properties:
        prop_type:
          $ref: '#/components/schemas/PlayerPropType'
        team_id:
          type: string
          description: >-
            Only on a section split by team (team first touchdown): the players'
            team, for `?team_id=`.
        title:
          type: string
          description: Display-ready heading.
          example: Anytime TD
        has_more:
          type: boolean
          description: >-
            The section has more than 10 players. Page the rest with `GET
            /prediction_markets?event_id=<game>&prop_type=<type>&offset=10`,
            which returns players in the same order.
        total:
          type: integer
          description: >-
            Every player in the section, shown or not. Equals the listing's
            `total` for the same game, prop type and `team_id`.
        markets:
          type: array
          description: >-
            At most 10, one per player: each player's lead line with
            `alternate_lines` when there is more than one.
          items:
            $ref: '#/components/schemas/PlayerPropMarket'
      title: PlayerPropSection
    GamelineSection:
      type: object
      description: >-
        One section of a game's Game lines tab. Sections, in order: `Win by`
        (`spread`), `Totals` (`total`), `Winner` (`moneyline`). A market type
        with nothing to show has no section. Titles are the same in every
        league: a run line or a puck line is still `Win by`.
      required:
        - market_type
        - title
        - markets
      properties:
        market_type:
          type: string
          enum:
            - spread
            - total
            - moneyline
        title:
          type: string
          enum:
            - Win by
            - Totals
            - Winner
        markets:
          type: array
          description: >-
            The lead is the summary card's pick. `Winner` is one two-way market
            for a two-way match, or one leg per team plus the draw for a
            three-way match, ordered away, home, draw.
          items:
            $ref: '#/components/schemas/GamelineMarketWithLines'
      title: GamelineSection
    Error:
      type: object
      required:
        - status
        - error
        - message
      properties:
        status:
          type: string
          const: error
        error:
          type: string
          enum:
            - BAD_REQUEST
            - NOT_FOUND
            - INTERNAL_ERROR
        message:
          type: string
      title: Error
    MarketGroupType:
      type: string
      description: >-
        The kind of market group. `gameline` is one game's spread, total and
        moneyline markets; `future_team_champion` is one title with a market per
        team; `player_prop` is one player in one game.
      enum:
        - gameline
        - future_team_champion
        - player_prop
      title: MarketGroupType
    SubCategoryId:
      type: string
      description: A league id.
      enum:
        - nfl
        - ncaaf
        - nba
        - wnba
        - ncaab
        - mlb
        - nhl
        - epl
        - mls
        - pga
        - wc
      title: SubCategoryId
    Market:
      title: Market
      type: object
      description: >-
        Any market. `type` says which shape it is; each shape has its own page:
        [SpreadMarket](/predictions/types/spread-market),
        [TotalMarket](/predictions/types/total-market),
        [MoneylineMarket](/predictions/types/moneyline-market),
        [FutureTeamChampionMarket](/predictions/types/future-team-champion-market),
        [PlayerPropMarket](/predictions/types/player-prop-market). Fields marked
        with a type are present only on that type.
      required:
        - id
        - title
        - sub_category
        - type
        - price_yes
        - price_no
        - volume
        - liquidity
        - yes_liquidity
        - no_liquidity
        - status
        - updated_at
        - rules
        - market_group_id
        - event_start
        - yes_line_display
        - no_line_display
      properties:
        id:
          type: string
          description: >-
            The market id: the instrument to trade and to follow for price
            updates.
        title:
          type: string
        sub_category:
          $ref: '#/components/schemas/SubCategoryId'
        price_yes:
          $ref: '#/components/schemas/MarketPrice'
        price_no:
          $ref: '#/components/schemas/MarketPrice'
        orderbook:
          $ref: '#/components/schemas/Orderbook'
        volume:
          type: number
          description: Dollars traded, rounded to cents.
        liquidity:
          type: number
          description: Dollars resting in the book, rounded to cents.
        yes_liquidity:
          type: number
        no_liquidity:
          type: number
        last_price_yes:
          type: number
          description: >-
            Last trade as a YES price, 4 decimal places. Absent until the market
            has traded.
        last_price_no:
          type: number
          description: >-
            The NO complement of `last_price_yes`. Absent until the market has
            traded.
        status:
          $ref: '#/components/schemas/MarketStatus'
        result:
          $ref: '#/components/schemas/MarketResult'
        updated_at:
          type: integer
          format: int64
          description: Epoch milliseconds.
        rules:
          type: string
          description: The market's resolution rules.
        market_group_id:
          type: string
        type:
          type: string
          enum:
            - spread
            - total
            - moneyline
            - future_team_champion
            - player_prop
        event_id:
          type: string
          description: All but `future_team_champion`.
        event_start:
          type: integer
          format: int64
          description: Epoch milliseconds.
        line:
          type: number
          description: >-
            Spread, total, and a player prop ladder rung (19.5 for "20+").
            Absent on a moneyline, a future and a pool leg.
        yes_line_display:
          type: string
        no_line_display:
          type: string
        team_id:
          type: string
          description: Spread, moneyline (not a `draw` leg), future and player prop.
        yes_team_id:
          type: string
          description: Spread, and `two_way` moneyline.
        no_team_id:
          type: string
          description: Spread, and `two_way` moneyline.
        moneyline_type:
          type: string
          enum:
            - two_way
            - one_way
            - draw
          description: Moneyline only.
        prop_type:
          $ref: '#/components/schemas/PlayerPropType'
          description: Player prop only.
        prop_type_display:
          type: string
          description: Player prop only. Heading for `prop_type`, e.g. `Anytime TD`.
        entity_id:
          type: string
          description: Player prop only. Resolve through `included.entities`.
        live_stat_key:
          type: string
          description: >-
            Player prop only. Present when a live in-game stat streams for this
            prop type; its value is the key to read from the
            `player-activity-{event_id}-{entity_id}` channel payload.
        live_stat:
          type: number
          description: >-
            Player prop only. The current value of `live_stat_key`. Present
            exactly when `live_stat_key` is.
        alternate_lines:
          type: array
          description: >-
            Player prop only. The whole ladder, this market included. Absent
            when there is a single line.
          items:
            $ref: '#/components/schemas/PlayerPropLine'
    Game:
      type: object
      description: A game (or a golf tournament) referenced by a market's `event_id`.
      required:
        - id
        - name
        - league
        - start_date
        - status
        - state
      properties:
        id:
          type: string
        name:
          type: string
        league:
          $ref: '#/components/schemas/SubCategoryId'
        start_date:
          type: integer
          format: int64
          description: Epoch milliseconds.
        status:
          $ref: '#/components/schemas/GameStatus'
        home:
          $ref: '#/components/schemas/TeamState'
        away:
          $ref: '#/components/schemas/TeamState'
        state:
          $ref: '#/components/schemas/GameState'
      title: Game
    Team:
      type: object
      required:
        - id
        - name
        - league
        - alias
        - market
        - official_logo
      properties:
        id:
          type: string
        name:
          type: string
          example: Jaguars
        league:
          $ref: '#/components/schemas/SubCategoryId'
        alias:
          type: string
          example: JAX
        market:
          type: string
          example: Jacksonville
        primary_color:
          type: string
        secondary_color:
          type: string
        icon_url:
          type: string
          format: uri
          description: >-
            Absent when neither the team's icon nor its league default has been
            uploaded.
        official_logo:
          type: boolean
          description: >-
            Whether `icon_url` is the league's official logo rather than a
            Splash-made one. A custom logo (an NFL helmet) faces one way, so a
            client mirrors it on one side of a matchup; an official logo must
            never be flipped.
      title: Team
    Entity:
      type: object
      description: A player referenced by a market's `entity_id`.
      required:
        - id
        - name
        - league
        - player_details
      properties:
        id:
          type: string
        name:
          type: string
        league:
          $ref: '#/components/schemas/SubCategoryId'
        current_team_id:
          type: string
          description: Absent for PGA.
        player_details:
          $ref: '#/components/schemas/PlayerDetails'
        icon_url:
          type: string
          format: uri
          description: >-
            The player's jersey in their current team's colors with their number
            (no number in MLB).
      title: Entity
    IncludedSubCategory:
      type: object
      description: >-
        A league referenced by an `included` block. Identity only: `active` and
        `filters` describe what is tradeable service-wide, which a list derived
        from one response's resources cannot speak to. Those come from `GET
        /sub_categories`.
      required:
        - id
        - name
        - icon_url
      properties:
        id:
          $ref: '#/components/schemas/SubCategoryId'
        name:
          type: string
          example: Pro Football
        icon_url:
          type: string
          format: uri
      title: IncludedSubCategory
    PlayerPropType:
      type: string
      description: >-
        A player prop category. Full table with display titles and which are
        ladders or pools: [Player prop
        types](/predictions/enums#player-prop-types-prop_type).
      enum:
        - touchdowns
        - receiving_yards
        - receptions
        - rushing_yards
        - passing_yards
        - first_touchdown
        - team_first_touchdown
        - passing_touchdowns
        - fantasy_points_ppr
        - passing_completions
        - passing_attempts
        - rushing_attempts
        - scrimmage_yards
        - longest_reception
        - interceptions_thrown
        - most_passing_yards
        - points
        - rebounds
        - assists
        - points_rebounds_assists
        - three_points_made
        - steals
        - blocks
        - double_double
        - goals
        - goals_plus_assists
        - first_goal
        - hits
        - total_bases
        - hits_runs_rbis
        - home_runs
        - rbis
        - stolen_bases
        - strikeouts
        - outs
        - earned_runs_allowed
        - hits_allowed
        - walks_allowed
      title: PlayerPropType
    PlayerPropMarket:
      allOf:
        - $ref: '#/components/schemas/MarketBase'
        - type: object
          description: One rung of a player's prop ladder, or one leg of a prop pool.
          required:
            - type
            - prop_type
            - prop_type_display
            - event_id
            - event_start
            - entity_id
            - team_id
            - yes_line_display
            - no_line_display
          properties:
            type:
              type: string
              const: player_prop
            prop_type:
              $ref: '#/components/schemas/PlayerPropType'
            prop_type_display:
              type: string
              description: Heading for `prop_type`, e.g. `Anytime TD`.
              example: Anytime TD
            event_id:
              type: string
            event_start:
              type: integer
              format: int64
              description: Epoch milliseconds.
            entity_id:
              type: string
              description: The player. Resolve through `included.entities`.
            team_id:
              type: string
            line:
              type: number
              description: >-
                The half-point strike on a ladder rung (19.5 for "20+"). Absent
                on a pool leg.
            yes_line_display:
              type: string
            no_line_display:
              type: string
            live_stat_key:
              type: string
              description: >-
                Present when a live in-game stat streams for this prop type. Its
                presence tells the client it can subscribe to the
                `player-activity-{event_id}-{entity_id}` channel, and its value
                is the key to read from that payload. Absent for pools and
                fantasy.
            live_stat:
              type: number
              description: >-
                The current value of `live_stat_key`: 0 until the player appears
                in the game, the final figure once it is over. Present exactly
                when `live_stat_key` is.
            alternate_lines:
              type: array
              description: >-
                The whole ladder, this market included, so a line picker renders
                it as-is and matches the selection by `id`. `touchdowns` is
                ordered best YES price first; every other ladder highest line
                first. Absent when there is a single line, as on every pool leg.
              items:
                $ref: '#/components/schemas/PlayerPropLine'
      title: PlayerPropMarket
    GamelineMarketWithLines:
      description: >-
        A row of a game line section: the lead market with, on a spread or
        total, the whole ladder in `alternate_lines`, lead included, ordered by
        `line` ascending. Present only when the ladder has more than one line; a
        moneyline never carries it.
      allOf:
        - $ref: '#/components/schemas/GamelineMarket'
        - type: object
          properties:
            alternate_lines:
              type: array
              items:
                $ref: '#/components/schemas/GamelineLine'
      title: GamelineMarketWithLines
    MarketPrice:
      type: object
      description: >-
        One side's price in every display form. `numeric_price` is the per-share
        price between 0 and 1; the strings are ready to render.
      required:
        - american
        - decimal
        - percentage
        - price
        - numeric_price
      properties:
        american:
          type: string
          description: American odds, e.g. `-150`.
          example: '-150'
        decimal:
          type: string
          description: Decimal odds, e.g. `1.67`.
          example: '1.67'
        percentage:
          type: string
          description: Implied probability, e.g. `60%`.
          example: 60%
        price:
          type: string
          description: The per-share price as a string, e.g. `0.60`.
          example: '0.60'
        numeric_price:
          type: number
          description: The per-share price.
          example: 0.6
      title: MarketPrice
    Orderbook:
      type: object
      description: >-
        The book Splash holds for the market, at most ten levels a side. Present
        only on single-group responses.
      required:
        - bids
        - asks
      properties:
        bids:
          $ref: '#/components/schemas/OrderbookSide'
        asks:
          $ref: '#/components/schemas/OrderbookSide'
      title: Orderbook
    MarketStatus:
      type: string
      description: >-
        `active` is tradeable. `expired` closed without settling. `settled` has
        a `result`.
      enum:
        - active
        - expired
        - settled
      title: MarketStatus
    MarketResult:
      type: string
      description: Present once a market settles.
      enum:
        - 'yes'
        - 'no'
        - scalar
      title: MarketResult
    PlayerPropLine:
      type: object
      description: One rung of a ladder as the line picker shows it.
      required:
        - id
        - yes_line_display
        - no_line_display
        - price_yes
        - price_no
        - yes_liquidity
        - no_liquidity
        - status
        - rules
      properties:
        id:
          type: string
          description: The market to trade and to follow for price updates.
        line:
          type: number
          description: Absent on a pool leg.
        yes_line_display:
          type: string
        no_line_display:
          type: string
        price_yes:
          $ref: '#/components/schemas/MarketPrice'
        price_no:
          $ref: '#/components/schemas/MarketPrice'
        last_price_yes:
          type: number
        last_price_no:
          type: number
        yes_liquidity:
          type: number
        no_liquidity:
          type: number
        status:
          $ref: '#/components/schemas/MarketStatus'
        result:
          $ref: '#/components/schemas/MarketResult'
        rules:
          type: string
      title: PlayerPropLine
    GameStatus:
      type: string
      enum:
        - SCHEDULED
        - IN_PROGRESS
        - FINISHED
        - FINALIZED
        - CANCELED
      title: GameStatus
    TeamState:
      type: object
      description: One side of a game. Which optional fields appear depends on the sport.
      required:
        - id
        - alias
      properties:
        id:
          type: string
          description: Resolve through `included.teams`.
        alias:
          type: string
          example: JAX
        points:
          type: integer
        primary_color:
          type: string
        runs:
          type: integer
          description: Baseball.
        hits:
          type: integer
          description: Baseball.
        errors:
          type: integer
          description: Baseball.
        record:
          $ref: '#/components/schemas/TeamRecord'
      title: TeamState
    GameState:
      type: object
      description: >-
        Live state, shaped by `sport`. Football and basketball carry `clock`,
        `quarter` (or `half` for NCAAB) and `phase`; hockey `period`, `clock`
        and `phase` (`shootout` included); baseball the count, `current_inning`
        and `current_inning_phase`; soccer `home_score`, `away_score`,
        `match_status` and `clock`; golf `rounds`.
      required:
        - sport
        - league
      properties:
        sport:
          type: string
          enum:
            - basketball
            - football
            - hockey
            - baseball
            - golf
            - soccer
        league:
          $ref: '#/components/schemas/SubCategoryId'
        clock:
          type: string
        phase:
          type: string
          enum:
            - pregame
            - regulation
            - overtime
            - shootout
        quarter:
          type: integer
        half:
          type: integer
        period:
          type: integer
        balls:
          type: integer
        strikes:
          type: integer
        outs:
          type: integer
        current_inning:
          type: integer
        current_inning_phase:
          type: string
          enum:
            - top
            - bottom
        last_inning:
          type: integer
        last_inning_phase:
          type: string
          enum:
            - top
            - bottom
        double_header:
          type: boolean
        game_number:
          type: integer
        home_score:
          type: integer
        away_score:
          type: integer
        match_status:
          type: string
          enum:
            - not_started
            - 1st_half
            - 2nd_half
            - 1st_extra
            - 2nd_extra
            - penalties
            - interrupted
            - halftime
            - extra_time_halftime
            - ended
        home_penalties:
          type: integer
        away_penalties:
          type: integer
        rounds:
          type: array
          description: Golf only.
          items:
            $ref: '#/components/schemas/GolfRound'
        weather:
          $ref: '#/components/schemas/Weather'
        weather_icon:
          type: string
          enum:
            - rain
            - snow
            - wind
            - cloud
            - night
            - indoor
            - clear
            - unknown
      title: GameState
    PlayerDetails:
      type: object
      required:
        - league
        - first_name
        - last_name
        - abbreviated_name
        - status
      properties:
        league:
          $ref: '#/components/schemas/SubCategoryId'
        first_name:
          type: string
        last_name:
          type: string
        abbreviated_name:
          type: string
        status:
          type: string
        position:
          type: string
          description: Team sports only.
        jersey_number:
          type: string
          description: Team sports only.
        throw_hand:
          type: string
          enum:
            - L
            - R
          description: MLB only.
        bat_hand:
          type: string
          enum:
            - L
            - R
            - B
          description: MLB only.
        statistics:
          $ref: '#/components/schemas/MLBSeasonStatistics'
          description: MLB only.
        splits:
          $ref: '#/components/schemas/MLBPlayerSplits'
          description: MLB only.
        country:
          type: string
          description: PGA only.
        country_abb:
          type: string
          description: PGA only.
        amateur:
          type: boolean
          description: PGA only.
      title: PlayerDetails
    MarketBase:
      type: object
      description: Fields every market carries.
      required:
        - id
        - title
        - sub_category
        - type
        - price_yes
        - price_no
        - volume
        - liquidity
        - yes_liquidity
        - no_liquidity
        - status
        - updated_at
        - rules
        - market_group_id
      properties:
        id:
          type: string
          description: >-
            The market id: the instrument to trade and to follow for price
            updates.
        title:
          type: string
        sub_category:
          $ref: '#/components/schemas/SubCategoryId'
        price_yes:
          $ref: '#/components/schemas/MarketPrice'
        price_no:
          $ref: '#/components/schemas/MarketPrice'
        orderbook:
          $ref: '#/components/schemas/Orderbook'
        volume:
          type: number
          description: Dollars traded, rounded to cents.
        liquidity:
          type: number
          description: Dollars resting in the book, rounded to cents.
        yes_liquidity:
          type: number
        no_liquidity:
          type: number
        last_price_yes:
          type: number
          description: >-
            Last trade as a YES price, 4 decimal places. Absent until the market
            has traded.
        last_price_no:
          type: number
          description: >-
            The NO complement of `last_price_yes`. Absent until the market has
            traded.
        status:
          $ref: '#/components/schemas/MarketStatus'
        result:
          $ref: '#/components/schemas/MarketResult'
        updated_at:
          type: integer
          format: int64
          description: Epoch milliseconds.
        rules:
          type: string
          description: The market's resolution rules.
        market_group_id:
          type: string
      title: MarketBase
    GamelineMarket:
      title: GamelineMarket
      type: object
      description: >-
        A game line market. `type` says which shape it is; each shape has its
        own page: [SpreadMarket](/predictions/types/spread-market),
        [TotalMarket](/predictions/types/total-market),
        [MoneylineMarket](/predictions/types/moneyline-market). Fields marked
        with a type are present only on that type.
      required:
        - id
        - title
        - sub_category
        - type
        - price_yes
        - price_no
        - volume
        - liquidity
        - yes_liquidity
        - no_liquidity
        - status
        - updated_at
        - rules
        - market_group_id
        - event_id
        - event_start
      properties:
        id:
          type: string
          description: >-
            The market id: the instrument to trade and to follow for price
            updates.
        title:
          type: string
        sub_category:
          $ref: '#/components/schemas/SubCategoryId'
        price_yes:
          $ref: '#/components/schemas/MarketPrice'
        price_no:
          $ref: '#/components/schemas/MarketPrice'
        orderbook:
          $ref: '#/components/schemas/Orderbook'
        volume:
          type: number
          description: Dollars traded, rounded to cents.
        liquidity:
          type: number
          description: Dollars resting in the book, rounded to cents.
        yes_liquidity:
          type: number
        no_liquidity:
          type: number
        last_price_yes:
          type: number
          description: >-
            Last trade as a YES price, 4 decimal places. Absent until the market
            has traded.
        last_price_no:
          type: number
          description: >-
            The NO complement of `last_price_yes`. Absent until the market has
            traded.
        status:
          $ref: '#/components/schemas/MarketStatus'
        result:
          $ref: '#/components/schemas/MarketResult'
        updated_at:
          type: integer
          format: int64
          description: Epoch milliseconds.
        rules:
          type: string
          description: The market's resolution rules.
        market_group_id:
          type: string
        type:
          type: string
          enum:
            - spread
            - total
            - moneyline
        event_id:
          type: string
        event_start:
          type: integer
          format: int64
          description: Epoch milliseconds.
        line:
          type: number
          description: >-
            Spread and total. On a spread, the away team's line; the home team
            is at the inverse.
        yes_line_display:
          type: string
          description: Spread and total. Spread `-3.5`, total `O 44.5`.
        no_line_display:
          type: string
          description: Spread and total. Spread `+3.5`, total `U 44.5`.
        team_id:
          type: string
          description: Spread and moneyline. Absent on a `draw` leg.
        yes_team_id:
          type: string
          description: 'Spread, and `two_way` moneyline: the away team, at `line`.'
        no_team_id:
          type: string
          description: >-
            Spread, and `two_way` moneyline: the home team, at the inverse of
            `line`.
        moneyline_type:
          type: string
          enum:
            - two_way
            - one_way
            - draw
          description: >-
            Moneyline only. `two_way` carries both teams; a three-way match
            (soccer) has one `one_way` leg per team plus a `draw` leg with no
            team.
    GamelineLine:
      type: object
      description: >-
        One line of a spread or total ladder. Both sides are on every line: the
        away team at `line` on the YES side, the home team at the inverse on the
        NO side. A total has no team, so its lines carry none.
      required:
        - id
        - line
        - yes_line_display
        - no_line_display
        - price_yes
        - price_no
        - yes_liquidity
        - no_liquidity
        - status
        - rules
      properties:
        id:
          type: string
        line:
          type: number
        yes_line_display:
          type: string
          description: 'Spread: `-3.5`. Total: `O 44.5`.'
        no_line_display:
          type: string
          description: 'Spread: `+3.5`. Total: `U 44.5`.'
        team_id:
          type: string
          description: Spread only.
        yes_team_id:
          type: string
          description: Spread only.
        no_team_id:
          type: string
          description: Spread only.
        price_yes:
          $ref: '#/components/schemas/MarketPrice'
        price_no:
          $ref: '#/components/schemas/MarketPrice'
        last_price_yes:
          type: number
          description: Once the line has traded.
        last_price_no:
          type: number
          description: Once the line has traded.
        yes_liquidity:
          type: number
        no_liquidity:
          type: number
        status:
          $ref: '#/components/schemas/MarketStatus'
        result:
          $ref: '#/components/schemas/MarketResult'
          description: Once the line has settled.
        rules:
          type: string
      title: GamelineLine
    OrderbookSide:
      title: OrderbookSide
      type: object
      description: The YES and NO levels on one side of the book.
      required:
        - 'yes'
        - 'no'
      properties:
        'yes':
          type: array
          items:
            $ref: '#/components/schemas/PriceLevel'
        'no':
          type: array
          items:
            $ref: '#/components/schemas/PriceLevel'
    TeamRecord:
      title: TeamRecord
      type: object
      required:
        - wins
        - losses
      properties:
        wins:
          type: integer
        losses:
          type: integer
        ties:
          type: integer
          description: Only in leagues that can tie.
    GolfRound:
      title: GolfRound
      type: object
      description: One round of a golf tournament.
      required:
        - number
        - status
      properties:
        number:
          type: integer
        status:
          $ref: '#/components/schemas/GameStatus'
    Weather:
      type: object
      required:
        - condition
      properties:
        condition:
          type: string
        humidity:
          type: number
        temp:
          type: number
        wind_direction:
          type: string
        wind_speed:
          type: number
      title: Weather
    MLBSeasonStatistics:
      title: MLBSeasonStatistics
      type: object
      description: >-
        A player's season statistics. A hitter carries `hitting`, a pitcher
        `pitching`, a two-way player both.
      properties:
        hitting:
          $ref: '#/components/schemas/MLBSeasonHittingStatistics'
        pitching:
          $ref: '#/components/schemas/MLBSeasonPitchingStatistics'
    MLBPlayerSplits:
      title: MLBPlayerSplits
      type: object
      description: Hitting splits by opposing pitcher hand.
      properties:
        hitting:
          $ref: '#/components/schemas/MLBPlayerHittingSplits'
    PriceLevel:
      type: object
      description: One level of the order book.
      required:
        - p
        - q
      properties:
        p:
          type: number
          description: Per-share price.
        q:
          type: number
          description: Shares resting at that price.
      title: PriceLevel
    MLBSeasonHittingStatistics:
      title: MLBSeasonHittingStatistics
      type: object
      description: Season hitting totals and per-game rates.
      required:
        - at_bats_per_game
        - hits_per_game
        - runs_per_game
        - rbi_per_game
        - total_bases_per_game
        - home_runs_per_game
        - total_strikeouts_per_game
        - stolen_bases_per_game
        - at_bats
        - hits
        - walks
        - home_runs
        - runs
        - rbi
        - stolen_bases
        - doubles
        - games_played
        - games_started
        - grounded_into_double_play
        - hit_by_pitch
        - intentional_walks
        - plate_appearances
        - reached_on_error
        - sacrifice_flys
        - singles
        - slugging_percentage
        - total_bases
        - total_strikeouts
        - triples
        - on_base_plus_slugging_percentage
        - on_base_percentage
        - batting_average
      properties:
        at_bats_per_game:
          type: number
        hits_per_game:
          type: number
        runs_per_game:
          type: number
        rbi_per_game:
          type: number
        total_bases_per_game:
          type: number
        home_runs_per_game:
          type: number
        total_strikeouts_per_game:
          type: number
        stolen_bases_per_game:
          type: number
        at_bats:
          type: number
        hits:
          type: number
        walks:
          type: number
        home_runs:
          type: number
        runs:
          type: number
        rbi:
          type: number
        stolen_bases:
          type: number
        doubles:
          type: number
        games_played:
          type: number
        games_started:
          type: number
        grounded_into_double_play:
          type: number
        hit_by_pitch:
          type: number
        intentional_walks:
          type: number
        plate_appearances:
          type: number
        reached_on_error:
          type: number
        sacrifice_flys:
          type: number
        singles:
          type: number
        slugging_percentage:
          type: number
        total_bases:
          type: number
        total_strikeouts:
          type: number
        triples:
          type: number
        on_base_plus_slugging_percentage:
          type: number
        on_base_percentage:
          type: number
        batting_average:
          type: string
          example: '.287'
    MLBSeasonPitchingStatistics:
      title: MLBSeasonPitchingStatistics
      type: object
      description: Season pitching totals.
      required:
        - innings_pitched
        - pitch_count
        - hits_allowed
        - earned_runs
        - base_on_balls
        - strikeouts
        - home_runs_allowed
        - earned_run_average
        - shutout
        - complete_game
        - win
        - loss
        - save
        - hold
        - blown_save
        - quality_start
        - total_outs
      properties:
        innings_pitched:
          type: number
        pitch_count:
          type: number
        hits_allowed:
          type: number
        earned_runs:
          type: number
        base_on_balls:
          type: number
        strikeouts:
          type: number
        home_runs_allowed:
          type: number
        earned_run_average:
          type: number
        shutout:
          type: number
        complete_game:
          type: number
        win:
          type: number
        loss:
          type: number
        save:
          type: number
        hold:
          type: number
        blown_save:
          type: number
        quality_start:
          type: number
        total_outs:
          type: number
    MLBPlayerHittingSplits:
      title: MLBPlayerHittingSplits
      type: object
      required:
        - pitching_hand
      properties:
        pitching_hand:
          type: array
          description: One entry per opposing pitcher hand.
          items:
            $ref: '#/components/schemas/MLBSeasonHittingSplitStatistics'
    MLBSeasonHittingSplitStatistics:
      title: MLBSeasonHittingSplitStatistics
      type: object
      description: Season hitting against one pitching hand.
      required:
        - value
        - at_bats
        - hits
        - walks
        - home_runs
        - runs
        - rbi
        - stolen_bases
        - doubles
        - hit_by_pitch
        - intentional_walks
        - singles
        - slugging_percentage
        - total_strikeouts
        - triples
        - on_base_plus_slugging_percentage
        - on_base_percentage
        - batting_average
      properties:
        value:
          type: string
          enum:
            - L
            - R
          description: The opposing pitcher's hand.
        at_bats:
          type: number
        hits:
          type: number
        walks:
          type: number
        home_runs:
          type: number
        runs:
          type: number
        rbi:
          type: number
        stolen_bases:
          type: number
        doubles:
          type: number
        hit_by_pitch:
          type: number
        intentional_walks:
          type: number
        singles:
          type: number
        slugging_percentage:
          type: number
        total_strikeouts:
          type: number
        triples:
          type: number
        on_base_plus_slugging_percentage:
          type: number
        on_base_percentage:
          type: number
        batting_average:
          type: string
  responses:
    BadRequest:
      description: A query or path parameter failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            status: error
            error: BAD_REQUEST
            message: Invalid request parameters
    InternalError:
      description: The request could not be handled.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            status: error
            error: INTERNAL_ERROR
            message: >-
              An internal error has occured and the request could not be
              handled.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.