# Bet Builders

Sport bet builders related endpoints

## Get recommended bet builders

> 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.\
> \
> {% hint style="info" %}\
> \
> \## Supported data providers\
> \
> \
> The current endpoint is available for specific data providers only, which are:\
> \
> \<details>\
> &#x20; \<summary>\`Igt\`\</summary>\
> \- AmericanFootball\
> \- Baseball\
> \- Basketball\
> \- IceHockey\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`Kambi\`\</summary>\
> \- AmericanFootball\
> \- Baseball\
> \- Basketball\
> \- Football\
> \- IceHockey\
> \- Tennis\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`Openbet\`\</summary>\
> \- Baseball\
> \- Basketball\
> \- Football\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`SR\`\</summary>\
> \- AmericanFootball\
> \- Baseball\
> \- Basketball\
> \- Football\
> \- IceHockey\
> \- Tennis\
> \</details>\
> \
> \
> Contact the API team for integration with other data providers.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## 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:\
> \
> \<details>\
> &#x20; \<summary>\`AmericanFootball\`\</summary>\
> \- Match result\
> \- Xth half result\
> \- Xth quarter result\
> \- Winner\
> \- Double chance\
> \- Handicap\
> \- Xth half handicap\
> \- Xth quarter handicap\
> \- Asian handicap\
> \- Total points\
> \- Xth half total points\
> \- Xth quarter total points\
> \- Home Team total points\
> \- Away Team total points\
> \- Total touchdowns\
> \- Total field goals\
> \- Total turnovers\
> \- Total sacks\
> \- Odd/Even points\
> \- 1st half odd/even points\
> \- Winning margin\
> \- Will there be Overtime\
> \- Last touchdown scorer\
> \- Player total touchdowns\
> \- Player total touchdown passes\
> \- Player total receptions\
> \- Player total field goals\
> \- Player total kicking points\
> \- Player total interceptions\
> \- Player total receiving touchdowns\
> \- Player total receiving yards\
> \- Player total rushing attempts\
> \- Player total rushing touchdowns\
> \- Player total rushing yards\
> \- Player total passing touchdowns\
> \- Player total passing yards\
> \- Player total pass attempts\
> \- Player total pass completions\
> \- Player longest reception\
> \- Player longest pass completion\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`Baseball\`\</summary>\
> \- Match Result\
> \- Winner\
> \- Handicap\
> \- Total runs\
> \- Home total runs\
> \- Away total runs\
> \- Total home runs\
> \- Home total home runs\
> \- Away total home runs\
> \- Total runs odd or even\
> \- Total hits\
> \- Player total runs\
> \- Player total home runs\
> \- Player total hits\
> \- Player total bases\
> \- Player total strikeouts\
> \- Player total RBIs\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`Basketball\`\</summary>\
> \- Match Result\
> \- Winner\
> \- Match result - 1st half\
> \- Match result - 1st quarter\
> \- Total points\
> \- Home total points\
> \- Away total points\
> \- Total points - 1st half\
> \- Home total points - 1st half\
> \- Away total points - 1st half\
> \- Total points - 1st quarter\
> \- Home total points - 1st quarter\
> \- Away total points - 1st quarter\
> \- Player total points\
> \- Player total assists\
> \- Player total rebounds\
> \- Player total blocks\
> \- Player total steals\
> \- Player total 3-points made\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`Football\`\</summary>\
> \- Match result\
> \- Match result - 1st half\
> \- Double chance\
> \- Double chance - 1st half\
> \- Both teams to score\
> \- Both teams to score - 1st half\
> \- Total goals\
> \- Home total goals\
> \- Away total goals\
> \- Total goals - 1st half\
> \- Home total goals - 1st half\
> \- Away total goals - 1st half\
> \- Total goals - 2nd half\
> \- Home total goals - 2nd half\
> \- Away total goals - 2nd half\
> \- Total cards\
> \- Home total cards\
> \- Away total cards\
> \- Total corners\
> \- Home total corners\
> \- Away total corners\
> \- Player total goals\
> \- Player total assists\
> \- Player total shots on target\
> \- Player total shots\
> \- Goal range\
> \- Home clean sheet\
> \- Away clean sheet\
> \- Xth player to score\
> \- First half total bookings\
> \- Home team first half total bookings\
> \- Away team first half total bookings\
> \- First half total corners\
> \- Home team first half total corners\
> \- Away team first half total corners\
> \- Player to be carded\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`IceHockey\`\</summary>\
> \- Match result\
> \- Winner\
> \- Handicap\
> \- 3-Way handicap\
> \- Both teams to score\
> \- Total goals\
> \- Home total goals\
> \- Away total goals\
> \- Player total goals\
> \- Xth goal\
> \- Period total goals\
> \</details>\
> \
> \<details>\
> &#x20; \<summary>\`Tennis\`\</summary>\
> \- Winner\
> \- Winner - Xth set\
> \- Result - Games\
> \- Game handicap\
> \- Game handicap - Xth set\
> \- Set handicap\
> \- Total sets\
> \- Total games\
> \- Total games - Xth set\
> \- Home player total games\
> \- Away player total games\
> \- Home player to win a set\
> \- Away player to win a set\
> \- Set to nil\
> \- Tiebreak occurrence\
> \- Exact sets\
> \- Total games odd or even\
> \- Total games odd or even - Xth set\
> \- Correct score\
> \- Correct score - Xth set\
> \- Player to win Xth set\
> \</details>\
> \
> \
> 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.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## 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).\
> \
> {% endhint %}\
> \
> \
> {% hint style="warning" %}\
> \
> \## 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.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## 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\`.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/sports/bet\\_builders/recommended?user=1\\&event\\_id=sr:match:40781327\\&length=3\\&count=2'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Sport bet builders related endpoints","name":"Bet Builders"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"RecommendedBetBuilder":{"description":"A recommended bet builder object","type":"object","properties":{"begin":{"description":"The starting time of the event in UTC","type":"string","format":"date-time"},"bet_builders":{"description":"List with the event's recommended bet builders","type":"array","items":{"oneOf":[{"description":"The betbuilders with their odds","properties":{"odds":{"description":"The calculated odds for the bet builder","type":"number"},"selections":{"description":"The bet builder's selections","type":"array","items":{"description":"A bet builder's selection","properties":{"bet_offer_id":{"description":"The event specific market id","type":"string","nullable":true},"count":{"description":"How many bets are placed on the market","type":"integer"},"market":{"description":"The market's name","type":"string","nullable":true},"market_id":{"description":"The `market`'s id","type":"number","nullable":true},"market_type":{"description":"The market's type","type":"string","nullable":true},"market_type_id":{"description":"The `market_type`'s id","type":"number","nullable":true},"outcome":{"description":"The selection's outcome","type":"string","nullable":true},"outcome_id":{"description":"The `outcome`'s id","type":"number","nullable":true},"period":{"description":"The selection's period","type":"string","nullable":true},"period_id":{"description":"The `period`'s id","type":"number","nullable":true},"quote":{"description":"The selection's quote","type":"number"},"quote_group":{"description":"The group the quote belongs to","type":"string"},"selection_id":{"description":"The market selection id","type":"string"},"side":{"description":"The side of the market, back or lay (exchange only)","type":"string"},"uof_external_id":{"description":"The external market id","type":"string","nullable":true}},"type":"object"}}},"type":"object"},{"description":"Array of bet builder selections","items":{"description":"A bet builder's selection","properties":{"bet_offer_id":{"description":"The event specific market id","type":"string","nullable":true},"count":{"description":"How many bets are placed on the market","type":"integer"},"market":{"description":"The market's name","type":"string","nullable":true},"market_id":{"description":"The `market`'s id","type":"number","nullable":true},"market_type":{"description":"The market's type","type":"string","nullable":true},"market_type_id":{"description":"The `market_type`'s id","type":"number","nullable":true},"outcome":{"description":"The selection's outcome","type":"string","nullable":true},"outcome_id":{"description":"The `outcome`'s id","type":"number","nullable":true},"period":{"description":"The selection's period","type":"string","nullable":true},"period_id":{"description":"The `period`'s id","type":"number","nullable":true},"quote":{"description":"The selection's quote","type":"number"},"quote_group":{"description":"The group the quote belongs to","type":"string"},"selection_id":{"description":"The market selection id","type":"string"},"side":{"description":"The side of the market, back or lay (exchange only)","type":"string"},"uof_external_id":{"description":"The external market id","type":"string","nullable":true}},"type":"object"},"type":"array"}]}},"confidence":{"description":"Confidence score, the highest the value the more confident the recommendation of the item\n","type":"number"},"country":{"description":"The country the event takes place at","type":"string","nullable":true},"country_id":{"description":"The id of the country the event takes place at","type":"string","nullable":true},"event_id":{"description":"The unique event id","type":"string"},"event_type":{"description":"The type of the event, e.g. `outright","type":"string","nullable":true},"league":{"description":"The league associated with the current event","type":"string","nullable":true},"league_id":{"description":"The id of the event's league","type":"string","nullable":true},"participant_ids":{"description":"The id of the event participants","type":"array","items":{"type":"string"},"nullable":true},"participants":{"description":"The participants of the event","type":"array","items":{"type":"string"},"nullable":true},"sport":{"description":"The sport of the event, e.g. `soccer`","type":"string","nullable":true},"sport_id":{"description":"The id of the event's sport","type":"string","nullable":true},"status":{"description":"The status of the event, e.g. `live`","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/sports/bet_builders/recommended":{"get":{"operationId":"get_recommended_bet_builders","summary":"Get recommended bet builders","description":"Returns personalized bet builder recommendations.\n\nProduces recommended bet builders based on the provided input.\n\nIf the `event_id` parameter is passed, then `count` bet builders for the\ngiven event will be generated.\n\nIf an `event_id` is not provided, then `count` bet builders will be generated.\nIn that case for each event its associated `confidence` will be also returned.\n\nThe amount of bet builders to generate per event will be dynamically calculated\nbased on the personalization score of each event, promoting the most recommended ones.\nThe query parameter `max_count_per_event` can be used to apply an upper limit on\nthat dynamically calculated number.\n\nThe selections picked are the most relevant to the given user from the supported\nones. Validation steps are also applied to ensure that the produced bet builders\ncontain only valid and combinable selections.\n\n{% hint style=\"info\" %}\n\n## Supported data providers\n\n\nThe current endpoint is available for specific data providers only, which are:\n\n<details>\n  <summary>`Igt`</summary>\n- AmericanFootball\n- Baseball\n- Basketball\n- IceHockey\n</details>\n\n<details>\n  <summary>`Kambi`</summary>\n- AmericanFootball\n- Baseball\n- Basketball\n- Football\n- IceHockey\n- Tennis\n</details>\n\n<details>\n  <summary>`Openbet`</summary>\n- Baseball\n- Basketball\n- Football\n</details>\n\n<details>\n  <summary>`SR`</summary>\n- AmericanFootball\n- Baseball\n- Basketball\n- Football\n- IceHockey\n- Tennis\n</details>\n\n\nContact the API team for integration with other data providers.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Supported markets\n\n\nOnly a subset of the available markets can be used and combined in a bet builder.\nCurrently the supported markets are the following:\n\n<details>\n  <summary>`AmericanFootball`</summary>\n- Match result\n- Xth half result\n- Xth quarter result\n- Winner\n- Double chance\n- Handicap\n- Xth half handicap\n- Xth quarter handicap\n- Asian handicap\n- Total points\n- Xth half total points\n- Xth quarter total points\n- Home Team total points\n- Away Team total points\n- Total touchdowns\n- Total field goals\n- Total turnovers\n- Total sacks\n- Odd/Even points\n- 1st half odd/even points\n- Winning margin\n- Will there be Overtime\n- Last touchdown scorer\n- Player total touchdowns\n- Player total touchdown passes\n- Player total receptions\n- Player total field goals\n- Player total kicking points\n- Player total interceptions\n- Player total receiving touchdowns\n- Player total receiving yards\n- Player total rushing attempts\n- Player total rushing touchdowns\n- Player total rushing yards\n- Player total passing touchdowns\n- Player total passing yards\n- Player total pass attempts\n- Player total pass completions\n- Player longest reception\n- Player longest pass completion\n</details>\n\n<details>\n  <summary>`Baseball`</summary>\n- Match Result\n- Winner\n- Handicap\n- Total runs\n- Home total runs\n- Away total runs\n- Total home runs\n- Home total home runs\n- Away total home runs\n- Total runs odd or even\n- Total hits\n- Player total runs\n- Player total home runs\n- Player total hits\n- Player total bases\n- Player total strikeouts\n- Player total RBIs\n</details>\n\n<details>\n  <summary>`Basketball`</summary>\n- Match Result\n- Winner\n- Match result - 1st half\n- Match result - 1st quarter\n- Total points\n- Home total points\n- Away total points\n- Total points - 1st half\n- Home total points - 1st half\n- Away total points - 1st half\n- Total points - 1st quarter\n- Home total points - 1st quarter\n- Away total points - 1st quarter\n- Player total points\n- Player total assists\n- Player total rebounds\n- Player total blocks\n- Player total steals\n- Player total 3-points made\n</details>\n\n<details>\n  <summary>`Football`</summary>\n- Match result\n- Match result - 1st half\n- Double chance\n- Double chance - 1st half\n- Both teams to score\n- Both teams to score - 1st half\n- Total goals\n- Home total goals\n- Away total goals\n- Total goals - 1st half\n- Home total goals - 1st half\n- Away total goals - 1st half\n- Total goals - 2nd half\n- Home total goals - 2nd half\n- Away total goals - 2nd half\n- Total cards\n- Home total cards\n- Away total cards\n- Total corners\n- Home total corners\n- Away total corners\n- Player total goals\n- Player total assists\n- Player total shots on target\n- Player total shots\n- Goal range\n- Home clean sheet\n- Away clean sheet\n- Xth player to score\n- First half total bookings\n- Home team first half total bookings\n- Away team first half total bookings\n- First half total corners\n- Home team first half total corners\n- Away team first half total corners\n- Player to be carded\n</details>\n\n<details>\n  <summary>`IceHockey`</summary>\n- Match result\n- Winner\n- Handicap\n- 3-Way handicap\n- Both teams to score\n- Total goals\n- Home total goals\n- Away total goals\n- Player total goals\n- Xth goal\n- Period total goals\n</details>\n\n<details>\n  <summary>`Tennis`</summary>\n- Winner\n- Winner - Xth set\n- Result - Games\n- Game handicap\n- Game handicap - Xth set\n- Set handicap\n- Total sets\n- Total games\n- Total games - Xth set\n- Home player total games\n- Away player total games\n- Home player to win a set\n- Away player to win a set\n- Set to nil\n- Tiebreak occurrence\n- Exact sets\n- Total games odd or even\n- Total games odd or even - Xth set\n- Correct score\n- Correct score - Xth set\n- Player to win Xth set\n</details>\n\n\nNotice that the above list contains the algorithm's **supported** markets.\nIt is the responsibility of the operator to provide VAIX with the\nmarkets listed, or at least a subset of them, in order for them to be used.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Length of produced bet builder\n\n\nThere is the possibility that a bet builder with length less than the\nrequested one will be returned, in case the markets offered for the given\nevent are insufficient or not combinable.\n\nMostly applicable to cases where a big bet builder length is requested (> 6).\n\n{% endhint %}\n\n\n{% hint style=\"warning\" %}\n\n## Integration concerns\n\n\nThe bet builder related endpoints are guaranteed to return a valid bet builder\ncombination, including selections for markets the operator supports.\n\nNotice that no odds calculation is taking place, meaning that the overall odds\nof the bet builder coupon should be calculated from the client's existing bet builder logic.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Getting two recommender bet builders with 3 selections\n\n\nIn this example we get two recommender bet builders containing `3` selections each\nfor the event with id `sr:match:40781327`, for the user with id `1`.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/sports/bet_builders/recommended?user=1&event_id=sr:match:40781327&length=3&count=2'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"event_id","in":"query","description":"The event id to get a bet builder for. If not set then the top `count` recommended events\nof the given `user` will be picked and bet builders for them will be generated.\n","required":false,"schema":{"type":"string"}},{"name":"count","in":"query","description":"How many bet builders to produce in total.","required":false,"schema":{"type":"integer","default":1,"maximum":20,"minimum":1}},{"name":"max_count_per_event","in":"query","description":" Optional upper limit to the amount of bet builders to generate per event.\n Since the number of bet builders to generate per event is dynamically calculated\n based on their confidence (so more bet builders are generated for highly recommended\n events), this parameter can be used to apply a limit, for example if one wants\n only one bet builder per event regardless of their personalization score. If not set,\n it will be ignored.\n","required":false,"schema":{"type":"integer","maximum":10,"minimum":1}},{"name":"from","in":"query","description":"The minimum event's starting datetime. If not explicitly set it defaults to `now`.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"from_offset","in":"query","description":"Considers events starting after the from timestamp plus the given minutes/hours/days.\nIf not set defaults to `0 minutes`.\nThe value must be in range [-7d - 7d].\n","required":false,"schema":{"type":"string","default":"0","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$"}},{"name":"to_offset","in":"query","description":"Considers events starting till the `from` timestamp plus the given\nminutes/hours/days. If not set defaults to one day (24 hours).\nThe value must be in range [`-7d` - `7d`].\n","required":false,"schema":{"type":"string","default":"2d","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$"}},{"name":"length","in":"query","description":"The bet builder length.","required":false,"schema":{"type":"integer","default":2,"maximum":10,"minimum":2}},{"name":"filters","in":"query","description":"Optional filtering on the events and markets to consider. The event related filters are ignored\nin case the `event_id` parameter is provided. It expects a string adhering\nto the filtering format, as described in the filtering section, e.g. `market_status:eq:OPEN`.\n","required":false,"schema":{"type":"string","enum":["sport","sport_id","country","country_id","league","league_id","status","booking_status","event_type","market","market_id","market_type","market_type_id","outcome","outcome_id","market_status","quote","user_country","user_state"]}},{"name":"user","in":"query","description":"The user to get recommended bet builder for.","required":true,"schema":{"type":"string"}},{"name":"order_by","in":"query","description":"The columns to sort the results by. It expects a string adhering to\nthe ordering format, as described in the ordering section, e.g.\n`+league_confidence,-sport_confidence`.\n","required":false,"schema":{"type":"string","enum":["league_confidence","sport_confidence","country_confidence","begin"]}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `event_id,event_type`.\n","required":false,"schema":{"type":"string","default":["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"],"enum":["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"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"event_types","in":"query","description":"List of event types to consider when generating recommendations.\nOne or more types can be provided.\nAvailable options are:\n* `match`: Standard matches to be considered.\n* `seasonal`: Seasonal events to be considered.\n* `forced_events`: Handpicked events to be considered regardless of their start_time.\n","required":false,"schema":{"type":"string","default":"match,forced_events","enum":["match","seasonal","forced_events"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}},{"name":"raw","in":"query","description":"Comma separated list of keywords. If given, this input will be used\nas user demographics data for the recommendations, e.g `country:gr,city:ath`.\n","required":false,"schema":{"type":"string","enum":["age_group","city","country"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/RecommendedBetBuilder"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Bet Builders"]}}}}
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportradar.com/personalization/api-reference/sports/bet-builders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
