Flip the card
LivePOST
/api/v1/card/flipFlip today's card (once per day) — the server draws the winning card and grants the prize (credit or diamonds) immediately.
One flip per day (Bangkok day) — a repeat flip returns 6233; eligibility resets on the new day once the deposit threshold is met again.
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Yes | Used — send Bearer <member access_token> |
| X-Api-Key | string | Yes | Agent API key (ak_…) from the bo screen |
| X-Timestamp | string | Yes | Signing time in unix milliseconds (±300s skew allowed) |
| X-Nonce | string | Yes | Unique per-request value (UUIDv4) for replay protection |
| X-Signature | string | Yes | hex(HMAC-SHA256(secret, canonical)) — see the Authentication page |
| X-Player-IP | string | — | The player's real IP (IPv4/IPv6) — recommended (used in login history) |
| X-Player-UA | string | — | The player's User-Agent (optional — recorded in login history) |
| X-Request-Id | string | — | Your correlation id — echoed back as request_uuid (recommended) |
| x-lang | string | — | th (default) or en — the language of message |
Response
Fields in data
| Field | Type | Required | Description |
|---|---|---|---|
| slot_index | number | — | The winning card — stop the flip animation on it |
| label | string | — | Label of the winning card |
| reward_mode | string | — | Reward mode for this flip (per the agent's setting)CREDIT | DIAMOND |
| prize_amount_thb | string | — | Credit prize (THB, string) — "0" = no win, and always "0" when reward_mode = DIAMOND |
| prize_diamond | number | — | Diamond prize (integer) — 0 = no win, and always 0 when reward_mode = CREDIT |
| balance | string | null | — | Wallet balance after the credit — null on a credit no-win, or when reward_mode = DIAMOND (no wallet credit). |
| diamond_balance | number | null | — | Diamond balance after the grant — null unless a diamond prize was won (credit mode, or diamond mode with no win). |
| revealed_slots | object[] | — | All cards (6) with their real prizes — reveal every card on the client after showing the winner. |
| └ slot_index | number | — | Card position (0-5) |
| └ label | string | — | Card label |
| └ prize_amount_thb | string | — | Credit prize of the card (THB, string) — "0" on every card when reward_mode = DIAMOND |
| └ prize_diamond | number | — | Diamond prize of the card — 0 on every card when reward_mode = CREDIT |
Response example
{
"success": true,
"code": 0,
"message": "Card opened",
"data": {
"slot_index": 2,
"label": "20 บาท",
"reward_mode": "CREDIT",
"prize_amount_thb": "20",
"prize_diamond": 0,
"balance": "225.50",
"diamond_balance": null,
"revealed_slots": [
{ "slot_index": 0, "label": "5 บาท", "prize_amount_thb": "5", "prize_diamond": 0 },
{ "slot_index": 1, "label": "เสียใจด้วย", "prize_amount_thb": "0", "prize_diamond": 0 },
{ "slot_index": 2, "label": "20 บาท", "prize_amount_thb": "20", "prize_diamond": 0 },
{ "slot_index": 3, "label": "เสียใจด้วย", "prize_amount_thb": "0", "prize_diamond": 0 },
{ "slot_index": 4, "label": "50 บาท", "prize_amount_thb": "50", "prize_diamond": 0 },
{ "slot_index": 5, "label": "100 บาท", "prize_amount_thb": "100", "prize_diamond": 0 }
]
},
"request_uuid": "c4a8f2d6-1b39-4e75-90cd-5e7a3f8b1d64"
}Possible error codes
| code | Name | HTTP | Message |
|---|---|---|---|
| 6233 | DAILY_CARD_ALREADY_PLAYED | 400 | You already opened today's card (limit 1 per day)Already flipped today (one per day) — show the result from the overview's today_result |
| 6232 | DAILY_CARD_NOT_ELIGIBLE | 400 | Today's minimum-deposit requirement is not metNot eligible — today's deposits fall short (< 1 deposit or total < unlock_deposit_thb), or the account is not a TRANSFER wallet |
| 6231 | DAILY_CARD_NOT_ENABLED | 400 | The daily card game is not enabledThe agent has the card disabled (or diamond mode while the agent's diamond program is off) |
| 9002 | SERVICE_UNAVAILABLE | 503 | Service unavailableThe agent's credit issuance is temporarily unavailable (credit mode) — the real cause is masked from the member |
| 1001 | UNAUTHORIZED | 401 | Unauthorized |
| 1007 | TOKEN_INVALID | 401 | Token invalid |