List game types
LiveGET
/api/v1/games/typesGame categories with at least one playable game on your site, with a game count per category, sorted by count descending. Use it to build category tabs dynamically.
Responds with Cache-Control: public, max-age=60 — cache it on your side for 60 seconds. Categories with no games are omitted.
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> | — | Category list, sorted by game count descending |
| └ type | string | — | Game categorySLOT | ARCADE | LIVE_CASINO | TABLE | FISHING | SPORT | LOTTERY | ESPORT | KENO | COCKFIGHT |
| └ count | number | — | Number of playable games in this category |
Response example
{
"success": true,
"code": 0,
"message": "สำเร็จ",
"data": [
{ "type": "SLOT", "count": 812 },
{ "type": "LIVE_CASINO", "count": 96 },
{ "type": "FISHING", "count": 41 },
{ "type": "SPORT", "count": 3 }
],
"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) |