155API

Get Round Details

Look up round details, outcome, race clip, and optionally a specific bet


Look up the details of a specific game round, including the outcome, race recording clip, and optionally a specific bet placed in that round. This is useful for resolving player support requests.

Round data may take a few seconds to become available after a round settles. If you receive a "round not found" response, the round may still be processing — retry after a short delay.

Authentication

This endpoint is authenticated by IP whitelist — your server's outbound IP must match the address registered during onboarding. See Security for details. The X-Marbles-Signature header is not required and is ignored if sent.

Endpoint

POST /game/round

Request

POST /game/round HTTP/1.1
Host: api.marbles.xyz
Content-Type: application/json

{
  "operatorID": "abc123",
  "gameID": "2469f711-2da6-46b7-8648-3313dfdc5bb5",
  "roundID": "949223e9-2238-59f8-a16b-936ffc7fe3c5",
  "betID": "8a275342-bc24-5acd-b1f0-4bb9331ce010"
}

Parameters

ParameterTypeRequiredDescription
operatorIDstringYesYour unique operator identifier provided by 155.io
gameIDstringYesGame UUID from the /game/games endpoint
roundIDstringYesThe round to look up — accepts either the game-round UUID (from /game/bets) or the per-bet roundId from a wallet callback; both resolve to the round automatically
betIDstringNoIf provided, includes the specific bet details in the response. The bet must belong to your integration and the specified round.

Success Response

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

{
  "status": 200,
  "data": {
    "round": {
      "id": "949223e9-2238-59f8-a16b-936ffc7fe3c5",
      "gameId": "2469f711-2da6-46b7-8648-3313dfdc5bb5",
      "gameName": "Fish Tank",
      "outcomeFirstPlace": "1ee9cb9d-e560-4e16-aafb-1d1d5a8db32c",
      "outcomeSecondPlace": "5d3b585e-4980-47e3-827d-b3cbfcdc929c",
      "outcomeThirdPlace": "a8c81652-cbd4-4b5d-94cd-5585715e6133",
      "createdAt": "2026-03-20T12:00:00Z",
      "updatedAt": "2026-03-20T12:00:10Z"
    },
    "clipUrl": "https://clips.millicast.com/race-949223e9-2238-59f8-a16b-936ffc7fe3c5.mp4",
    "bet": {
      "id": "8a275342-bc24-5acd-b1f0-4bb9331ce010",
      "status": "won",
      "amount": 500000,
      "payout": 2500000,
      "currency": "USD",
      "betType": "PickWinner",
      "selection": "1ee9cb9d-e560-4e16-aafb-1d1d5a8db32c",
      "externalPlayerID": "22893236",
      "username": "JohnDoe",
      "createdAt": "2026-03-20T11:59:50Z",
      "updatedAt": "2026-03-20T12:00:10Z"
    }
  }
}

Round Fields

FieldTypeDescription
idstringRound UUID
gameIdstringGame UUID
gameNamestringDisplay name of the game
outcomeFirstPlacestringItem UUID that finished first
outcomeSecondPlacestringItem UUID that finished second
outcomeThirdPlacestringItem UUID that finished third
createdAtstringISO 8601 timestamp when the round was created
updatedAtstringISO 8601 timestamp when the round was last updated

Clip URL

The clipUrl field contains a direct link to the race recording for this round. This may be empty if the recording is not yet available or the round is too old.

Bet Fields (when betID is provided)

FieldTypeDescription
idstringBet UUID
statusstringBet status: pending, won, lost, voided, or cashed_out (cashed_out appears only on Footfall bets the player cashed out before the crash)
amountintegerInteger at the currency's wire precision — the same scale as the amount on the /bet and /win callbacks (USD: $5.00 = 500000). See Currencies
payoutintegerActual payout, same scale as amount: won → the full winning payout; cashed_out → the realised cash-out amount (stake × multiplier at cash-out); pending, lost, voided0
currencystringISO 4217 currency code
betTypestringBet type (see Bet Types)
selectionstringComma-separated item UUIDs the player selected
externalPlayerIDstringYour player identifier
usernamestringPlayer username
createdAtstringISO 8601 timestamp when the bet was placed
updatedAtstringISO 8601 timestamp when the bet was last updated

You can only view bets that belong to your integration. Attempting to look up a bet from another operator will return a "bet not found" error.

Error Response

HTTP/1.1 404 Not Found
Content-Type: application/json

{
  "error": "Round not found",
  "details": "round with ID 949223e9-... not found"
}

Error Statuses

StatusHTTP CodeDescription
Round not found404No round exists for the given ID and game, or the round is still processing
Bet not found404No bet exists for the given ID, or the bet does not belong to your integration
Invalid Integration IP400Request originated from an unrecognized IP address
Validation error400Missing or invalid request parameters
Too many requests429Rate limit exceeded — max 60 requests/minute per source IP, shared across /game/bets and /game/round (see Rate limits)

On this page