> ## 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.

# Overview

> Base URLs, caching, the included block and the conventions every Predictions API response follows.

The Predictions API serves the markets Splash lists for a sport: game lines (spread, total, moneyline),
season futures and player props. The endpoints on this site need no authentication.

## Base URL

```
https://api.splashsports.com/predictions-service/api
```

Paths in the reference are relative to the base URL.

## Conventions

* **No `null` in a response.** A value that is unset is omitted. Test for presence rather than for `null`.
* **Timestamps are epoch milliseconds** (`event_start`, `start_date`, `updated_at`).
* **Money is a number in dollars**, rounded to cents (`volume`, `liquidity`). A price is a per-share
  YES or NO price between 0 and 1; see `MarketPrice` for the display forms.
* **Comma-separated query lists.** Where a parameter accepts several values, pass them as one
  comma-separated string: `?sub_category=nfl,nba`. Every accepted value is listed on
  [Enumerations](https://docs.splashsports.com/predictions/enums.md).
* **Cached responses.** Market endpoints are cached for 5 seconds; `/sub_categories` for 5 minutes.

## The `included` block

Every market-returning endpoint carries an `included` object beside its primary data, with the
`events`, `teams`, `entities` (players) and `sub_categories` (leagues) that the markets reference.
Resolve a market's `event_id`, `team_id` or `entity_id` against it rather than fetching each resource.

`included.sub_categories` is identity only: id, name and icon. Whether a league is tradeable right
now, and which tabs it offers, come from [`GET /sub_categories`](https://docs.splashsports.com/predictions/reference/sub-categories/list-sub-categories).

## Market groups

A **market group** is the unit the listing endpoints return:

| `type` | One group is… | Markets inside |
| - | - | - |
| `gameline` | one game | its spread, total and moneyline markets |
| `future_team_champion` | one futures title (a championship) | one market per team |
| `player_prop` | one player in one game | one lead market per prop type, each with its ladder |

Each market carries a `type` that selects its shape, and a `status` of `active`, `settled` or
`expired`. A settled market also carries `result`.

## Reading a game page

1. `GET /prediction_markets/{id}` returns the game's gameline group plus `filters`, the tabs to render.
2. Each tab says exactly what to send to `GET /events/{event_id}/details`: its `types` as `?type=`,
   its `group_by` as `?group_by=`, and on Player Props each filter's `types` as `?prop_type=`.
3. A player prop section with `has_more: true` is paged by `GET /prediction_markets` with the same
   `event_id` and `prop_type`, which returns players in the same order.


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