openapi: 3.0.0 info: version: 1.0.0 title: Pinnacle - Lines API Reference description: > All about odds and fixtures # Authentication Please note that API has restriction that client password can be maximum up 10 characters long. API uses HTTP Basic access authentication. You need to send Authorization HTTP Request header: `Authorization: Basic ` Example: `Authorization: Basic U03MyOT23YbzMDc6d3c3O1DQ1` x-logo: url: >- https://avatars2.githubusercontent.com/u/31601407?s=400&u=f3c6e1cfc8a26665e4a4df6d8da4a7ee527aeceb&v=4 security: - basicAuth: [] paths: /v1/fixtures: get: tags: - Fixtures summary: Get Fixtures - v1 description: >- Returns all **non-settled** events for the given sport. Please note that it is possible that the event is in Get Fixtures response but not in Get Odds. This happens when the odds are not currently available for wagering. Please note that it is possible to receive the same exact response when using **since** parameter. This is rare and can be caused by internal updates of event properties. operationId: Fixtures_V1_Get parameters: - name: sportId in: query description: The sport id to retrieve the fixtures for. required: true schema: type: integer format: int32 - name: leagueIds in: query description: >- The leagueIds array may contain a list of comma separated league ids. required: false explode: true schema: type: array items: type: integer format: int32 - name: isLive in: query description: >- To retrieve ONLY live events set the value to 1 (isLive=1). Missing or any other value will result in retrieval of events regardless of their Live status. required: false schema: type: boolean - name: since in: query description: >- This is used to receive incremental updates. Use the value of last from previous fixtures response. When since parameter is not provided, the fixtures are delayed up to 1 minute to encourage the use of the parameter. required: false schema: type: integer format: int64 - name: eventIds in: query description: Comma separated list of event ids to filter by required: false explode: true schema: type: array items: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FixturesResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v1/fixtures/special: get: tags: - Fixtures summary: Get Special Fixtures - v1 description: Returns all **non-settled** specials for the given sport. operationId: Fixtures_Special_V1_Get parameters: - name: sportId in: query description: Id of a sport for which to retrieve the specials. required: true schema: type: integer format: int32 - name: leagueIds in: query description: >- The leagueIds array may contain a list of comma separated league ids. required: false explode: true schema: type: array items: type: integer format: int32 - name: since in: query description: >- This is used to receive incremental updates. Use the value of last field from the previous response. When since parameter is not provided, the fixtures are delayed up to 1 min to encourage the use of the parameter. required: false schema: type: integer format: int64 - name: category in: query description: The category the special falls under. required: false schema: type: string - name: eventId in: query description: Id of an event associated with a special. required: false schema: type: integer format: int64 - name: specialId in: query description: Id of the special. required: false schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SpecialsFixturesResponse' examples: response: value: sportId: 4 last: 636433059508250600 leagues: - id: 487 specials: - id: 1 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 4th quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: I event: id: 1 periodNumber: 0 contestants: - id: 1 name: Odd rotNum: 100 - id: 2 name: Even rotNum: 101 - id: 2 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 3rd quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: I event: id: 1 periodNumber: 0 contestants: - id: 3 name: Odd rotNum: 100 - id: 4 name: Even rotNum: 101 - id: 3 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 2nd quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: H event: id: 1 periodNumber: 0 contestants: - id: 5 name: Odd rotNum: 100 - id: 6 name: Even rotNum: 101 - id: 4 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 1st quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: I event: id: 1 periodNumber: 0 contestants: - id: 7 name: Odd rotNum: 100 - id: 8 name: Even rotNum: 101 - id: 5 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 4th quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: null event: id: 2 periodNumber: 0 contestants: - id: 9 name: Odd rotNum: 100 - id: 10 name: Even rotNum: 101 - id: 6 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 3rd quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: I event: id: 2 periodNumber: 0 contestants: - id: 11 name: Odd rotNum: 100 - id: 12 name: Even rotNum: 101 - id: 7 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 2nd quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: I event: id: 2 periodNumber: 0 contestants: - id: 13 name: Odd rotNum: 100 - id: 14 name: Even rotNum: 101 - id: 8 betType: MULTI_WAY_HEAD_TO_HEAD name: Will the 1st quarter be odd or even? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: 1/4 Totals units: '' status: H event: id: 2 periodNumber: 0 contestants: - id: 15 name: Odd rotNum: 100 - id: 16 name: Even rotNum: 101 - id: 9 betType: MULTI_WAY_HEAD_TO_HEAD name: Who will win the NBA finals? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: Outright Winner units: '' status: I contestants: - id: 17 name: Golden State Warriors rotNum: 100 - id: 18 name: Cleveland Cavaliers rotNum: 101 - id: 19 name: San Antonio Spurs rotNum: 102 - id: 20 name: Chicago Bulls rotNum: 103 - id: 578 specials: - id: 10 betType: MULTI_WAY_HEAD_TO_HEAD name: Who will win the WNBA finals? date: '2017-10-11T14:00:00Z' cutoff: '2017-10-11T14:00:00Z' category: Outright Winner units: '' status: I contestants: - id: 21 name: Minnesota Lynx rotNum: 100 - id: 22 name: Indiana Fever rotNum: 101 - id: 23 name: Phoenix Mercury rotNum: 102 - id: 24 name: Chicago Sky rotNum: 103 '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' deprecated: false /v1/fixtures/settled: get: tags: - Fixtures summary: Get Settled Fixtures - v1 description: Returns fixtures settled in the last 24 hours for the given sport. operationId: Fixtures_Settled_V1_Get parameters: - name: sportId in: query required: true schema: type: integer format: int32 - name: leagueIds in: query required: false explode: true schema: type: array items: type: integer format: int32 - name: since in: query required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SettledFixturesSport' examples: response: value: sportId: 0 last: 0 leagues: - id: 0 events: - id: 0 periods: - number: 0 status: 0 settlementId: 0 settledAt: '2017-09-03T18:21:22.3846289-07:00' team1Score: 0 team2Score: 0 cancellationReason: code: string details: correctTeam1Id: string correctTeam2Id: string correctListedPitcher1: string correctListedPitcher2: string correctSpread: '0.0' correctTotalPoints: '0.0' correctTeam1TotalPoints: '0.0' correctTeam2TotalPoints: '0.0' correctTeam1Score: '0' correctTeam2Score: '0' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v1/fixtures/special/settled: get: tags: - Fixtures summary: Get Settled Special Fixtures - v1 description: >- Returns all specials which are settled in the last 24 hours for the given Sport. operationId: Fixtures_Specials_Settled_V1_Get parameters: - name: sportId in: query description: Id of the sport for which to retrieve the settled specials. required: true schema: type: integer format: int32 - name: leagueIds in: query description: Array of leagueIds. This is optional parameter. required: false explode: true schema: type: array items: type: integer format: int32 - name: since in: query description: >- This is used to receive incremental updates. Use the value of last from previous response. required: false schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SettledSpecialsResponse' examples: response: value: sportId: 29 last: 7004137 leagues: - id: 5200 specials: - id : 1206517453 settlementId: 7003218 status: 3 settledAt: '2020-11-10T06:56:28.427Z' contestants: - id: 1206517454 name: Barranquilla outcome: "X" - id: 1206517455 name: Valledupar outcome: "X" cancellationReason: code: FBS_CW_65 '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' deprecated: false /v1/odds: get: tags: - Odds summary: Get Straight Odds - v1 description: >- Returns straight odds for all non-settled events. Please note that it is possible that the event is in Get Fixtures response but not in Get Odds. This happens when the odds are not currently available for wagering. operationId: Odds_Straight_V1_Get parameters: - name: sportId in: query description: The sportid for which to retrieve the odds. required: true schema: type: integer format: int32 - name: leagueIds in: query description: >- The leagueIds array may contain a list of comma separated league ids. required: false explode: true schema: type: array items: type: integer format: int32 - name: oddsFormat in: query description: >- Format in which we return the odds. Default is American. [American, Decimal, HongKong, Indonesian, Malay] required: false schema: type: string enum: - American - Decimal - HongKong - Indonesian - Malay - name: since in: query description: >- This is used to receive incremental updates. Use the value of last from previous odds response. When since parameter is not provided, the odds are delayed up to 1 min to encourage the use of the parameter. Please note that when using since parameter you will get in the response ONLY changed periods. If a period did not have any changes it will not be in the response. required: false schema: type: integer format: int64 - name: isLive in: query description: >- To retrieve ONLY live odds set the value to 1 (isLive=1). Otherwise response will have all odds. required: false schema: type: boolean - name: eventIds in: query description: Filter by EventIds required: false explode: true schema: type: array items: type: integer format: int64 - name: toCurrencyCode in: query description: >- 3 letter currency code as in the [/currency](https://pinnacleapi.github.io/linesapi#operation/Currencies_V2_Get) response. Limits will be returned in the requested currency. Default is USD. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OddsResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/odds/teaser: get: tags: - Odds summary: Get Teaser Odds - v1 description: Returns odds for specified teaser. operationId: Odds_Teasers_V1_Get parameters: - name: teaserId in: query description: >- Unique identifier.Teaser details can be retrieved from a call to Get Teaser Groups endpoint. required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TeaserOddsResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v1/odds/special: get: tags: - Odds summary: Get Special Odds - v1 description: Returns odds for specials for all non-settled events. operationId: Odds_Special_V1_Get parameters: - name: oddsFormat in: query description: >- Format the odds are returned in. [American, Decimal, HongKong, Indonesian, Malay] required: false schema: type: string enum: - American - Decimal - HongKong - Indonesian - Malay - name: sportId in: query description: Id of a sport for which to retrieve the specials. required: true schema: type: integer format: int32 - name: leagueIds in: query description: >- The leagueIds array may contain a list of comma separated league ids. required: false explode: true schema: type: array items: type: integer format: int32 - name: since in: query description: >- This is used to receive incremental updates. Use the value of last from previous response. When since parameter is not provided, the fixtures are delayed up to 1 min to encourage the use of the parameter. required: false schema: type: integer format: int64 - name: specialId in: query description: Id of the special. This is an optional argument. required: false schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SpecialOddsResponse' examples: response: value: sportId: 4 last: 636433059510590700 leagues: - id: 487 specials: - id: 1 maxBet: 100 contestantLines: - id: 1 lineId: 1001 price: -199 handicap: null - id: 2 lineId: 1002 price: -198 handicap: null - id: 2 maxBet: 100 contestantLines: - id: 3 lineId: 1003 price: -197 handicap: null - id: 4 lineId: 1004 price: -196 handicap: null - id: 3 maxBet: 100 contestantLines: - id: 5 lineId: 1005 price: -195 handicap: null - id: 6 lineId: 1006 price: -194 handicap: null - id: 4 maxBet: 100 contestantLines: - id: 7 lineId: 1007 price: -193 handicap: null - id: 8 lineId: 1008 price: -192 handicap: null - id: 5 maxBet: 100 contestantLines: - id: 9 lineId: 1009 price: -191 handicap: null - id: 10 lineId: 1010 price: -190 handicap: null - id: 6 maxBet: 100 contestantLines: - id: 11 lineId: 1011 price: -189 handicap: null - id: 12 lineId: 1012 price: -188 handicap: null - id: 7 maxBet: 100 contestantLines: - id: 13 lineId: 1013 price: -187 handicap: null - id: 14 lineId: 1014 price: -186 handicap: null - id: 8 maxBet: 100 contestantLines: - id: 15 lineId: 1015 price: -185 handicap: null - id: 16 lineId: 1016 price: -184 handicap: null - id: 9 maxBet: 100 contestantLines: - id: 17 lineId: 1017 price: -183 handicap: null - id: 18 lineId: 1018 price: -182 handicap: null - id: 19 lineId: 1019 price: -181 handicap: null - id: 20 lineId: 1020 price: -180 handicap: null - id: 578 specials: - id: 10 maxBet: 100 contestantLines: - id: 21 lineId: 1021 price: -179 handicap: null - id: 22 lineId: 1022 price: -178 handicap: null - id: 23 lineId: 1023 price: -177 handicap: null - id: 24 lineId: 1024 price: -176 handicap: null '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' deprecated: false /v1/line: get: tags: - Line summary: Get Straight Line - v1 description: Returns latest line. operationId: Line_Straight_V1_Get parameters: - name: leagueId in: query description: League Id. required: true schema: type: integer format: int32 - name: handicap in: query description: >- This is needed for SPREAD, TOTAL_POINTS and TEAM_TOTAL_POINTS bet types required: true schema: type: number format: double - name: oddsFormat in: query description: Format in which we return the odds. Default is American. required: true schema: type: string enum: - American - Decimal - HongKong - Indonesian - Malay - name: sportId in: query description: Sport identification required: true schema: type: integer format: int32 - name: eventId in: query description: Event identification required: true schema: type: integer format: int64 - name: periodNumber in: query description: >- This represents the period of the match. Please check Get Periods endpoint for the list of currently supported periods per sport. required: true schema: type: integer format: int32 - name: betType in: query description: Bet Type required: true schema: type: string enum: - SPREAD - MONEYLINE - TOTAL_POINTS - TEAM_TOTAL_POINTS - name: team in: query description: >- Chosen team type. This is needed only for SPREAD, MONEYLINE and TEAM_TOTAL_POINTS bet types required: false schema: type: string enum: - Team1 - Team2 - Draw - name: side in: query description: >- Chosen side. This is needed only for TOTAL_POINTS and TEAM_TOTAL_POINTS required: false schema: type: string enum: - OVER - UNDER responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LineResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v2/line/parlay: post: tags: - Line summary: Get Parlay Line - v2 description: Returns parlay lines and calculate odds. For placing round robin bets, must be used with /v2/bets/parlay. operationId: Line_Parlay_V2_Post responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ParlayLinesResponseV2' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/ParlayLinesRequest' required: true /v1/line/teaser: post: tags: - Line summary: Get Teaser Line - v1 description: >- Validates a teaser bet prior to submission. Returns bet limit and price on success. operationId: Line_Teaser_V1_Post responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TeaserLinesResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/LinesRequestTeaser' required: true /v1/line/special: get: tags: - Line operationId: Line_Special_V1_Get summary: Get Special Line - v1 description: Returns special lines and calculate odds. parameters: - name: oddsFormat in: query description: >- Format the odds are returned in. [American, Decimal, HongKong, Indonesian, Malay] required: true schema: type: string enum: - American - Decimal - HongKong - Indonesian - Malay - name: specialId in: query description: Id of the special. required: true schema: type: integer format: int64 - name: contestantId in: query description: Id of the contestant. required: true schema: type: integer format: int64 - name: handicap in: query description: >- handicap of the contestant. As contestant's handicap is a mutable property, it may happened that line/special returns status:SUCCESS, but with the different handicap from the one that client had at the moment of calling the line/special. One can specify handicap parameter in the request and if the contestant's handicap changed, it would return status:NOT_EXISTS. This way line/special is more aligned to how /line works. required: false schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SpecialLineResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' deprecated: false /v2/sports: get: tags: - Others summary: Get Sports - v2 description: >- Returns all sports with the status whether they currently have lines or not. operationId: Sports_V2_Get responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SportsResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/LinesErrorResponse' /v2/leagues: get: tags: - Others summary: Get Leagues - v2 description: >- Returns all sports leagues with the status whether they currently have lines or not. operationId: Leagues_V2_Get parameters: - name: sportId in: query description: Sport id for which the leagues are requested. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Leagues' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v1/periods: get: tags: - Others summary: Get Periods - v1 description: Returns all periods for a given sport. operationId: Periods_V1_Get parameters: - name: sportId in: query required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SportPeriod' examples: response: value: periods: - number: 0 description: Match shortDescription: FT spreadDescription: Handicap moneylineDescription: 1X2 totalDescription: Total team1TotalDescription: Team 1 Goals team2TotalDescription: Team 2 Goals spreadShortDescription: HDP moneylineShortDescription: 1X2 totalShortDescription: O/U team1TotalShortDescription: Team 1 Goals team2TotalShortDescription: Team 2 Goals '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v1/inrunning: get: tags: - Others summary: Get In-Running - v1 description: >- Returns all live soccer events that have a status that indicates the event is in progress. operationId: InRunning_V1_Get responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InRunningResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedLinesErrorResponse' /v1/teaser/groups: get: tags: - Others summary: Get Teaser Groups - v1 description: Returns all teaser groups. operationId: Teaser_Groups_V1_Get parameters: - name: oddsFormat in: query description: >- Format the odds are returned in. [American, Decimal, HongKong, Indonesian, Malay] required: true schema: type: string enum: - American - Decimal - HongKong - Indonesian - Malay responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TeaserGroupsResponse' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v1/cancellationreasons: get: tags: - Others summary: Get Cancellation Reasons - v1 description: Lookup for all the cancellation reasons operationId: CancellationReasons_V1_Get responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CancellationReasonResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' /v2/currencies: get: tags: - Others summary: Get Currencies - v2 description: Returns the list of supported currencies operationId: Currencies_V2_Get responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SuccessfulCurrenciesResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/ExtendedErrorResponse' servers: - url: 'https://api.pinnacle.com/' components: securitySchemes: basicAuth: type: http scheme: basic schemas: ErrorResponse: type: object properties: code: type: string description: Identifier representing the type of error that occurred. message: type: string description: Description of the error. description: Contains details of an error that was encountered. ExtendedErrorResponse: type: object properties: ref: type: string code: type: string message: type: string LinesErrorResponse: type: object properties: status: type: string error: $ref: '#/components/schemas/ErrorResponse' code: type: integer format: int32 description: Code identifying an error that occurred. ExtendedLinesErrorResponse: type: object properties: ref: type: string status: type: string error: $ref: '#/components/schemas/ErrorResponse' code: type: integer format: int32 description: Code identifying an error that occurred. CancellationReasonResponse: type: object properties: cancellationReasons: type: array description: Contains a list of Cancellation Reasons. items: $ref: '#/components/schemas/CancellationReason' description: Cancellation Response Data CancellationReason: type: object properties: code: type: string description: Cancellation code assigned by the server example: FBS_CW_65 description: type: string description: Text description for the cancellation reason example: The event was postponed description: Cancellation Data SuccessfulCurrenciesResponse: type: object properties: currencies: type: array description: Currencies container. items: $ref: '#/components/schemas/Currency' Currency: type: object properties: code: type: string description: Currency code. example: AED name: type: string description: Currency name. example: United Arab Emirates Dirham rate: type: number format: double description: Exchange rate to USD. example: 3.6738 FixturesResponse: type: object properties: sportId: type: integer format: int32 description: Same as requested sport Id. last: type: integer format: int64 description: >- Use this value for the subsequent requests for since query parameter to get just the changes since previous response. league: type: array description: Contains a list of Leagues. items: $ref: '#/components/schemas/FixturesLeague' FixturesLeague: type: object properties: id: type: integer format: int32 description: League ID. name: type: string description: League Name. events: type: array description: Contains a list of events. items: $ref: '#/components/schemas/Fixture' Fixture: type: object properties: id: type: integer format: int64 description: Event id. parentId: type: integer format: int64 description: >- If event is linked to another event, parentId will be populated. Live event would have pre game event as parent id. starts: type: string format: date-time description: Start time of the event in UTC. home: type: string description: Home team name. away: type: string description: Away team name. rotNum: type: string description: >- Team1 rotation number. Please note that in the next version of /fixtures, rotNum property will be decommissioned. ParentId can be used instead to group the related events. liveStatus: type: integer format: int32 description: > Indicates live status of the event. 0 = No live betting will be offered on this event, 1 = Live betting event, 2 = Live betting will be offered on this match, but on a different event. Please note that [pre-game and live events are different](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-find-associated-events) . enum: - 0 - 1 - 2 homePitcher: type: string description: Home team pitcher. Only for Baseball. awayPitcher: type: string description: Away team pitcher. Only for Baseball. status: type: string description: | This is deprecated parameter, please check period's `status` in the `/odds` endpoint to see if it's open for betting. O = This is the starting status of a game. H = This status indicates that the lines are temporarily unavailable for betting, I = This status indicates that one or more lines have a red circle (lower maximum bet amount). enum: - O - H - I deprecated: true parlayRestriction: type: integer format: int32 description: > Parlay status of the event. 0 = Allowed to parlay, without restrictions, 1 = Not allowed to parlay this event, 2 = Allowed to parlay with the restrictions. You cannot have more than one leg from the same event in the parlay. All events with the same rotation number are treated as same event. enum: - 0 - 1 - 2 altTeaser: type: boolean description: >- Whether an event is offer with alternative teaser points. Events with alternative teaser points may vary from teaser definition. resultingUnit: type: string description: > Specifies based on what the event will be resulted, e.g. Corners, Bookings version: type: number format: int64 description: > Fixture version, goes up when there is a change in the fixture. sameEventParlayPeriodsEnabled: type: array description: Contains a list of period numbers that are allowed to be parlayed together. items: type: integer format: int32 example: [0,1] SettledFixturesSport: type: object properties: sportId: type: integer format: int32 description: Same as requested sport Id. last: type: integer format: int64 description: >- Use this value for the subsequent requests for since query parameter to get just the changes since previous response. leagues: type: array description: Contains a list of Leagues. items: $ref: '#/components/schemas/SettledFixturesLeague' SettledFixturesLeague: type: object properties: id: type: integer format: int32 description: League Id. events: type: array description: Contains a list of events. items: $ref: '#/components/schemas/SettledFixturesEvent' SettledFixturesEvent: type: object properties: id: type: integer format: int64 description: Event Id. periods: type: array description: Contains a list of periods. items: $ref: '#/components/schemas/SettledFixturesPeriod' SettledFixturesPeriod: type: object properties: number: type: integer format: int32 description: >- This represents the period of the match. status: type: integer format: int32 description: | Period settlement status. 1 = Event period is settled, 2 = Event period is re-settled, 3 = Event period is cancelled, 4 = Event period is re-settled as cancelled, 5 = Event is deleted enum: - 1 - 2 - 3 - 4 - 5 settlementId: type: integer format: int64 description: >- Unique id of the settlement. In case of a re-settlement, a new settlementId and settledAt will be generated. settledAt: type: string format: date-time description: Date and time in UTC when the period was settled. team1Score: type: integer format: int32 description: Team1 score. team2Score: type: integer format: int32 description: Team2 score. team1ScoreSets: type: integer format: int32 description: Team1 sets score. Supported for tennis only. deprecated: true team2ScoreSets: type: integer format: int32 description: Team2 sets score. Supported for tennis only. deprecated: true cancellationReason: $ref: '#/components/schemas/CancellationReasonType' CancellationReasonType: type: object properties: code: type: string description: Cancellation Reason Code details: $ref: '#/components/schemas/CancellationReasonDetailsType' CancellationReasonDetailsType: type: object properties: key: type: string value: type: string InRunningResponse: type: object properties: sports: type: array description: Sports container items: $ref: '#/components/schemas/InRunningSport' InRunningSport: type: object properties: id: type: integer format: int32 description: Sport Id leagues: type: array description: Leagues container items: $ref: '#/components/schemas/InRunningLeague' InRunningLeague: type: object properties: id: type: integer format: int32 description: League Id events: type: array description: Events container items: $ref: '#/components/schemas/InRunningEvent' InRunningEvent: type: object properties: id: type: integer format: int64 description: Game Id state: type: integer format: int32 description: | State of the game. 1 = First half in progress, 2 = Half time in progress, 3 = Second half in progress, 4 = End of regular time, 5 = First half extra time in progress, 6 = Extra time half time in progress, 7 = Second half extra time in progress, 8 = End of extra time, 9 = End of Game, 10 = Game is temporary suspended, 11 = Penalties in progress enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 elapsed: type: integer format: int32 description: Elapsed minutes Leagues: type: object properties: leagues: type: array description: Leagues container items: $ref: '#/components/schemas/League' League: type: object properties: id: type: integer format: int32 description: League Id. name: type: string description: Name of the league. homeTeamType: type: string description: >- Specifies whether the home team is team1 or team2. You need this information to place a bet. hasOfferings: type: boolean description: Whether the league currently has events or specials. container: type: string description: 'Represents grouping for the league, usually a region/country' allowRoundRobins: type: boolean description: >- Specifies whether you can place parlay round robins on events in this league. leagueSpecialsCount: type: integer format: int32 description: Indicates how many specials are in the given league. eventSpecialsCount: type: integer format: int32 description: Indicates how many game specials are in the given league. eventCount: type: integer format: int32 description: Indicates how many events are in the given league. LineResponse: type: object properties: status: type: string description: >- If the value is NOT_EXISTS, than this will be the only parameter in the response. All other params would be empty. [SUCCESS = OK, NOT_EXISTS = Line not offered anymore] enum: - SUCCESS - NOT_EXISTS price: type: number format: double description: Latest price. lineId: type: integer format: int64 description: Line identification needed to place a bet. altLineId: type: integer format: int64 description: >- This would be needed to place the bet if the handicap is on alternate line, otherwise it will not be populated in the response. team1Score: type: integer format: int32 description: Team 1 score for the period 0. Applicable to soccer only. team2Score: type: integer format: int32 description: Team 2 score for the period 0. Applicable to soccer only. team1RedCards: type: integer format: int32 description: Team 1 red cards for the period 0. Applicable to soccer only. team2RedCards: type: integer format: int32 description: Team 2 red cards for the period 0. Applicable to soccer only. maxRiskStake: type: number format: double description: Maximum bettable risk amount. minRiskStake: type: number format: double description: Minimum bettable risk amount. maxWinStake: type: number format: double description: Maximum bettable win amount. minWinStake: type: number format: double description: Minimum bettable win amount. effectiveAsOf: type: string description: Line is effective as of this date and time in UTC. periodTeam1Score: type: integer format: int32 description: Team 1 score for the supported periods. Applicable to soccer only. periodTeam2Score: type: integer format: int32 description: Team 2 score for the supported periods. Applicable to soccer only. periodTeam1RedCards: type: integer format: int32 description: Team 1 red cards for the supported periods. Applicable to soccer only. periodTeam2RedCards: type: integer format: int32 description: Team 2 red cards for the supported periods. Applicable to soccer only. ParlayLinesRequest: type: object properties: oddsFormat: type: string description: >- Odds in the response will be in this format. [American, Decimal, HongKong, Indonesian, Malay] enum: - American - Decimal - HongKong - Indonesian - Malay legs: type: array description: This is a collection of legs items: $ref: '#/components/schemas/ParlayLineRequest' ParlayLineRequest: type: object properties: uniqueLegId: type: string description: >- This unique id of the leg. It used to identify and match leg in the response. eventId: type: integer format: int64 description: Id of the event. periodNumber: type: integer format: int32 description: >- This represents the period of the match. legBetType: type: string description: >- SPREAD, MONEYLINE, TOTAL_POINTS and TEAM_TOTAL_POINTS are supported. enum: - SPREAD - MONEYLINE - TOTAL_POINTS - TEAM_TOTAL_POINTS team: type: string description: >- Chosen team type. This is needed only for SPREAD and MONEYLINE wager types. [Team1, Team2, Draw (MONEYLINE only)] enum: - Team1 - Team2 - Draw side: type: string description: >- Chosen side. This is needed only for TOTAL_POINTS wager type. [OVER, UNDER] enum: - OVER - UNDER handicap: type: number format: double description: This is needed for SPREAD and TOTAL_POINTS bet type. required: - uniqueLegId - eventId - periodNumber - legBetType ParlayLinesResponseV2: type: object properties: status: type: string description: >- Status of the parlay [VALID = Parlay is valid, PROCESSED_WITH_ERROR = Parlay contains error(s)] example: PROCESSED_WITH_ERROR enum: - VALID - PROCESSED_WITH_ERROR error: type: string description: >- INVALID_LEGS. Signifies that one or more legs are invalid. Populated only if status is PROCESSED_WITH_ERROR. example: INVALID_LEGS minRiskStake: type: number format: double description: Minimum allowed stake amount. maxParlayRiskStake: type: number format: double description: Maximum allowed stake amount for parlay bets. For round robin max stake [see FAQ](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-round-robin-max-stake). maxRoundRobinTotalRisk: type: number format: double description: Maximum allowed total stake amount for all the parlay bets in the round robin. maxRoundRobinTotalWin: type: number format: double description: Maximum allowed total win amount for all the parlay bets in the round robin. roundRobinOptionWithOdds: type: array description: >- Provides array with all acceptable Round Robin options with parlay odds for that option. items: $ref: '#/components/schemas/RoundRobinOptionWithOddsV2' legs: type: array description: >- The collection of legs (the format of the object is described below). items: $ref: '#/components/schemas/ParlayLineLeg' required: - status ParlayLinesResponse: type: object properties: status: type: string description: >- Status of the parlay [VALID = Parlay is valid, PROCESSED_WITH_ERROR = Parlay contains error(s)] example: PROCESSED_WITH_ERROR enum: - VALID - PROCESSED_WITH_ERROR error: type: string description: >- INVALID_LEGS. Signifies that one or more legs are invalid. Populated only if status is PROCESSED_WITH_ERROR. example: INVALID_LEGS maxRiskStake: type: number format: double description: Maximum allowed stake amount. minRiskStake: type: number format: double description: Minimum allowed stake amount. roundRobinOptionWithOdds: type: array description: >- Provides array with all acceptable Round Robin options with parlay odds for that option. items: $ref: '#/components/schemas/RoundRobinOptionWithOdds' legs: type: array description: >- The collection of legs (the format of the object is described below). items: $ref: '#/components/schemas/ParlayLineLeg' required: - status RoundRobinOptionWithOdds: type: object properties: roundRobinOption: type: string description: | RoundRobinOptions Parlay = Single parlay that include all wagers (No Round Robin), TwoLegRoundRobin = Multiple parlays having 2 wagers each (round robin style), ThreeLegRoundRobin = Multiple parlays having 3 wagers each (round robin style), FourLegRoundRobin = Multiple parlays having 4 wagers each (round robin style), FiveLegRoundRobin = Multiple parlays having 5 wagers each (round robin style), SixLegRoundRobin = Multiple parlays having 6 wagers each (round robin style), SevenLegRoundRobin = Multiple parlays having 7 wagers each (round robin style), EightLegRoundRobin = Multiple parlays having 8 wagers each (round robin style) enum: - Parlay - TwoLegRoundRobin - ThreeLegRoundRobin - FourLegRoundRobin - FiveLegRoundRobin - SixLegRoundRobin - SevenLegRoundRobin - EightLegRoundRobin odds: type: number format: double description: Parlay odds for this option. unroundedDecimalOdds: type: number format: double description: >- Unrounded parlay odds in decimal format to be used for calculations only required: - roundRobinOption - odds - unroundedDecimalOdds RoundRobinOptionWithOddsV2: type: object properties: roundRobinOption: type: string description: | RoundRobinOptions Parlay = Single parlay that include all wagers (No Round Robin), TwoLegRoundRobin = Multiple parlays having 2 wagers each (round robin style), ThreeLegRoundRobin = Multiple parlays having 3 wagers each (round robin style), FourLegRoundRobin = Multiple parlays having 4 wagers each (round robin style), FiveLegRoundRobin = Multiple parlays having 5 wagers each (round robin style), SixLegRoundRobin = Multiple parlays having 6 wagers each (round robin style), SevenLegRoundRobin = Multiple parlays having 7 wagers each (round robin style), EightLegRoundRobin = Multiple parlays having 8 wagers each (round robin style) enum: - Parlay - TwoLegRoundRobin - ThreeLegRoundRobin - FourLegRoundRobin - FiveLegRoundRobin - SixLegRoundRobin - SevenLegRoundRobin - EightLegRoundRobin odds: type: number format: double description: Parlay odds for this option. unroundedDecimalOdds: type: number format: double description: >- Unrounded parlay odds in decimal format to be used for calculations only numberOfBets: type: number format: int description: Number of bets in the roundRobinOption. required: - roundRobinOption - odds - unroundedDecimalOdds ParlayLineLeg: type: object properties: status: type: string description: >- Status of the request. [VALID = Valid leg, PROCESSED_WITH_ERROR = Processed with error] enum: - VALID - PROCESSED_WITH_ERROR errorCode: type: string description: > When Status is PROCESSED_WITH_ERROR, provides a code indicating the specific problem. CORRELATED - The leg is correlated with another one, CANNOT_PARLAY_LIVE_GAME - The wager is placed on Live game, EVENT_NO_LONGER_AVAILABLE_FOR_BETTING - The event is no longer offered for Parlays, EVENT_NOT_OFFERED_FOR_PARLAY - The event is not offered for Parlays, LINE_DOES_NOT_BELONG_TO_EVENT - LineId does not match the EventId specified in the request, WAGER_TYPE_NO_LONGER_AVAILABLE_FOR_BETTING - Wager Type no longer available for betting, WAGER_TYPE_NOT_VALID_FOR_PARLAY - Wager Type not valid for parlay, WAGER_TYPE_CONFLICTS_WITH_OTHER_LEG - Wager Type conflicts with other leg SAME_EVENT_PERIODS_ARE_DISALLOWED - It's not allowed to parlay selected periods of the same event. enum: - CORRELATED - CANNOT_PARLAY_LIVE_GAME - EVENT_NO_LONGER_AVAILABLE_FOR_BETTING - EVENT_NOT_OFFERED_FOR_PARLAY - LINE_DOES_NOT_BELONG_TO_EVENT - WAGER_TYPE_NO_LONGER_AVAILABLE_FOR_BETTING - WAGER_TYPE_NOT_VALID_FOR_PARLAY - WAGER_TYPE_CONFLICTS_WITH_OTHER_LEG - SAME_EVENT_PERIODS_ARE_DISALLOWED legId: type: string description: Echo of the legId from the request. lineId: type: integer format: int64 description: Line identification. altLineId: type: integer format: int64 description: >- If alternate Line was requested, the Id of that line will be returned. price: type: number format: double description: Price correlatedLegs: type: array description: >- If errorCode is CORRELATED will contain legIds of all correlated legs. items: type: string required: - legId - status LinesRequestTeaser: type: object properties: teaserId: type: integer format: int64 description: >- Unique identifier. Teaser details can be retrieved from a call to v1/teaser/groups endpoint. oddsFormat: type: string description: >- Format the odds are returned in.. = [American, Decimal, HongKong, Indonesian, Malay] enum: - American - Decimal - HongKong - Indonesian - Malay legs: type: array description: Collection of Teaser Legs. items: $ref: '#/components/schemas/TeaserLineRequest' required: - teaserId - oddsFormat - legs TeaserLineRequest: type: object properties: legId: type: string description: Client genereated GUID for uniquely identifying the leg. eventId: type: integer format: int64 description: Unique identifier. periodNumber: type: integer format: int32 description: >- Period of the match that is being bet on. v1/periods endpoint can be used to retrieve all periods for a sport. betType: type: string description: >- Type of bet. Currently only SPREAD and TOTAL_POINTS are supported. [SPREAD, TOTAL_POINTS] enum: - SPREAD - TOTAL_POINTS team: type: string description: 'Team being bet on for a spread line. [Team1, Team2]' enum: - Team1 - Team2 side: type: string description: 'Side of a total line being bet on. [OVER, UNDER]' enum: - OVER - UNDER handicap: type: number format: double description: Number of points. required: - legId - eventId - periodNumber - betType - handicap TeaserLinesResponse: type: object properties: status: type: string description: >- Status of the request. [VALID = Teaser is valid, PROCESSED_WITH_ERROR = Teaser contains one or more errors] example: PROCESSED_WITH_ERROR enum: - VALID - PROCESSED_WITH_ERROR errorCode: type: string description: > When Status is PROCESSED_WITH_ERROR, provides a code indicating the specific problem. INVALID_LEGS = One or more of the legs is invalid, SAME_EVENT_ONLY_REQUIRED = Teaser specified requires that all legs are from the same event, TEASER_DISABLED = Teaser has been disabled and cannot be bet on, TEASER_DOES_NOT_EXIST = The teaser identifier could not be found, TOO_FEW_LEGS = You do not meet the minimum number of legs requirement for the teaser specified, TOO_MANY_LEGS = You are above the maximum number of legs for the teaser specified, UNKNOWN = An unknown error has occurred enum: - INVALID_LEGS - SAME_EVENT_ONLY_REQUIRED - TEASER_DISABLED - TEASER_DOES_NOT_EXIST - TOO_FEW_LEGS - TOO_MANY_LEGS - UNKNOWN price: type: number format: double description: Price for the bet. minRiskStake: type: number format: double description: Minimum bet amount for WIN_RISK_TYPE.RISK. maxRiskStake: type: number format: double description: Maximum bet amount for WIN_RISK_TYPE.RISK. minWinStake: type: number format: double description: Minimum bet amount for WIN_RISK_TYPE.WIN. maxWinStake: type: number format: double description: Maximum bet amount for WIN_RISK_TYPE.WIN. legs: type: array description: Collection of Teaser Legs from the request. items: $ref: '#/components/schemas/TeaserLineLeg' required: - status - legs TeaserLineLeg: type: object properties: status: type: string description: >- Status of the request. [VALID = Teaser is valid, PROCESSED_WITH_ERROR = Teaser contains error(s)] example: PROCESSED_WITH_ERROR enum: - VALID - PROCESSED_WITH_ERROR errorCode: type: string description: > When Status is PROCESSED_WITH_ERROR, provides a code indicating the specific problem. EVENT_NOT_FOUND - The event specified could not be found, POINTS_NO_LONGER_AVAILABLE - The points requested are no longer available. This means that the lines moved, UNKNOWN - An unknown error has occured, WAGER_TYPE_NOT_VALID_FOR_TEASER - The specified wager type is not valid for teasers GAME_TEASER_DISABLED - Teasers are disabled for the event. enum: - EVENT_NOT_FOUND - POINTS_NO_LONGER_AVAILABLE - UNKNOWN - WAGER_TYPE_NOT_VALID_FOR_TEASER - GAME_TEASER_DISABLED legId: type: string description: Echo of the unique id for the leg from the request. lineId: type: integer format: int64 description: Line identification. required: - legId - status OddsResponse: type: object properties: sportId: type: integer format: int32 description: Same as requested sport Id. last: type: integer format: int64 description: >- Use this value for the subsequent requests for since query parameter to get just the changes since previous response. leagues: type: array description: Contains a list of Leagues. items: $ref: '#/components/schemas/OddsLeague' OddsLeague: type: object properties: id: type: integer format: int32 description: League Id. events: type: array description: Contains a list of events. items: $ref: '#/components/schemas/OddsEvent' OddsEvent: type: object properties: id: type: integer format: int64 description: Event Id. awayScore: type: number format: double description: Away team score. Only for live soccer events.Supported only for full match period (number=0). homeScore: type: number format: double description: Home team score. Only for live soccer events.Supported only for full match period (number=0). awayRedCards: type: integer format: int32 description: Away team red cards. Only for live soccer events. Supported only for full match period (number=0). homeRedCards: type: integer format: int32 description: Home team red cards. Only for live soccer events.Supported only for full match period (number=0). periods: type: array description: Contains a list of periods. items: $ref: '#/components/schemas/OddsPeriod' OddsPeriod: type: object properties: lineId: type: integer format: int64 description: Line Id. number: type: integer format: int32 description: >- This represents the period of the match. cutoff: type: string format: date-time description: Period’s wagering cut-off date in UTC. status: type: integer format: int32 description: | 1 - online, period is open for betting 2 - offline, period is not open for betting example: 1 maxSpread: type: number format: double description: Maximum spread bet volume. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) maxMoneyline: type: number format: double description: Maximum moneyline bet volume. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) maxTotal: type: number format: double description: Maximum total points bet volume. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) maxTeamTotal: type: number format: double description: Maximum team total points bet volume. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) moneylineUpdatedAt: type: string format: date-time description: Date time of the last moneyline update. spreadUpdatedAt: type: string format: date-time description: Date time of the last spread update. totalUpdatedAt: type: string format: date-time description: Date time of the last total update. teamTotalUpdatedAt: type: string format: date-time description: Date time of the last team total update. spreads: type: array description: Container for spread odds. items: $ref: '#/components/schemas/OddsSpread' moneyline: $ref: '#/components/schemas/OddsMoneyline' totals: type: array description: Container for team total points. items: $ref: '#/components/schemas/OddsTotal' teamTotal: $ref: '#/components/schemas/OddsTeamTotals' awayScore: type: number format: double description: Period away team score. Only for live soccer events. Supported only for Match (number=0) and Extra Time (number=3). homeScore: type: number format: double description: Period home team score. Only for live soccer events. Supported only for Match (number=0) and Extra Time (number=3). awayRedCards: type: integer format: int32 description: Period away team red cards. Only for live soccer events. Supported only for Match (number=0) and Extra Time (number=3). homeRedCards: type: integer format: int32 description: Period home team red cards. Only for live soccer events. Supported only for Match (number=0) and Extra Time number=3). OddsSpread: type: object properties: altLineId: type: integer format: int64 description: This is present only if it’s alternative line. hdp: type: number format: double description: Home team handicap. home: type: number format: double description: Home team price. away: type: number format: double description: Away team price. max: type: number format: double nullable: true description: Maximum bet volume. Present only on alternative lines, if set it overides `maxSpread` market limit. OddsMoneyline: type: object properties: home: type: number format: double description: Away team price away: type: number format: double description: Away team price. draw: type: number format: double description: Draw price. This is present only for events we offer price for draw. OddsTotal: type: object properties: altLineId: type: integer format: int64 description: This is present only if it’s alternative line. points: type: number format: double description: Total points. over: type: number format: double description: Over price. under: type: number format: double description: Under price. max: type: number format: double nullable: true description: Maximum bet volume. Present only on alternative lines, if set it overides `maxTotal` market limit. OddsTeamTotals: type: object properties: home: $ref: '#/components/schemas/OddsTeamTotal' away: $ref: '#/components/schemas/OddsTeamTotal' OddsTeamTotal: type: object properties: points: type: number format: double description: Total points. over: type: number format: double description: Over price. under: type: number format: double description: Under price. TeaserOddsResponse: type: object properties: teaserId: type: integer format: int64 description: >- Unique identifier. Teaser details can be retrieved from a call to Get Teaser Groups endpoint. sportId: type: integer format: int32 description: >- Unique identifier. Sport details can be retrieved from a call to Get Sports endpoint. leagues: type: array description: A collection of League. items: $ref: '#/components/schemas/TeaserOddsLeague' TeaserOddsLeague: type: object properties: id: type: integer format: int32 description: >- Unique identifier. League details can be retrieved from a call to Get Leagues endpoint. events: type: array description: A collection of Event. items: $ref: '#/components/schemas/TeaserOddsEvent' TeaserOddsEvent: type: object properties: id: type: integer format: int64 description: Unique identifier. periods: type: array description: >- A collection of periods indicating the period numbers available for betting. items: $ref: '#/components/schemas/TeaserOddsPeriod' TeaserOddsPeriod: type: object properties: number: type: integer format: int32 description: >- Period of the match that the request is for. Refer to v1/periods endpoint to retrieve all valid periods for a sport. lineId: type: integer format: int64 description: Unique identifier. spreadUpdatedAt: type: string format: date-time description: Date time of the last spread update. totalUpdatedAt: type: string format: date-time description: Date time of the last total update. spread: $ref: '#/components/schemas/TeaserOddsSpread' total: $ref: '#/components/schemas/TeaserOddsTotalPoints' TeaserOddsSpread: type: object properties: maxBet: type: number format: double description: Maximum bet amount volume. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) homeHdp: type: number format: double description: >- Home team handicap. Refer to Get Fixtures endpoint to determine home and away teams. awayHdp: type: number format: double description: >- Away team handicap. Refer to Get Fixtures endpoint to determine home and away teams. altHdp: type: boolean description: >- Whether the spread is offer with alterantive teaser points. Events with alternative teaser points may vary from teaser definition. example: false TeaserOddsTotalPoints: type: object properties: maxBet: type: number format: double description: Maximum bet amount volume. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) overPoints: type: number format: double description: Over points. underPoints: type: number format: double description: Under points. SportPeriod: type: object properties: number: type: integer format: int32 description: Period Number description: type: string description: Description for the period shortDescription: type: string description: Short description for the period spreadDescription: type: string description: Description for the Spread moneylineDescription: type: string description: Description for the Moneyline totalDescription: type: string description: Description for the Totals team1TotalDescription: type: string description: Description for Team1 Totals team2TotalDescription: type: string description: Description for Team2 Totals spreadShortDescription: type: string description: Short description for the Spread moneylineShortDescription: type: string description: Short description for the Moneyline totalShortDescription: type: string description: Short description for the Totals team1TotalShortDescription: type: string description: Short description for Team1 Totals team2TotalShortDescription: type: string description: Short description for Team2 Totals SportsResponse: type: object properties: sports: type: array description: Sports container. items: $ref: '#/components/schemas/Sport' Sport: type: object properties: id: type: integer format: int32 description: Sport Id. name: type: string description: Sport name. hasOfferings: type: boolean description: Whether the sport currently has events or specials. leagueSpecialsCount: type: integer format: int32 description: Indicates how many specials are in the given sport. eventSpecialsCount: type: integer format: int32 description: Indicates how many event specials are in the given sport. eventCount: type: integer format: int32 description: Indicates how many events are in the given sport. TeaserGroupsResponse: type: object properties: teaserGroups: type: array description: A collection of TeaserGroups containing available teasers. items: $ref: '#/components/schemas/TeaserGroups' TeaserGroups: type: object properties: id: type: integer format: int64 description: Unique identifier. name: type: string description: Friendly name for the Teaser Group teasers: type: array description: A collection of Teaser. items: $ref: '#/components/schemas/TeaserGroupsTeaser' TeaserGroupsTeaser: type: object properties: id: type: integer format: int64 description: Unique identifier. description: type: string description: Description for the Teaser. sportId: type: integer format: int32 description: >- Unique Sport identifier. Sport details can be retrieved from a call to v2/sports endpoint. minLegs: type: integer format: int32 description: Minimum number of legs that must be selected. maxLegs: type: integer format: int32 description: Maximum number of legs that can be selected. sameEventOnly: type: boolean description: >- If 'true' then all legs must be from the same event, otherwise legs can be from different events. payouts: type: array description: A collection of Payout indicating all possible payout combinations. items: $ref: '#/components/schemas/TeaserGroupsPayout' leagues: type: array description: A collection of Leagues available to the teaser. items: $ref: '#/components/schemas/TeaserGroupsLeague' TeaserGroupsPayout: type: object properties: numberOfLegs: type: integer format: int32 description: Number of legs that must be bet and won to get the associated price. price: type: number format: double description: Price of the bet given the specified number of legs. TeaserGroupsLeague: type: object properties: id: type: integer format: int32 description: >- Unique identifier. League details can be retrieved from a call to v2/leagues endpoint. spread: $ref: '#/components/schemas/TeaserGroupsBetType' total: $ref: '#/components/schemas/TeaserGroupsBetType' TeaserGroupsBetType: type: object properties: points: type: number format: double description: Number of points the line will be teased for the given league. SpecialsFixturesResponse: type: object properties: sportId: format: int32 description: Id of a sport for which to retrieve the odds. type: integer last: format: int64 description: >- Used for retrieving changes only on subsequent requests. Provide this value as the Since paramter in subsequent calls to only retrieve changes. type: integer leagues: description: Contains a list of Leagues. type: array items: $ref: '#/components/schemas/SpecialsFixturesLeague' SpecialsFixturesLeague: type: object properties: id: format: int32 description: FixturesLeague Id. type: integer specials: description: A collection of Specials type: array items: $ref: '#/components/schemas/SpecialFixture' SpecialFixture: type: object properties: id: format: int64 description: Unique Id type: integer betType: description: 'The type [MULTI_WAY_HEAD_TO_HEAD, SPREAD, OVER_UNDER]' enum: - MULTI_WAY_HEAD_TO_HEAD - SPREAD - OVER_UNDER type: string name: description: Name of the special. type: string date: format: date-time description: Date of the special in UTC. type: string cutoff: format: date-time description: Wagering cutoff date in UTC. type: string category: description: The category that the special falls under. type: string units: description: >- Measurment in the context of the special. This is applicable to specials bet type spead and over/under. In a hockey special this could be goals. type: string status: description: > Status of the Special O = This is the starting status. It means that the lines are open for betting, H = This status indicates that the lines are temporarily unavailable for betting, I = This status indicates that one or more lines have a red circle (a lower maximum bet amount) enum: - O - H - I type: string event: $ref: '#/components/schemas/SpecialsFixturesEvent' contestants: description: ContestantLines available for wagering. type: array items: $ref: '#/components/schemas/SpecialsFixturesContestant' liveStatus: type: integer format: int32 description: > When a special is linked to an event, we will return live status of the event, otherwise it will be 0. 0 = No live betting will be offered on this event, 1 = Live betting event, 2 = Live betting will be offered on this match, but on a different event. Please note that live delay is applied when placing bets on special with LiveStatus=1 enum: - 0 - 1 - 2 SpecialsFixturesEvent: type: object description: Optional event asscoaited with the special. properties: id: format: int32 description: Event Id type: integer periodNumber: format: int32 description: >- The period of the match. type: integer home: type: string description: Home team name. away: type: string description: Away team name. SpecialsFixturesContestant: type: object properties: id: format: int64 description: Contestant Id. type: integer name: description: Name of the contestant. type: string rotNum: format: int32 description: Rotation Number. type: integer SettledSpecialsResponse: description: Response dto for SettledSpecials request type: object properties: sportId: format: int32 description: Id of a sport for which to retrieve the odds. type: integer last: format: int64 description: Last index for the settled fixture type: integer leagues: description: List of Leagues. type: array items: $ref: '#/components/schemas/SettledSpecialsLeague' SettledSpecialsLeague: description: League Dto to hold all settled specials for the league type: object properties: id: format: int32 description: League Id. type: integer specials: description: A collection of Settled Specials type: array items: $ref: '#/components/schemas/SettledSpecial' SettledSpecial: description: Settled Special type: object properties: id: format: int64 description: Id for the Settled Special type: integer status: format: int32 description: Status of the settled special. type: integer settlementId: format: int64 description: Id for the Settled Special type: integer settledAt: format: date-time description: Settled DateTime type: string cancellationReason: $ref: '#/components/schemas/CancellationReason' description: Cancellation Reason for Special Event contestants: description: A collection of contestants type: array items: $ref: '#/components/schemas/SettledContestants' SettledContestants: description: Settled Special type: object properties: id: description: Contestant identifier type: integer format: int64 example: 1206517455 name: description: Contestant name type: string example: Union Magdalena outcome: description: > Contestant outcomes W = Won, L = Lost, X = Cancelled, T = Tie, Z = Scratched type: string example: Z enum: - W - L - X - T - Z SpecialLineResponse: type: object properties: status: description: 'Status [SUCCESS = OK, NOT_EXISTS = Line not offered anymore]' enum: - SUCCESS - NOT_EXISTS type: string specialId: format: int64 description: Special Id. type: integer contestantId: format: int64 description: Contestant Id. type: integer minRiskStake: format: double description: Minimum bettable risk amount. type: number maxRiskStake: format: double description: Maximum bettable risk amount. type: number minWinStake: format: double description: Minimum bettable win amount. type: number maxWinStake: format: double description: Maximum bettable win amount. type: number lineId: format: int64 description: Line identification needed to place a bet. type: integer price: format: double description: Latest price. type: number handicap: format: double description: Handicap. type: number SpecialOddsResponse: type: object properties: sportId: format: int32 description: Id of a sport for which to retrieve the odds. type: integer last: format: int64 description: >- Used for retrieving changes only on subsequent requests. Provide this value as the Since paramter in subsequent calls to only retrieve changes. type: integer leagues: description: Contains a list of Leagues. type: array items: $ref: '#/components/schemas/SpecialOddsLeague' SpecialOddsLeague: type: object properties: id: format: int32 description: League id. type: integer specials: description: A collection of FixturesSpecial. type: array items: $ref: '#/components/schemas/SpecialOddsSpecial' SpecialOddsSpecial: type: object properties: id: format: int64 description: Special Id. type: integer maxBet: format: double description: Maximum bet volume amount. See [How to calculate max risk from the max volume](https://github.com/pinnacleapi/pinnacleapi-documentation/blob/master/FAQ.md#how-to-calculate-max-risk-from-the-max-volume-limits-in-odds) type: number contestantLines: description: ContestantLines available for wagering on. type: array items: $ref: '#/components/schemas/SpecialOddsContestantLine' SpecialOddsContestantLine: type: object properties: id: format: int64 description: ContestantLine Id. type: integer lineId: format: int64 description: Line identifier required for placing a bet. type: integer price: format: double description: Price of the line. type: number handicap: format: double description: 'A number indicating the spread, over/under etc.' type: number