155API

Get Player Bets

Look up a player's bet history


Look up the bet history for a specific player. Results are scoped to your integration — you can only see bets placed by your players. This is useful for resolving player support requests or reconciliation.

Endpoint

POST /game/bets

Request

POST /game/bets HTTP/1.1
Host: api.marbles.xyz
X-Marbles-Signature: <signature>
Content-Type: application/json

{
  "operatorID": "abc123",
  "externalPlayerID": "22893236",
  "from": "2026-03-19T00:00:00Z",
  "to": "2026-03-20T00:00:00Z",
  "limit": 25
}

Parameters

ParameterTypeRequiredDescription
operatorIDstringYesYour unique operator identifier provided by 155.io
externalPlayerIDstringYesYour player identifier (the clientPlayerId used when launching the game)
fromstringNoISO 8601 timestamp — only return bets placed after this time
tostringNoISO 8601 timestamp — only return bets placed before this time
limitintegerNoMaximum number of bets to return. Default: 25, maximum: 100

Success Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": 200,
  "data": {
    "bets": [
      {
        "id": "8a275342-bc24-5acd-b1f0-4bb9331ce010",
        "status": "won",
        "amount": 500,
        "payout": 2500,
        "currency": "USD",
        "betType": "PickWinner",
        "gameName": "Fish Tank",
        "roundId": "949223e9-2238-59f8-a16b-936ffc7fe3c5",
        "createdAt": "2026-03-20T11:59:50Z",
        "updatedAt": "2026-03-20T12:00:10Z"
      },
      {
        "id": "4001ebd2-d8e5-5b38-90c1-c3b1ea7fe347",
        "status": "lost",
        "amount": 300,
        "payout": 0,
        "currency": "USD",
        "betType": "PickWinner",
        "gameName": "Fish Tank",
        "roundId": "a8c81652-cbd4-4b5d-94cd-5585715e6133",
        "createdAt": "2026-03-20T11:55:30Z",
        "updatedAt": "2026-03-20T11:56:00Z"
      }
    ]
  }
}

Response Fields

FieldTypeDescription
idstringBet UUID
statusstringBet status: pending, won, lost, or voided
amountintegerBet amount in smallest currency unit (e.g. cents)
payoutintegerActual payout — equals potentialPayout for won bets, 0 for lost bets
currencystringISO 4217 currency code
betTypestringBet type (see Bet Types)
gameNamestringDisplay name of the game
roundIdstringRound UUID — use this with /game/round to get full round details and the race clip
createdAtstringISO 8601 timestamp when the bet was placed
updatedAtstringISO 8601 timestamp when the bet was last updated

Results are sorted by createdAt in descending order (newest first). Use the roundId from the response to look up full round details including the race recording via the Get Round Details endpoint.

Error Response

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
  "error": "Validation error",
  "details": "Property 'externalPlayerID' is required"
}

Error Statuses

StatusHTTP CodeDescription
Invalid Integration IP400Request originated from an unrecognized IP address
Validation error400Missing or invalid request parameters
Invalid date format400from or to is not a valid RFC3339 timestamp

On this page