Featured games
LiveGET
/api/v1/games/featuredThe curated featured-game list for your site, sorted by position. If you have not curated your own list, the platform's global picks are returned.
Games that are disabled — or whose provider is not offered on your site — are dropped from the list automatically.
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| Authorization | string | — | Not used — this endpoint is public; no member token required |
| 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 |
|---|---|---|---|
| data[] | array<object> | — | Featured games, sorted by position |
| └ position | number | — | Slot position (starts at 1) |
| └ game | object | — | Game object (same shape as the game list) |
| └ id | string (uuid) | — | Game id — launch via POST /api/v1/games/:gameId/launch |
| └ provider_id | string (uuid) | — | Owning provider id |
| └ provider | object | — | Provider brief |
| └ code | string | — | Provider code, e.g. PGSOFT |
| └ name | string | — | Provider name |
| └ logo_url | string | null | — | Provider logo URL |
| └ code | string | — | Provider-side game code |
| └ name | string | — | Game display name |
| └ type | string | — | Game categorySLOT | ARCADE | LIVE_CASINO | TABLE | FISHING | SPORT | LOTTERY | ESPORT | KENO | COCKFIGHT |
| └ thumbnail_url | string | null | — | Game thumbnail URL |
| └ tags | string[] | — | Game tags (for badges, e.g. hot/new)POPULAR | NEW | HOT |
| └ rtp | string | null | — | RTP as a decimal string, e.g. "96.95" (null = unspecified) |
| └ volatility | string | null | — | Game volatility, e.g. HIGH |
| └ has_demo | boolean | — | Whether a demo mode exists |
| └ sort_order | number | — | Recommended display order |
| └ maintenance_until | string | null | — | Under maintenance until this time (if null = operating normally) |
Response example
{
"success": true,
"code": 0,
"message": "สำเร็จ",
"data": [
{
"position": 1,
"game": {
"id": "3f8c2a71-5b9e-4d26-8a4f-c1e7d9b0a253",
"provider_id": "b7a3e6c2-1f4d-4e8a-9c5b-2d7f8a1e3b6c",
"provider": {
"code": "PGSOFT",
"name": "PG Soft",
"logo_url": "https://cdn.example.com/providers/pgsoft.png"
},
"code": "mahjong-ways2",
"name": "ไพ่นกกระจอก 2 (Mahjong Ways 2)",
"type": "SLOT",
"thumbnail_url": "https://cdn.example.com/games/mahjong-ways2.png",
"tags": ["POPULAR", "HOT"],
"rtp": "96.95",
"volatility": "HIGH",
"has_demo": true,
"sort_order": 1,
"maintenance_until": null
}
}
],
"request_uuid": "9f2b7d1e-4a83-4c1f-b2ce-6d5a0e8f3c21"
}Possible error codes
| code | Name | HTTP | Message |
|---|---|---|---|
| 4002 | BAD_REQUEST | 400 | Bad requestThe request's agent could not be resolved (unknown domain/credential) |