Round history¶
Finished rounds of shared-round games (today only Flip Jet), with crash points and times.
Use it to reconcile with the /round/finish callback: to find rounds whose callback you did not receive, or to look up one round by number.
Added in 2.34.0
Both endpoints are authorised like launch-game: the Api-Key header with your API key, from an allowed IP. Answers use the usual {"success": true, "data": ...} envelope; errors are described in Errors.
History starts on 2026-10-14, when 19flip began recording rounds. Earlier rounds are not available.
The list also contains Golden Flight purchases (type golden_flight) of all casinos, interleaved with shared rounds in game_round_id order; a purchase of another casino's player comes with empty bets. Filter on type if you only need shared rounds.
The round object¶
{
"game_id": "flip-jet",
"game_round_id": 327859,
"type": "shared",
"route": null,
"price_mult": null,
"status": "finished",
"crash_point": "19.19",
"started_at": "2026-10-14T05:16:30.412Z",
"finished_at": "2026-10-14T05:16:46.087Z",
"bets": [
{"round_id": 5123, "player_id": "player-123", "session_id": "3f6c2a9e-8d41-4b7a-9c55-1e2f0a7b9d10", "currency": "USD", "amount": 1.5, "result": "won", "multiplier": "2.35", "win": 3.52}
],
"callback_status": "DELIVERED"
}
| Field | Type | Description |
|---|---|---|
game_id |
string | Game id. |
game_round_id |
integer | Number of the shared round, as in /round/finish and in game_round_id of the money callbacks. |
type |
string | shared — a normal round; golden_flight — a purchased solo round of one player (Flip Jet Golden Flight), crash_point is its landing. Added in 2.73.0. |
route |
string or null | Golden Flight route; null for shared rounds. New flights are always aurora since 2.83.0; flights bought earlier may have solar or horizon. |
price_mult |
integer or null | Golden Flight price in bets (20, 50, 100); null for shared rounds. |
status |
string | finished or interrupted. |
crash_point |
string or null | Crash multiplier with two decimals; null for an interrupted round. |
started_at |
string or null | Takeoff time, UTC, ISO 8601; null if interrupted before takeoff. |
finished_at |
string | Crash or interruption time, UTC, ISO 8601. |
bets |
array | Your players' LIVE bets in the round, exactly as in the /round/finish body. Empty when your players did not bet in it. |
callback_status |
string or null | Delivery of /round/finish to you: PENDING (not yet delivered, retries are going on), DELIVERED (you answered 2xx), REJECTED (you answered 4xx), FAILED (all retries used up). null when no callback was due (no bets of yours). |
Rounds without your bets are listed too: the crash point of every round is public.
GET /api/operator/v1/rounds¶
Lists finished rounds in increasing game_round_id order.
GET /api/operator/v1/rounds?game_id=flip-jet&from=2026-10-14T05:00:00Z&to=2026-10-14T06:00:00Z&limit=500 HTTP/1.1
Host: games.19flip.com
Api-Key: <your api key>
| Parameter | Required | Description |
|---|---|---|
game_id |
yes | e.g. flip-jet. |
from |
no | Rounds with finished_at ≥ this time (ISO 8601; give a timezone or Z). |
to |
no | Rounds with finished_at < this time. |
after_round_id |
no | Rounds with game_round_id greater than this. Use it to page. |
limit |
no | 1–1000, default 100. |
only_with_bets |
no | true: only rounds in which your players had bets. Default false. |
Response:
{
"success": true,
"data": {
"items": [ { "game_id": "flip-jet", "game_round_id": 327859, "...": "..." } ],
"has_more": true
}
}
has_more is true when more rounds match. To get the next page, repeat the request with after_round_id set to the last game_round_id you received.
A round appears here about a second after it ends. Rounds come every 10–20 seconds, so an hour is roughly 200–350 rounds.
GET /api/operator/v1/rounds/{game_round_id}¶
One round by number.
GET /api/operator/v1/rounds/327859?game_id=flip-jet HTTP/1.1
Host: games.19flip.com
Api-Key: <your api key>
game_id is required. Response: {"success": true, "data": <round object>}. A round that does not exist, has not finished yet or was played before history began answers 404 with code NOT_FOUND.
Reconciliation recipe¶
- Every few minutes call
GET /rounds?game_id=flip-jet&only_with_bets=true&after_round_id=<last round you processed>. - For each item you have no
/round/finishfor, process it exactly as if the callback had arrived. Deduplicate ongame_round_id, as for the callback'sidempotency_key. - Remember the last
game_round_idand continue from it.