Place Bet API
- Betgate Cluster Integration
- Domain
-
Markets description
AmericanFootball AnyOther AustralianFootball Badminton Bandy Baseball Basketball Bowls BeachFootball BeachVolleyball Biathlon Boxing Chess Cricket Curling Darts Entertainment ESport FieldHockey Floorball Football Futsal Golf Handball HorceRacing IceHockey Kabaddi MMA MotorSport Olympics Politics Rugby Snooker Squash TableTennis Tennis UFC Volleyball Waterpolo
- Risk Management
- Client Console
-
Bet Settlement Rules
American Football Australian Football Badminton Bandy Baseball Basketball Beach Football Beach Volleyball Biathlon Boxing Chess Cricket Curling Cycling Darts E-sport Field Hockey Floorball Football Formula 1, Nascar, MotoGP Futsal Handball Horse Racing Ice Hockey Kabaddi MMA Rugby Snooker Squash Table Tennis Tennis UFC Volleyball Water Polo Virtual Sports Other sports
Table of Contents
Overview
Place Bet API allow clients to send bets and validate their actuality (check markets/selections statuses, actual prices) to prevent place bets on non actual data and build risk management reports which will protect provider and clients from abusing.
Glossary
Provider - B1 who provide data feed and place bet api for risk management
Client - Operator 3rd-party system who consume data feed and allow users to place bets on markets
Brand - One of the WL or bands of client
Player - Unique user from client side who place bets on markets
Security
Provider provides credentials (client id and client secret) for client with which client should login by token endpoint and get JWT token for accessing Place Bet API. Token has ttl 1 hour, so every 1 hour client should do new login and refresh JWT token.
JWT token should passed as HTTP Header Authorization
API
Environments
Stage:
Prod:
Token login
Method: HTTPS POST
URI: /api/v1/token
Credentials should be passed in URL. Example: https://clientId:clientSecret@stage-trading-bet-api.betgate.dev/api/v1/token
Response Example:
200 - Login is successfull and system created JWT token for client
{
"token": "Bearer jwtsecuretoken"
}401/403 - Credentials are wrong
Place bet
Method: HTTP POST
URI: /api/v1/sport/v1/bet
Headers:
| Name | Type | Description | Example |
| Authorization | String | Secure JWT token from /token endpoint |
Bearer dchfvndjnfvfvf |
| X-Player-Id | String | Unique user identified from client side | 13429493 |
| X-Operator-Id | String | Operator Id which will be provided by provider to client | SUPER_BET |
| X-Brand | String | Brand or Whitelable name | super-bet247.com |
| X-Player-Currency | String | User Currency | EUR |
Body request:
{
"items": [
{
"eventId": "105600",
"odds": 1.9,
"sourceOutcomes": [
{
"selection": "[2,[],[0],1,3,[]]",
"odds": 1.9
}
]
}
],
"amount": 100,
"betType": "Ordinar",
"oddsChangePolicy": "Any",
"marketChangePolicy": "None",
"systemSize": 80,
"transactionId": "432e627b-f8d1-45ef-9ae9-03632956548b"
}| Name | Type | Description | Example |
| items | array | Selected outcomes for bet | |
| items[0].eventId | string | Event Id from B1 Data feed | 105600 |
| items[0].odds | Decimal | Odds on which user placed bet | 1.9 |
| items[0].sourceOutcomes | array | Outcomes that are included. Info about selection and price on which user placed bet | |
| items[0].sourceOutcomes[0].selection | string | Selection from B1 Data feed on which user placed bet | [2,[],[0],1,3,[]] |
| items[0].sourceOutcomes[0].odds | Decimal | Odds on which user placed bet | 1.9 |
| amount | Decimal | User bet amount | 100 |
| betType | Enum(Ordinar) | Type bet. Possible values:["Ordinar", "Express"]. | Ordinar |
| oddsChangePolicy | Enum(Any) | Odds change policy. Currently support only Any | Any |
| marketChangePolicy | Enum(None) | Market Change Policy. Currently support only None | None |
| systemSize | Decimal | For B2B, part which send to provider | 20 |
| transactionId | string | Unique identifier of bet from client side | 1234ff45 |
Bet type
Ordinar - a wager on a specific outcome of a single event. The winnings are calculated by multiplying the bet amount by the odds of the outcome.
Express - a wager on multiple independent events. An express bet wins only when all of its component outcomes are successful; if even one outcome is unsuccessful, the express bet is lost. The winnings are calculated by multiplying the bet amount by the odds for all the outcomes included in the express bet."
Responses:
200 - OK, bet is accepted by provider
{
"betId": "432e627b-f8d1-45ef-9ae9-03632956548b",
"betOdd": 15,
"betDate": "2026-02-15T11:15:40.252615Z",
"possiblePayout": 1500,
"items": [
{
"acceptedOdd": 15,
"sourceOutcomeSelectionKeys": [
"[2,[],[0],1,0,[]]"
]
}
],
"specialBetTypes": []
}400 - Bad Request
{
"message": "Bet odds were changed. ",
"errors": {
"common": {
"actualOdds": 15.00,
"betOdds": 20
}
}
}
{
"message": "Selection is not found. ",
"errors": {
"common": {}
}
}
403/401 - Access denied