Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

This document describes technologies available for customers wishing to integrate with Multibet API directly. It explains the overall architecture, integration points and requirements.

...

Lucidchart
documentToken
pageCount1
autoUpdatetrue
alignleft
typerich
autoSize1
macroIdecedf2ea-5045-4885-8763-b3190d04b3e6
pagesinstanceIdc1f2f8aa-fd3d-3053-9304-318e88b324bd
pages
width700
documentIddocumentToken20151fe6-7ce9-44de-8e33-7bb5fe21674e|119919583|4275994729|M5pxzv0Xbx77wHfbdPL31TSPQQ1DyUNliCtxSQ2QNx4=
documentId20151fe6-7ce9-44de-8e33-7bb5fe21674e|119919583|4275994729|M5pxzv0Xbx77wHfbdPL31TSPQQ1DyUNliCtxSQ2QNx4=
updated1675423120274
height500

...

Environment

Base URL

Notes

Production

https://multibet.api.geniussports.com/v1v2/

Production environment

UAT

https://uat.multibet.api.geniussports.com/v1v2/

User Acceptance Testing. Limited capacity.

Production Swagger

https://multibet.api.geniussports.com/api-docs/index.html#/

UAT Swagger

https://uat.multibet.api.geniussports.com/api-docs/index.html#/

Authentication

All calls to the API must be authenticated and provide an API key. Each request must include the following headers:

...

Code Block
curl --request GET \
  --url https://multibet.api.geniussports.com/v1v2/sports/10/fixtures/1/results?legs=TotalGoals_Over_3.5 \
  --header 'authorization: Bearer <access-token> \'
  --header 'x-api-key: <api-key>'

...

  • Fixtures - Returns fixtures that are available to be used in Multibet - In Progress currently

  • Markets-types - Provides a list of markets and selections that are available to bet upon

  • Prices - The price of a particular multibet

  • Results - The result of a particular multibet

Fixtures

Returns list of fixtures that are available to be used in Multibet. FixtureId is required to call remaining three endpoints: Markets-types, Prices, ResultsThis endpoint is in progress currently.of fixtures that are available to be used in Multibet. FixtureId is required to call the remaining three endpoints: Markets-types, Prices, Results

API Domain Names

Environment

Base URL

Notes

Production

https://coverage.api.geniussports.com/api/

Production environment

UAT

https://uat.coverage.api.geniussports.com/api/

User Acceptance Testing. Limited capacity.

Authentication

You should go through all steps in “Getting an access token” section and authenticate using the Coverage API <api-key>

Getting an API key

Your <api-key> for using Coverage API will be provided to you during the onboarding process.

Calling the API

Once you have an <access-token> and your <api-key> you can pass these as headers to the API:

Code Block
curl --request GET \
  --url https://coverage.api.geniussports.com/api/MultibetPreMatchCoverage/event/{fixtureId} \
  --header 'Authorization: Bearer <access-token> \'
  --header 'x-api-key: <api-key>'

Fixtures Resources

Multibet Pre-Match coverage by sport and date range

Returns data about a particular fixture that will show this fixture is available for use in Multibet Pre-Match.


Path

GET MultibetPreMatchCoverage/range/sport/{sportId}/from/{from}/to/{to}

{sportId} should be replaced by the relevant Genius Sports ids. Only fixtures starting after this date {from} and only fixtures starting before this {to} will be returned. Format: yyyy-MM-dd E.g. 2023-07-15

Example: https://coverage.api.geniussports.com/api/MultibetPreMatchCoverage/range/sport/10/from/2023-07-13/to/2023-07-15

Response Body

Code Block
[
    {
        "betgeniusFixtureId": 123456,
        "sourceFixtureId": "123456",
        "source": "GeniusSportsMultibetPreMatch",
        "sportId": 10,
        "available": true,
        "coverageType": 4
    },
    {
        "betgeniusFixtureId": 1234567,
        "sourceFixtureId": "1234567",
        "source": "GeniusSportsMultibetPreMatch",
        "sportId": 10,
        "available": false,
        "coverageType": 4
    },
    {
        "betgeniusFixtureId": 12345678,
        "sourceFixtureId": "12345678",
        "source": "GeniusSportsMultibetPreMatch",
        "sportId": 10,
        "available": true,
        "coverageType": 4
    }
]

Multibet Pre-Match coverage by fixture

Returns data about a particular fixture that will show this fixture is available for use in Multibet Pre-Match.


Path

GET MultibetPreMatchCoverage/event/{fixtureId}

{fixtureId} should be replaced by the relevant Genius Sports ids.

Example: https://coverage.api.geniussports.com/api/MultibetPreMatchCoverage/event/123456

Response Body

Code Block
[
    {
        "betgeniusFixtureId": 123456,
        "sourceFixtureId": "123456",
        "source": "GeniusSportsMultibetPreMatch",
        "sportId": 10,
        "available": true,
        "coverageType": 4
    }
]

Multibet In-Play coverage by sport and date range

Returns data about a particular fixture that will show this fixture is available for use in Multibet In-Play.


Path

GET MultibetInPlayCoverage/range/sport/{sportId}/from/{from}/to/{to}

{sportId} should be replaced by the relevant Genius Sports ids. Only fixtures starting after this date {from} and only fixtures starting before this {to} will be returned. Format: yyyy-MM-dd E.g. 2023-07-15

Example: https://coverage.api.geniussports.com/api/MultibetInPlayCoverage/range/sport/10/from/2023-07-13/to/2023-07-15

Response Body

Code Block
[
    {
        "betgeniusFixtureId": 123456,
        "sourceFixtureId": "123456",
        "source": "GeniusSportsMultibetInPlay",
        "sportId": 10,
        "available": true,
        "coverageType": 4
    },
    {
        "betgeniusFixtureId": 1234567,
        "sourceFixtureId": "1234567",
        "source": "GeniusSportsMultibetInPlay",
        "sportId": 10,
        "available": false,
        "coverageType": 4
    },
    {
        "betgeniusFixtureId": 12345678,
        "sourceFixtureId": "12345678",
        "source": "GeniusSportsMultibetInPlay",
        "sportId": 10,
        "available": true,
        "coverageType": 4
    }
]

Multibet In-Play coverage by fixture

Returns data about a particular fixture that will show this fixture is available for use in Multibet In-Play.


Path

GET MultibetInPlayCoverage/event/{fixtureId}

{fixtureId} should be replaced by the relevant Genius Sports ids.

Example: https://coverage.api.geniussports.com/api/MultibetInPlayCoverage/event/123456

Response Body

Code Block
[
    {
        "betgeniusFixtureId": 123456,
        "sourceFixtureId": "123456",
        "source": "GeniusSportsMultibetInPlay",
        "sportId": 10,
        "available": true,
        "coverageType": 3
    }
]

Market-types

Returns a list of available markets to bet upon for a particular fixture. The available markets is sport specific and will also be affected by the current state of the fixture and what bets are already included in the multibet. For instance it wouldn’t be possible to bet upon a first quarter market during the second quarter of a fixture.

Path

GET sports/{sportId}/fixtures/{fixtureId}/market-types?legs={legs}

...

Example: https://multibet.api.geniussports.com/v1v2/sports/10/fixtures/123456/market-types?legs=WinMatchRegularTime_Home,HalfTimeTotalGoals_Over_2.5

...

Parameter

Encoding

Required

Description

legs

Leg Ids separated by “,”

See: https://geniussports.atlassian.net/wiki/spaces/BID/pages/4284252757/Multibet+API#Leg-Id

No

The ids of any bets that are already included in the multibet.

By providing this information the get-market-types method is able to exclude incompatible markets from the response. E.g. if the user has already selected to bet that the home team will win the match we can exclude the option to add a bet on the away team winning to the multibet.

If this parameter is omitted then all available markets will be returned.

 

Response Body

Field

Type

Nullable

Description

markets

Market[]

See: https://geniussports.atlassian.net/wiki/spaces/BID/pages/4284252757/Multibet+API#Market

No

Array of markets available to bet upon

...

Returns the price of the selected multibet.

Path

GET sports/{sportId}/fixtures/{fixtureId}/prices

Example: https://multibet.api.geniussports.com/v2/sports/10/fixtures/123456/prices?legs=WinMatchRegularTime_Home,HalfTimeTotalGoals_Over_2.5

...

Parameter

Encoding

Required

Description

legs

Leg Ids separated by “,”

See: https://geniussports.atlassian.net/wiki/spaces/BID/pages/4284252757/Multibet+API#Leg-Id

Yes

The ids of the bet legs that are included in the multibet. The array must contain a minimum of one leg, maximum 50 legs and the legs must be unique.

 

Response Body

Field

Type

Nullable

Description

decimalPrice

decimal

No

Decimal price for the multibet. Calculated from the probability of the bet winning with a margin applied.

probability

decimal

No

Probability of the multibet winning.

suspended

bool

No

Indicates that betting is currently suspended on one or more of the legs within the bet and it shouldn’t be accepted. Suspensions are generally short-term and relate to a temporary match situation such as a high risk of a score happening that could significantly affect probabilities.

Code Block
languagejson
{
    "decimalPrice": 1.66,
    "probability": 0.5656463943226999,
    "suspended": false
}

Results

Path

GET sports/{sportId}/fixtures/{fixtureId}/results

...

Example: https://multibet.api.geniussports.com/v1v2/sports/10/fixtures/123456/results?legs=WinMatchRegularTime_Home,HalfTimeTotalGoals_Over_2.5

...

Parameter

Encoding

Required

Description

legs

Leg Ids separated by “,”

See: https://geniussports.atlassian.net/wiki/spaces/BID/pages/4284252757/Multibet+API#Leg-Id

Yes

The ids of the bet legs that are included in the multibet. The array must contain a minimum of one leg, maximum 50 legs and the legs must be unique.

 

Response Body

Field

Type

Nullable

Description

result

x-extensible-enum

See https://geniussports.atlassian.net/wiki/spaces/BID/pages/4284252757/Multibet+API#Result

No

Overall result of the multibet.

legResults

LegResult[]

See https://geniussports.atlassian.net/wiki/spaces/BID/pages/4284252757/Multibet+API#LegResult

No

Result of each individual leg within the multibet. Minimum length one, maximum length 50, unique entries.

...