Elbet · Public API v2

Public API

Reference documentation for all public endpoints — routes, parameters, request bodies, and expected behavior, aligned with the current controllers in this project.

10 endpoints

Catalog

GET

/GameList

JSON

Returns the full game catalog from GameList.json (names, IDs, metadata). Used by partners/integrators to sync the available game list.

Params

No path or query parameters.

Response
  • 200 — raw JSON file content
  • 404 — file not found
  • 500 — read error
Example
/GameList

Launch & session

POST

/GameLaunch

JSON

Starts a launch session for a player: accepts partner parameters, validates them, inserts a launch record into the database, and returns a URL to open the game. Primary entry point for game launcher integration.

Request body (JSON)
{
  "companyId": 5,
  "game_id": 101,
  "currency": "EUR",
  "language": "en",
  "session_id": "partner-session-token",
  "player_id": "player-123",
  "username": "demo_user",
  "return_url": "https://casino.example/lobby",
  "version": "1.0",
  "country": "RS"
}
Response notes
  • Success: object with url (launch link)
  • WRONG_INPUT_PARAMETERS — body is not valid JSON / failed to deserialize
  • DB_ERROR — database insert failed
  • Validation fail: status: false + code / message

Tickets & replay (HTML)

GET

/GetGameInfo/{gameId}/{ticketId}

HTML view

Loads a single ticket for the given game and renders a visual replay / ticket detail page (MVC view + game assets). If the ticket is not found, returns the Error view.

Path params
  • gameId (int) — game ID
  • ticketId (string) — ticket ID
Example
/GetGameInfo/200/125087
GET

/GetUserTicketsInRound/{gameId}/{roundId}/{userId}

HTML view

Shows all tickets for a user in a specific round. The view depends on gameId (currently supported: Rocketman 101, Soaring 111). Unsupported games or empty results return the Error view.

Path params
  • gameId (int)
  • roundId (long)
  • userId (string)
Example
/GetUserTicketsInRound/101/20240224001/12345

Jackpots

GET

/GetCompanyJackpots/{companyId}

JSON · cached

Returns jackpot data at company (operator) level. Currency is passed as a query parameter; results are cached server-side for faster subsequent reads.

Params
  • companyId (int, path) — must be > 0
  • currency (query, default EUR)
Examples
/GetCompanyJackpots/1 /GetCompanyJackpots/5?currency=USD

Invalid companyId → JSON {"message":"Invalid companyId."}

GET

/Jackpots/{GameID}/{CompanyID}/{Currency}

JSON · cached

Jackpot values for a specific game + company + currency. Used when the client needs a jackpot ticker / overlay tied to a single game.

Path params
  • GameID (int)
  • CompanyID (int, default 0)
  • Currency (string, default EUR)
Examples
/Jackpots/101/1/EUR /Jackpots/102/5/USD
GET

/GetJackpots/{currency}/{companyId}

JSON · cached

Jackpot list for a company in the selected currency (normalized to uppercase). Path segment order is currency then companyId (e.g. /GetJackpots/EUR/5).

Path params
  • currency (string, default EUR)
  • companyId (int)
Example
/GetJackpots/EUR/5
GET

/GetFastBallsJackpots/{currency}/{companyId}

JSON · cached

FastBalls-specific jackpot data. Same pattern as GetJackpots (currency / companyId, keyed cache), but a separate endpoint and cache store for the FastBalls flow.

Path params
  • currency (string, default EUR)
  • companyId (int)
Example
/GetFastBallsJackpots/EUR/5

Slot

POST

/GetGameInfo_Slot

JSON alias: /GetGameInfo_Slot.aspx

Slot spin preview / replay payload for a given ticket. Reads a raw JSON body and returns camelCase JSON (spinPayload, insertTime, coinValue, currencyId, bet, pickerPayload).

Request body
{ "ticketId": 125087 }
Errors
  • 400INVALID_JSON or BAD_REQUEST
  • 500SERVER_ERROR
POST

/GetDemoSpin_Slot

demo env only

Returns a mock/demo spin payload from the slot database (GetMockSpin). Allowed only when ENV=demo; otherwise returns 403 Forbidden.

Request body
{
  "companyId": 5,
  "spinId": 1001
}
Response
  • 200{ spinPayload: ... }
  • 400 — missing/invalid companyId / spinId
  • 403 — not a demo environment