Bet Builders
Sport bet builders related endpoints
Returns personalized bet builder recommendations.
Produces recommended bet builders based on the provided input.
If the event_id parameter is passed, then count bet builders for the given event will be generated.
If an event_id is not provided, then count bet builders will be generated. In that case for each event its associated confidence will be also returned.
The amount of bet builders to generate per event will be dynamically calculated based on the personalization score of each event, promoting the most recommended ones. The query parameter max_count_per_event can be used to apply an upper limit on that dynamically calculated number.
The selections picked are the most relevant to the given user from the supported ones. Validation steps are also applied to ensure that the produced bet builders contain only valid and combinable selections.
Supported data providers
The current endpoint is available for specific data providers only, which are:
Contact the API team for integration with other data providers.
Supported markets
Only a subset of the available markets can be used and combined in a bet builder. Currently the supported markets are the following:
Notice that the above list contains the algorithm's supported markets. It is the responsibility of the operator to provide VAIX with the markets listed, or at least a subset of them, in order for them to be used.
Length of produced bet builder
There is the possibility that a bet builder with length less than the requested one will be returned, in case the markets offered for the given event are insufficient or not combinable.
Mostly applicable to cases where a big bet builder length is requested (> 6).
Integration concerns
The bet builder related endpoints are guaranteed to return a valid bet builder combination, including selections for markets the operator supports.
Notice that no odds calculation is taking place, meaning that the overall odds of the bet builder coupon should be calculated from the client's existing bet builder logic.
Getting two recommender bet builders with 3 selections
In this example we get two recommender bet builders containing 3 selections each for the event with id sr:match:40781327, for the user with id 1.
$ curl --request GET \
--url 'https://api.vaix.ai/api/sports/bet_builders/recommended?user=1&event_id=sr:match:40781327&length=3&count=2'The event id to get a bet builder for. If not set then the top count recommended events
of the given user will be picked and bet builders for them will be generated.
sr:match:23150637How many bet builders to produce in total.
1Example: 1Optional upper limit to the amount of bet builders to generate per event. Since the number of bet builders to generate per event is dynamically calculated based on their confidence (so more bet builders are generated for highly recommended events), this parameter can be used to apply a limit, for example if one wants only one bet builder per event regardless of their personalization score. If not set, it will be ignored.
1The minimum event's starting datetime. If not explicitly set it defaults to now.
Considers events starting after the from timestamp plus the given minutes/hours/days.
If not set defaults to 0 minutes.
The value must be in range [-7d - 7d].
0Example: -3hPattern: ^[+-]?[0-9]+([.][0-9]+)?[smhd]?$Considers events starting till the from timestamp plus the given
minutes/hours/days. If not set defaults to one day (24 hours).
The value must be in range [-7d - 7d].
2dExample: 2dPattern: ^[+-]?[0-9]+([.][0-9]+)?[smhd]?$The bet builder length.
2Example: 2Optional filtering on the events and markets to consider. The event related filters are ignored
in case the event_id parameter is provided. It expects a string adhering
to the filtering format, as described in the filtering section, e.g. market_status:eq:OPEN.
The user to get recommended bet builder for.
The columns to sort the results by. It expects a string adhering to
the ordering format, as described in the ordering section, e.g.
+league_confidence,-sport_confidence.
Optional selection of the object fields to retrieve. It expects a comma
separated list of strings, as described in the field selection section,
e.g. event_id,event_type.
["event_id","event_type","begin","country","country_id","league","league_id","sport","sport_id","participants","participant_ids","status","confidence","selection_id","bet_offer_id","market","market_id","market_type","market_type_id","uof_external_id","outcome","outcome_id","period","period_id","quote","quote_group","count","confidence"]Possible values: The operator to use for querying data. Notice that this is applied only if your account has access to multiple operators. In a different case the assigned operator to your account is used and the value of this field is ignored.
The bookmaker id to use for querying data. Notice that this is applied only
if your account has access to multiple operators. In a different case
the assigned operator to your account is used and the value of this
field is ignored. Note that this parameter is used together with the
sub_bookmaker_id parameter.
The sub-bookmaker id to use for querying data. Notice that this is applied only
if your account has access to multiple operators. In a different case
the assigned operator to your account is used and the value of this
field is ignored. Note that this parameter is used together with the
bookmaker_id parameter.
List of event types to consider when generating recommendations. One or more types can be provided. Available options are:
match: Standard matches to be considered.seasonal: Seasonal events to be considered.forced_events: Handpicked events to be considered regardless of their start_time.
match,forced_eventsPossible values: The location of the page where the request takes place.
inplay_widgetComma separated list of keywords. If given, this input will be used
as user demographics data for the recommendations, e.g country:gr,city:ath.
Custom client header, the value should be the name of the group the user belongs to
Authentication method to be used, supported values [vaix, iam]. Defaults to vaix
OK
Bad Request
Unauthorized
Forbidden
Not Acceptable
Request Entity Too Large
Unprocessable Entity
Too Early
Internal Server Error
GET /api/sports/bet_builders/recommended?user=text HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
"data": [
{
"begin": "2021-07-02T14:00:00Z",
"bet_builders": [
[
{
"bet_offer_id": null,
"count": 6,
"market": null,
"market_id": null,
"market_type": null,
"market_type_id": 1,
"outcome": null,
"outcome_id": 1,
"period": null,
"period_id": null,
"quote": 1.01,
"quote_group": "0-1.1",
"selection_id": "3e645b27118a119dc01ea11ace11d38d",
"uof_external_id": "uof:1/sr:sport:1/1/1"
},
{
"bet_offer_id": null,
"count": 7,
"market": null,
"market_id": null,
"market_type": null,
"market_type_id": 29,
"outcome": null,
"outcome_id": 74,
"period": null,
"period_id": null,
"quote": 5.5,
"quote_group": "4.2-7.4",
"selection_id": "741a8ce6e81f2f51a88b3dd63b80dab5",
"uof_external_id": "uof:1/sr:sport:1/29/74"
}
]
],
"confidence": 0.723419964,
"country": "International Clubs",
"country_id": "sr:category:393",
"event_id": "sr:match:27186050",
"event_type": null,
"league": "AFC Champions League",
"league_id": "sr:tournament:463",
"participant_ids": [
"sr:competitor:7644",
"sr:competitor:3376"
],
"participants": [
"Daegu FC",
"Beijing Guoan"
],
"sport": "Soccer",
"sport_id": "sr:sport:1",
"status": "closed"
},
{
"begin": "2021-07-02T16:00:00Z",
"bet_builders": [
[
{
"bet_offer_id": null,
"count": 289,
"market": null,
"market_id": null,
"market_type": null,
"market_type_id": 1,
"outcome": null,
"outcome_id": 3,
"period": null,
"period_id": null,
"quote": 1.2,
"quote_group": "1.2-1.4",
"selection_id": "53dc2a7096d543c0788512271bcb6470",
"uof_external_id": "uof:1/sr:sport:1/1/3"
},
{
"bet_offer_id": null,
"count": 2,
"market": "total=5.5",
"market_id": null,
"market_type": null,
"market_type_id": 168,
"outcome": null,
"outcome_id": 12,
"period": null,
"period_id": null,
"quote": 2,
"quote_group": "1.8-2.6",
"selection_id": "831c7222abc16686f30f1fd85ff8b243",
"uof_external_id": "uof:1/sr:sport:1/168/12?total=5.5"
}
]
],
"confidence": 0.689064801,
"country": "International",
"country_id": "sr:category:4",
"event_id": "sr:match:21514503",
"event_type": null,
"league": "Euro Cup",
"league_id": "sr:tournament:1",
"participant_ids": [
"sr:competitor:4699",
"sr:competitor:4698"
],
"participants": [
"Switzerland",
"Spain"
],
"sport": "Soccer",
"sport_id": "sr:sport:1",
"status": "closed"
}
],
"status": "success"
}Was this helpful?