> For the complete documentation index, see [llms.txt](https://docs.overtime.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overtime.io/overtime-v2-integration/overtime-v2-user-history-protected.md).

# Overtime V2 user history (protected)

Get a user history. It returns all tickets grouped by status.

## REST API <a href="#rest-api" id="rest-api"></a>

<mark style="color:green;">`GET`</mark> `https://api.overtime.io/overtime-v2/networks/{{network}}/users/{{userAddress}}/history`

See the user history API endpoint with request/response examples under [Postman documentation](https://documenter.getpostman.com/view/1435701/2sA3XY5Hao#2e93df2f-2636-4544-a82d-5b63d8e795ba).

All requests to this route must include a valid API key for authentication. The API key should be provided in the request header as `x-api-key`.

{% hint style="info" %}
Access to the Overtime API is restricted and requires an approved API key.\
\
API keys are issued only to teams or organizations that can clearly demonstrate how their intended use of the API delivers meaningful value to Overtime, its users, or its ecosystem. Requests must include a concrete description of the proposed use case, scope, and anticipated impact.\
\
**The Overtime API is not intended for experimental, hobbyist, or small personal projects. Requests that do not meet these criteria will not be approved.**
{% endhint %}

### Example Request

<https://api.overtime.io/overtime-v2/networks/10/users/0x819a371aB4BfdeD173Edcf12b6D37c6C80E4a8C0/history>

### Example Response

{% tabs %}
{% tab title="200 OK" %}

```json
{
  "open": [...],
  "claimable": [
    {
      "id": "0xaDD59A5F6c144B3cBd6AC9d10B848EEABa633f93",
      "timestamp": 1718478509000,
      "collateral": "THALES",
      "account": "0x9f8e4ee788D9b00A3409584E18034aA7B736C396",
      "buyInAmount": 38.58138411178477,
      "fees": 0.7716276822356954,
      "totalQuote": 0.5294647111772277,
      "payout": 72.86866017189656,
      "numOfMarkets": 1,
      "expiry": 1726254509000,
      "isResolved": false,
      "isPaused": false,
      "isCancelled": false,
      "isLost": false,
      "isUserTheWinner": true,
      "isExercisable": true,
      "isClaimable": true,
      "isOpen": false,
      "finalPayout": 0,
      "isLive": true,
      "sportMarkets": [
        {
          "gameId": "0x3430343338343400000000000000000000000000000000000000000000000000",
          "sport": "Soccer",
          "leagueId": 50,
          "subLeagueId": 50,
          "leagueName": "UEFA EURO 2024",
          "typeId": 0,
          "type": "winner",
          "maturity": 1718478569000,
          "maturityDate": "2024-06-15T19:09:29.000Z",
          "homeTeam": "Italy",
          "awayTeam": "Albania",
          "homeScore": 2,
          "homeScoreByPeriod": [
            2
          ],
          "awayScore": 1,
          "awayScoreByPeriod": [
            1
          ],
          "isOpen": false,
          "isResolved": true,
          "isCancelled": false,
          "isWinning": true,
          "isOneSideMarket": false,
          "line": 0,
          "isPlayerPropsMarket": false,
          "isOneSidePlayerPropsMarket": false,
          "isYesNoPlayerPropsMarket": false,
          "playerProps": {
            "playerId": 0,
            "playerName": "Player Name"
          },
          "selectedCombinedPositions": [],
          "position": 0,
          "odd": 0.52941176470611,
          "isGameFinished": true,
          "gameStatus": "finished"
        }
      ]
    }
  ],
  "closed": [...]
}
```

{% endtab %}
{% endtabs %}

### Response Parameters <a href="#response-parameters" id="response-parameters"></a>

<table><thead><tr><th width="196">Name</th><th width="172">Type</th><th>Description</th></tr></thead><tbody><tr><td>open</td><td><a href="#response-parameters-1">Ticket</a>[]</td><td>Open tickets</td></tr><tr><td>claimable</td><td><a href="#response-parameters-1">Ticket</a>[]</td><td>Claimable tickets</td></tr><tr><td>closed</td><td><a href="#response-parameters-1">Ticket</a>[]</td><td>Closed tickets</td></tr></tbody></table>

#### Ticket <a href="#response-parameters" id="response-parameters"></a>

<table><thead><tr><th width="196">Name</th><th width="172">Type</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>Ticket address</td></tr><tr><td>timestamp</td><td>number</td><td>Ticket created timestamp</td></tr><tr><td>collateral</td><td>string</td><td>Collateral used for ticket</td></tr><tr><td>account</td><td>string</td><td>Ticket owner address</td></tr><tr><td>buyInAmount</td><td>number</td><td>Ticket buy-in amount</td></tr><tr><td>fees</td><td>number</td><td>Ticket fees (paid by LP)</td></tr><tr><td>totalQuote</td><td>number</td><td>Ticket total quote</td></tr><tr><td>payout</td><td>number</td><td>Ticket payout</td></tr><tr><td>numOfMarkets</td><td>number</td><td>Number of markets on the ticket</td></tr><tr><td>expiry</td><td>number</td><td>Ticket expiry timestamp (90 days from creation)</td></tr><tr><td>isResolved</td><td>boolean</td><td>Is ticket resolved (exercised): <code>true</code> or <code>false</code>.</td></tr><tr><td>isPaused</td><td>boolean</td><td>Is ticket paused: <code>true</code> or <code>false</code>.</td></tr><tr><td>isCancelled</td><td>boolean</td><td>Is ticket cancelled (all markets on the ticket are cancelled): <code>true</code> or <code>false</code>.</td></tr><tr><td>isLost</td><td>boolean</td><td>Is ticket lost (by user): <code>true</code> or <code>false</code>.</td></tr><tr><td>isUserTheWinner</td><td>boolean</td><td>Is user the winner: <code>true</code> or <code>false</code>.</td></tr><tr><td>isExercisable</td><td>boolean</td><td>Is ticket exercisable (all markets are resolved): <code>true</code> or <code>false</code>.</td></tr><tr><td>isClaimable</td><td>boolean</td><td>Is ticket claimable (by user - user is the winner and not resolved): <code>true</code> or <code>false</code>.</td></tr><tr><td>isOpen</td><td>boolean</td><td>Is ticket open: <code>true</code> or <code>false</code>.</td></tr><tr><td>finalPayout</td><td>number</td><td>Final payout (set only for resolved tickets, otherwise is 0)</td></tr><tr><td>isLive</td><td>boolean</td><td>Is live ticket (ticket with live market): <code>true</code> or <code>false</code>.</td></tr><tr><td>sportMarkets</td><td><a href="#response-parameters-2">TicketMarket</a>[]</td><td>Selected markets on the ticket</td></tr></tbody></table>

#### TicketMarket <a href="#response-parameters" id="response-parameters"></a>

<table><thead><tr><th width="266">Name</th><th width="195">Type</th><th>Description</th></tr></thead><tbody><tr><td>gameId</td><td>string</td><td>Game ID</td></tr><tr><td>sport</td><td>string</td><td>Game sport. See <a href="/overtime-v2-integration/overtime-v2-sports.md">Overtime V2 sports</a>.</td></tr><tr><td>leagueId</td><td>number</td><td>Game league ID. See <a href="/overtime-v2-integration/overtime-v2-sports.md">Overtime V2 sports</a>.</td></tr><tr><td>leagueName</td><td>string</td><td>Game league name. See <a href="/overtime-v2-integration/overtime-v2-sports.md">Overtime V2 sports</a>.</td></tr><tr><td>subLeagueId</td><td>number</td><td>Game subleague ID. It is used for some sports (tennis and UFC) to separate different levels and rounds of tournaments. (needed on the contract side, not used on UI).</td></tr><tr><td>typeId</td><td>number</td><td>Type ID of the market. 0 for parent market (moneyline/winner). For other types see <a href="/overtime-v2-integration/overtime-v2-markets-protected.md">Overtime V2 market types</a>.</td></tr><tr><td>type</td><td>string</td><td>Type of the market. See <a href="/overtime-v2-integration/overtime-v2-markets-protected.md">Overtime V2 market types</a>.</td></tr><tr><td>line</td><td>number</td><td>Market line (if available).</td></tr><tr><td>maturity</td><td>number</td><td>Game start timestamp</td></tr><tr><td>maturityDate</td><td>date</td><td>Game start date and time</td></tr><tr><td>homeTeam</td><td>string</td><td>The name of the home team</td></tr><tr><td>awayTeam</td><td>string</td><td>The name of the away team</td></tr><tr><td>isOpen</td><td>boolean</td><td>Is market open: <code>true</code> or <code>false</code>.</td></tr><tr><td>isResolved</td><td>boolean</td><td>Is market resolved: <code>true</code> or <code>false</code>.</td></tr><tr><td>isCancelled</td><td>boolean</td><td>Is market cancelled: <code>true</code> or <code>false</code>.</td></tr><tr><td>isWinning</td><td>boolean</td><td>Is winning market for the user: <code>true</code> or <code>false</code>.</td></tr><tr><td>isOneSideMarket</td><td>boolean</td><td>Is one-side market (motosport, golf winner...): <code>true</code> or <code>false</code>.</td></tr><tr><td>isPlayerPropsMarket</td><td>boolean</td><td>Is player props market: <code>true</code> or <code>false</code>.</td></tr><tr><td>isOneSidePlayerPropsMarket</td><td>boolean</td><td>Is one-side player props market (who will score first/last touchdown...): <code>true</code> or <code>false</code>.</td></tr><tr><td>isYesNoPlayerPropsMarket</td><td>boolean</td><td>Is YES/NO player props market (double-double, triple-double...): <code>true</code> or <code>false</code>.</td></tr><tr><td>playerProps</td><td><a href="#playerprops">PlayerProps</a></td><td>Player info (if player props market)</td></tr><tr><td>selectedCombinedPositions</td><td><a href="#combinedposition">CombinedPosition</a>[]</td><td>Selected combined positions if the market is that type (half-time/full-time, winner+total...)</td></tr><tr><td>position</td><td>number</td><td>Selected position on the market</td></tr><tr><td>odd</td><td><a href="#odds">Odds</a></td><td>Market odds</td></tr><tr><td>gameStatus</td><td>string</td><td>Current game status</td></tr><tr><td>isGameFinished</td><td>boolean</td><td>Is game finished: <code>true</code> or <code>false</code>.</td></tr><tr><td>homeScore</td><td>number | string</td><td>Home team score or player score if the market is player props market</td></tr><tr><td>awayScore</td><td>number | string</td><td>Away team score or 0 if the market is player props market</td></tr><tr><td>homeScoreByPeriod</td><td>number[]</td><td>Home team score by period</td></tr><tr><td>awayScoreByPeriod</td><td>number[]</td><td>Away team score by period</td></tr></tbody></table>

#### PlayerProps

<table><thead><tr><th width="196">Name</th><th width="170">Type</th><th>Description</th></tr></thead><tbody><tr><td>playerId</td><td>number</td><td>Player ID</td></tr><tr><td>playerName</td><td>string</td><td>The name of the player</td></tr><tr><td>playerScore</td><td>number | string</td><td>Player score</td></tr></tbody></table>

#### CombinedPosition

<table><thead><tr><th width="196">Name</th><th width="172">Type</th><th>Description</th></tr></thead><tbody><tr><td>typeId</td><td>number</td><td>The type ID of single market</td></tr><tr><td>position</td><td>number</td><td>The position on the single market</td></tr><tr><td>line</td><td>number</td><td>Single market line</td></tr></tbody></table>

#### Odds

<table><thead><tr><th width="196">Name</th><th width="173">Type</th><th>Description</th></tr></thead><tbody><tr><td>american</td><td>number</td><td>American format of the odds</td></tr><tr><td>decimal</td><td>number</td><td>Decimal format of the odds</td></tr><tr><td>normalizedImplied</td><td>number</td><td>Normalized Implied format of the odds</td></tr></tbody></table>
