Flip the card

Live
POST/api/v1/card/flip

Flip 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

FieldTypeRequiredDescription
AuthorizationstringYesUsed — send Bearer <member access_token>
X-Api-KeystringYesAgent API key (ak_…) from the bo screen
X-TimestampstringYesSigning time in unix milliseconds (±300s skew allowed)
X-NoncestringYesUnique per-request value (UUIDv4) for replay protection
X-SignaturestringYeshex(HMAC-SHA256(secret, canonical)) — see the Authentication page
X-Player-IPstring—The player's real IP (IPv4/IPv6) — recommended (used in login history)
X-Player-UAstring—The player's User-Agent (optional — recorded in login history)
X-Request-Idstring—Your correlation id — echoed back as request_uuid (recommended)
x-langstring—th (default) or en — the language of message

Response

Fields in data

FieldTypeRequiredDescription
slot_indexnumber—The winning card — stop the flip animation on it
labelstring—Label of the winning card
reward_modestring—Reward mode for this flip (per the agent's setting)CREDIT | DIAMOND
prize_amount_thbstring—Credit prize (THB, string) — "0" = no win, and always "0" when reward_mode = DIAMOND
prize_diamondnumber—Diamond prize (integer) — 0 = no win, and always 0 when reward_mode = CREDIT
balancestring | null—Wallet balance after the credit — null on a credit no-win, or when reward_mode = DIAMOND (no wallet credit).
diamond_balancenumber | null—Diamond balance after the grant — null unless a diamond prize was won (credit mode, or diamond mode with no win).
revealed_slotsobject[]—All cards (6) with their real prizes — reveal every card on the client after showing the winner.
└ slot_indexnumber—Card position (0-5)
└ labelstring—Card label
└ prize_amount_thbstring—Credit prize of the card (THB, string) — "0" on every card when reward_mode = DIAMOND
└ prize_diamondnumber—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

codeNameHTTPMessage
6233DAILY_CARD_ALREADY_PLAYED400You already opened today's card (limit 1 per day)Already flipped today (one per day) — show the result from the overview's today_result
6232DAILY_CARD_NOT_ELIGIBLE400Today'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
6231DAILY_CARD_NOT_ENABLED400The daily card game is not enabledThe agent has the card disabled (or diamond mode while the agent's diamond program is off)
9002SERVICE_UNAVAILABLE503Service unavailableThe agent's credit issuance is temporarily unavailable (credit mode) — the real cause is masked from the member
1001UNAUTHORIZED401Unauthorized
1007TOKEN_INVALID401Token invalid