155API

Rollback

Rollback a previously registered bet


Called when a bet should be voided. This typically happens when a round is cancelled. You must refund the bet amount to the player's balance.

Endpoint

POST /rollback

Request

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

{
  "requestId": "8df0475e-5069-483a-8205-f6089997abc9",
  "transactionId": "9ea48131-3a0f-4067-94d0-3212e7e25abb",
  "referenceTransactionId": "ea0240f5-483d-434b-a8d4-04dabf61cde3",
  "clientSessionId": "0k3cz83bb3h2vn53ocnc7pxw9",
  "clientPlayerId": "02mnrpyv2qd9jbwhoniyimxsy",
  "roundId": "17cc81fd-df13-4ca4-857d-de0f766dc372",
  "gameId": "f1c0b104-f29d-44a9-ae93-e8afcbe3feb9",
  "roundClosed": true
}

Request Fields

FieldTypeDescription
requestIdstringUnique request identifier (UUID)
transactionIdstringUnique transaction identifier for this rollback
referenceTransactionIdstringThe original bet transaction ID being rolled back
clientSessionIdstringThe player's session identifier
clientPlayerIdstringThe player's unique identifier
roundIdstringThe game round identifier
gameIdstringThe game identifier
roundClosedbooleanWhether this transaction closes the round (see below)

Round Lifecycle

The roundClosed field indicates whether this is the final transaction for a round:

  • roundClosed: true - This is the final transaction. The round is cancelled and no more transactions will occur.
  • roundClosed: false - More transactions may follow (rare for rollbacks, but possible in multi-bet scenarios).

Use roundClosed to finalize round records in your system. When true, you can safely mark the round as cancelled/voided for reporting purposes.

Success Response

HTTP/1.1 200 OK
X-Marbles-Signature: <signature>
Content-Type: application/json

{
  "status": "SUCCESS",
  "requestId": "8df0475e-5069-483a-8205-f6089997abc9",
  "clientPlayerId": "02mnrpyv2qd9jbwhoniyimxsy",
  "currency": "USD",
  "balance": 1000000
}

Response Fields

FieldTypeDescription
statusstring"SUCCESS"
requestIdstringEcho back the request ID
clientPlayerIdstringEcho back the player ID
currencystringISO 4217 currency code
balanceintegerNew balance after rollback (5-digit precision)

Error Response

HTTP/1.1 200 OK
X-Marbles-Signature: <signature>
Content-Type: application/json

{
  "status": "UNKNOWN_ERROR",
  "requestId": "8df0475e-5069-483a-8205-f6089997abc9",
  "clientPlayerId": "02mnrpyv2qd9jbwhoniyimxsy"
}

Error Statuses

StatusDescription
UNKNOWN_ERRORRollback could not be processed
DUPLICATE_TRANSACTION_ERRORTransaction ID already exists with different payload

On this page