# Sports Offering

Sports offering related endpoints

## Get available sports

> Returns available sports for the given time frame.\
> \
> Sports are extracted from the available events. Only events starting\
> between the requested time range will be considered.\
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get all sports happening in Nigeria\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/sports/offering/sports?filters=country%3Aeq%3ANigeria'\\>
> \`\`\`\
> \
> {% endhint %}\
> \ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Sports offering related endpoints","name":"Sports Offering"}],"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":{"Sport":{"additionalProperties":false,"description":"A sport object","properties":{"sport":{"description":"The sport of the event, e.g. `soccer`","nullable":true,"type":"string"},"sport_id":{"description":"The id of the event's sport","nullable":true,"type":"string"}},"type":"object"},"Error":{"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"},"Errors":{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"},"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/offering/sports":{"get":{"description":"Returns available sports for the given time frame.\n\nSports are extracted from the available events. Only events starting\nbetween the requested time range will be considered.\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get all sports happening in Nigeria\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/sports/offering/sports?filters=country%3Aeq%3ANigeria'\n```\n\n{% endhint %}\n\n\n","operationId":"get_sports","parameters":[{"description":"Custom client header, the value should be the name of the group the user belongs to","in":"header","name":"x-vaix-client-id","required":true,"schema":{"type":"string"}},{"description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","in":"header","name":"x-vaix-authentication-method","required":false,"schema":{"type":"string"}},{"description":"Sports with events starting after this datetime will be returned.","in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"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","in":"query","name":"from_offset","required":false,"schema":{"default":"0","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$","type":"string"}},{"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","in":"query","name":"to_offset","required":false,"schema":{"default":"2d","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$","type":"string"}},{"description":"DEPRECATED: Considers events starting till the `from` timestamp plus the given\nhours. If not set defaults to one day (24 hours).\n","in":"query","name":"hours","required":false,"schema":{"maximum":72,"minimum":1,"type":"integer"}},{"description":"Number of sports to return.\n","in":"query","name":"count","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Optional filtering of the sports to retrieve. It expects a string\nadhering to the filtering format, as described in the filtering\nsection, e.g. `sport:eq:Soccer`.\n","in":"query","name":"filters","required":false,"schema":{"enum":["country","country_id","league","league_id","sport","sport_id","status","booking_status","event_type","participants","participant_ids"],"type":"string"}},{"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","in":"query","name":"operator","required":false,"schema":{"type":"string"}},{"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","in":"query","name":"bookmaker_id","required":false,"schema":{"type":"integer"}},{"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","in":"query","name":"sub_bookmaker_id","required":false,"schema":{"type":"integer"}},{"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","in":"query","name":"event_types","required":false,"schema":{"default":"match,forced_events","enum":["match","seasonal","forced_events"],"type":"string"}},{"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`+sport,-sport_id`.\n","in":"query","name":"order_by","required":false,"schema":{"enum":["sport","sport_id"],"type":"string"}},{"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. `sport,sport_id`.\n","in":"query","name":"fields","required":false,"schema":{"enum":["sport","sport_id"],"type":"string"}},{"description":"The location of the page where the request takes place.\n","in":"query","name":"location","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"API response","properties":{"data":{"description":"Array of objects","items":{"$ref":"#/components/schemas/Sport"},"type":"array"},"status":{"description":"The status of the request","enum":["success","error"],"type":"string"}},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden"},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Acceptable"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Request Entity Too Large"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}},"description":"Unprocessable Entity"},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Early"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"summary":"Get available sports","tags":["Sports Offering"]}}}}
````

## Get available events

> Returns available events for the given time frame.\
> \
> {% hint style="info" %}\
> \
> \## Pagination\
> \
> \
> The endpoint supports both keyset-based and offset-based pagination.\
> \
> For keyset-based pagination, use the \`page\_size\` parameter to specify the number of events per page. If \`page\_size\` is not specified, the default value is 100.\
> \
> For offset-based pagination, use the \`page\_size\` and \`page\` parameters to specify the number of events per page and the page number, respectively.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get 5 Soccer events beginning after 2020-07-02 19:00:00.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/sports/offering/events?from=2020-07-02%2019%3A00%3A00\\&page\\_size=5\\&filters=sport%3Aneq%3ASoccer'\\>
> \`\`\`\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Ordering example\
> \
> \
> In this example we get 5 events beginning after 2020-07-02 19:00:00 ordered by sport.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/sports/offering/events?from=2020-07-02%2019%3A00%3A00\\&page\\_size=5\\&sorting=%2Bsport'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Sports offering related endpoints","name":"Sports Offering"}],"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":{"Event":{"additionalProperties":false,"description":"An event object","properties":{"begin":{"description":"The starting time of the event in UTC","format":"date-time","type":"string"},"country":{"description":"The country the event takes place at","nullable":true,"type":"string"},"country_id":{"description":"The id of the country the event takes place at","nullable":true,"type":"string"},"event_id":{"description":"The unique event id","type":"string"},"event_type":{"description":"The type of the event, e.g. `outright","nullable":true,"type":"string"},"league":{"description":"The league associated with the current event","nullable":true,"type":"string"},"league_id":{"description":"The id of the event's league","nullable":true,"type":"string"},"participant_ids":{"description":"The id of the event participants","items":{"type":"string"},"nullable":true,"type":"array"},"participants":{"description":"The participants of the event","items":{"type":"string"},"nullable":true,"type":"array"},"sport":{"description":"The sport of the event, e.g. `soccer`","nullable":true,"type":"string"},"sport_id":{"description":"The id of the event's sport","nullable":true,"type":"string"},"status":{"description":"The status of the event, e.g. `live`","type":"string"}},"type":"object"},"Error":{"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"},"Errors":{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"},"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/offering/events":{"get":{"description":"Returns available events for the given time frame.\n\n{% hint style=\"info\" %}\n\n## Pagination\n\n\nThe endpoint supports both keyset-based and offset-based pagination.\n\nFor keyset-based pagination, use the `page_size` parameter to specify the number of events per page. If `page_size` is not specified, the default value is 100.\n\nFor offset-based pagination, use the `page_size` and `page` parameters to specify the number of events per page and the page number, respectively.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get 5 Soccer events beginning after 2020-07-02 19:00:00.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/sports/offering/events?from=2020-07-02%2019%3A00%3A00&page_size=5&filters=sport%3Aneq%3ASoccer'\n```\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Ordering example\n\n\nIn this example we get 5 events beginning after 2020-07-02 19:00:00 ordered by sport.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/sports/offering/events?from=2020-07-02%2019%3A00%3A00&page_size=5&sorting=%2Bsport'\n```\n\n{% endhint %}\n\n","operationId":"get_sports_events","parameters":[{"description":"Custom client header, the value should be the name of the group the user belongs to","in":"header","name":"x-vaix-client-id","required":true,"schema":{"type":"string"}},{"description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","in":"header","name":"x-vaix-authentication-method","required":false,"schema":{"type":"string"}},{"description":"The minimum event's starting datetime. If not explicitly set it defaults to `now`.","in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"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","in":"query","name":"from_offset","required":false,"schema":{"default":"0","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$","type":"string"}},{"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","in":"query","name":"to_offset","required":false,"schema":{"default":"2d","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$","type":"string"}},{"description":"DEPRECATED: Considers events starting till the `from` timestamp plus the given\nhours. If not set defaults to one day (24 hours).\n","in":"query","name":"hours","required":false,"schema":{"maximum":72,"minimum":1,"type":"integer"}},{"description":"Number of events to return.\n","in":"query","name":"count","required":false,"schema":{"default":100,"minimum":1,"type":"integer"}},{"description":"Optional filtering of the events to retrieve. It expects a string\nadhering to the filtering format, as described in the filtering\nsection, e.g. `sport:eq:Soccer`.\n","in":"query","name":"filters","required":false,"schema":{"enum":["sport","sport_id","country","country_id","league","league_id","status","booking_status","event_type","participants","participant_ids","event_id"],"type":"string"}},{"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","in":"query","name":"operator","required":false,"schema":{"type":"string"}},{"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","in":"query","name":"bookmaker_id","required":false,"schema":{"type":"integer"}},{"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","in":"query","name":"sub_bookmaker_id","required":false,"schema":{"type":"integer"}},{"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","in":"query","name":"event_types","required":false,"schema":{"default":"match,forced_events","enum":["match","seasonal","forced_events"],"type":"string"}},{"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`+event_id,-event_type`.\n","in":"query","name":"order_by","required":false,"schema":{"enum":["event_id","event_type","begin","country","country_id","league","league_id","sport","sport_id","participants","participant_ids","status"],"type":"string"}},{"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","in":"query","name":"fields","required":false,"schema":{"default":["event_id","event_type","begin","country","country_id","league","league_id","sport","sport_id","participants","participant_ids","status"],"enum":["event_id","event_type","begin","country","country_id","league","league_id","sport","sport_id","participants","participant_ids","status"],"type":"string"}},{"description":"The location of the page where the request takes place.\n","in":"query","name":"location","required":false,"schema":{"type":"string"}},{"description":"The page to retrieve. Notice that if set the random access pagination\nmechanism will be used. If not set the pagination mechanism default to\nthe keyset mode.\n","in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"The number of items ot include in each page.\n","in":"query","name":"page_size","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"The cursor to get data from. It should be retrieved from the `pagination`\nsection of a previous response in case of `keyset` pagination.\n\nThis value will be ignored if the `page` parameter has been provided\nand random access pagination will be used instead.\n\nNotice that the the cursor is cryptographically signed and verified,\nmake sure to set the exact value it was returned.\n","in":"query","name":"page_cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"API response","properties":{"data":{"description":"Array of objects","items":{"$ref":"#/components/schemas/Event"},"type":"array"},"pagination":{"description":"Pagination info","properties":{"next":{"description":"Cursor to the next page for the current query. Applicable only for keyset pagination.","nullable":true,"type":"string"},"page":{"description":"The current page. Applicable only for random access pagination.","minimum":0,"type":"integer"},"page_count":{"description":"The total number of pages. Applicable only for random access pagination.","minimum":0,"type":"integer"},"page_size":{"description":"The number of items per page.","minimum":0,"type":"integer"},"total_count":{"description":"The total number of items across all pages. Applicable only for random access pagination.","minimum":0,"type":"integer"}},"type":"object"},"status":{"description":"The status of the request","enum":["success","error"],"type":"string"}},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden"},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Acceptable"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Request Entity Too Large"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}},"description":"Unprocessable Entity"},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Early"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"summary":"Get available events","tags":["Sports Offering"]}}}}
````

## Get available leagues

> Returns available leagues for the given time frame.\
> \
> Leagues are extracted from the available events. Only events starting\
> between the requested time range will be considered.\
> \
> {% hint style="info" %}\
> \
> \## Count\
> \
> \
> If count is not specified, the endpoint will return up to 5000 leagues.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get all \`Soccer\` leagues.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/sports/offering/leagues?filters=sport%3Aeq%3ASoccer'\\>
> \`\`\`\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Ordering example\
> \
> \
> In this example we get all leagues ordered by sport.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/sports/offering/leagues/?order\\_by=%2Bsport'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Sports offering related endpoints","name":"Sports Offering"}],"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":{"League":{"additionalProperties":false,"description":"A league object","properties":{"country":{"description":"The country the event takes place at","nullable":true,"type":"string"},"country_id":{"description":"The id of the country the event takes place at","nullable":true,"type":"string"},"league":{"description":"The league associated with the current event","nullable":true,"type":"string"},"league_id":{"description":"The id of the event's league","nullable":true,"type":"string"},"sport":{"description":"The sport of the event, e.g. `soccer`","nullable":true,"type":"string"},"sport_id":{"description":"The id of the event's sport","nullable":true,"type":"string"}},"type":"object"},"Error":{"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"},"Errors":{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"},"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/offering/leagues":{"get":{"description":"Returns available leagues for the given time frame.\n\nLeagues are extracted from the available events. Only events starting\nbetween the requested time range will be considered.\n\n{% hint style=\"info\" %}\n\n## Count\n\n\nIf count is not specified, the endpoint will return up to 5000 leagues.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get all `Soccer` leagues.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/sports/offering/leagues?filters=sport%3Aeq%3ASoccer'\n```\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Ordering example\n\n\nIn this example we get all leagues ordered by sport.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/sports/offering/leagues/?order_by=%2Bsport'\n```\n\n{% endhint %}\n\n","operationId":"get_sports_leagues","parameters":[{"description":"Custom client header, the value should be the name of the group the user belongs to","in":"header","name":"x-vaix-client-id","required":true,"schema":{"type":"string"}},{"description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","in":"header","name":"x-vaix-authentication-method","required":false,"schema":{"type":"string"}},{"description":"Leagues with events starting after this datetime will be returned.","in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"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","in":"query","name":"from_offset","required":false,"schema":{"default":"0","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$","type":"string"}},{"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","in":"query","name":"to_offset","required":false,"schema":{"default":"2d","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$","type":"string"}},{"description":"DEPRECATED: Considers events starting till the `from` timestamp plus the given\nhours. If not set defaults to one day (24 hours).\n","in":"query","name":"hours","required":false,"schema":{"maximum":72,"minimum":1,"type":"integer"}},{"description":"Optional filtering of the leagues to retrieve. It expects a string\nadhering to the filtering format, as described in the filtering\nsection, e.g. `sport:eq:Soccer`.\n","in":"query","name":"filters","required":false,"schema":{"enum":["league","league_id","sport","sport_id","country","country_id","status","booking_status","event_type","participants","participant_ids"],"type":"string"}},{"description":"Number of leagues to return.\n","in":"query","name":"count","required":false,"schema":{"default":5000,"maximum":5000,"minimum":1,"type":"integer"}},{"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","in":"query","name":"operator","required":false,"schema":{"type":"string"}},{"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","in":"query","name":"bookmaker_id","required":false,"schema":{"type":"integer"}},{"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","in":"query","name":"sub_bookmaker_id","required":false,"schema":{"type":"integer"}},{"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","in":"query","name":"event_types","required":false,"schema":{"default":"match,forced_events","enum":["match","seasonal","forced_events"],"type":"string"}},{"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`+country,-country_id`.\n","in":"query","name":"order_by","required":false,"schema":{"enum":["country","country_id","league","league_id","sport","sport_id"],"type":"string"}},{"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. `country,country_id`.\n","in":"query","name":"fields","required":false,"schema":{"enum":["country","country_id","league","league_id","sport","sport_id"],"type":"string"}},{"description":"The location of the page where the request takes place.\n","in":"query","name":"location","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"API response","properties":{"data":{"description":"Array of objects","items":{"$ref":"#/components/schemas/League"},"type":"array"},"status":{"description":"The status of the request","enum":["success","error"],"type":"string"}},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden"},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Acceptable"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Request Entity Too Large"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}},"description":"Unprocessable Entity"},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Early"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"summary":"Get available leagues","tags":["Sports Offering"]}}}}
````

## Get info for the given competitors

> Returns various information for the given competitor ids.\
> \
> {% hint style="info" %}\
> \
> \## Multiple competitor ids input\
> \
> \
> In case multiple competitor ids are given as input, the results\
> for each one are returned in the order their ids were provided.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Competitor id provider\
> \
> \
> By default it is considered that the given ids refers to \`sportradar\`\
> competitors. If this is not the case then the \`provider\` query parameter\
> should be given.\
> \
> Note that currently only \`sportradar\` and \`kambi\` ids are supported.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Invalid input\
> \
> \
> If a competitor id is invalid or no info is found then an empty map\
> will be returned.\
> \
> {% endhint %}\ <br>

```json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Sports offering related endpoints","name":"Sports Offering"}],"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":{"Competitor":{"additionalProperties":false,"description":"A competitor object","properties":{"abbreviation":{"description":"the competitor's abbreviation","nullable":true,"type":"string"},"age_group":{"description":"the competitor's age group","nullable":true,"type":"string"},"country":{"description":"the competitor's country","nullable":true,"type":"string"},"country_code":{"description":"the competitor's country code","nullable":true,"type":"string"},"gender":{"description":"the competitor's gender","nullable":true,"type":"string"},"id":{"description":"the competitor's id","type":"string"},"jerseys":{"description":"The list with the competitor's jerseys","items":{"type":"object"},"type":"array"},"manager":{"description":"The manager of the competitor","nullable":true,"type":"object"},"name":{"description":"the competitor's name","nullable":true,"type":"string"},"players":{"description":"The list with the competitor's players","items":{"type":"object"},"type":"array"},"sport":{"description":"the competitor's sport","nullable":true,"type":"string"},"sport_id":{"description":"the competitor's sport id","nullable":true,"type":"string"},"state":{"description":"the competitor's state","nullable":true,"type":"string"},"type":{"description":"the competitor's type","nullable":true,"type":"string"},"venue":{"description":"The venue of the competitor","nullable":true,"type":"object"},"venue_id":{"description":"the competitor's venue id","nullable":true,"type":"string"}},"type":"object"},"Error":{"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"},"Errors":{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"},"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/offering/competitors":{"get":{"description":"Returns various information for the given competitor ids.\n\n{% hint style=\"info\" %}\n\n## Multiple competitor ids input\n\n\nIn case multiple competitor ids are given as input, the results\nfor each one are returned in the order their ids were provided.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Competitor id provider\n\n\nBy default it is considered that the given ids refers to `sportradar`\ncompetitors. If this is not the case then the `provider` query parameter\nshould be given.\n\nNote that currently only `sportradar` and `kambi` ids are supported.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Invalid input\n\n\nIf a competitor id is invalid or no info is found then an empty map\nwill be returned.\n\n{% endhint %}\n\n","operationId":"get_sports_competitors","parameters":[{"description":"Custom client header, the value should be the name of the group the user belongs to","in":"header","name":"x-vaix-client-id","required":true,"schema":{"type":"string"}},{"description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","in":"header","name":"x-vaix-authentication-method","required":false,"schema":{"type":"string"}},{"description":"Comma separated list of competitor ids for which to return information.","in":"query","name":"competitor_ids","required":true,"schema":{"type":"string"}},{"description":"The data provider of the given competitor ids.","in":"query","name":"provider","required":false,"schema":{"default":"sportradar","enum":["sportradar","kambi","interwetten"],"type":"string"}},{"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. `abbreviation,age_group`.\n","in":"query","name":"fields","required":false,"schema":{"enum":["abbreviation","age_group","country","country_code","gender","id","name","sport","sport_id","state","type","players","manager","jerseys","venue"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"API response","properties":{"data":{"description":"Array of objects","items":{"$ref":"#/components/schemas/Competitor"},"type":"array"},"status":{"description":"The status of the request","enum":["success","error"],"type":"string"}},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden"},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Acceptable"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Request Entity Too Large"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}},"description":"Unprocessable Entity"},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Early"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"summary":"Get info for the given competitors","tags":["Sports Offering"]}}}}
```


---

# 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/sports-offering.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.
