List games
LiveGET
/api/v1/gamesAll playable games on your site, paginated (30 per page by default). Filter by provider, category, or tag, and search by game name. Sorted by sort_order, then name.
The data block is { data: [...], pagination: { page, limit, total, total_pages } } — the pagination block is named pagination, not meta.
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 |
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| provider_id | string (uuid) | — | Only games from this provider (id from the provider list) |
| category | string | — | Filter by game categorySLOT | ARCADE | LIVE_CASINO | TABLE | FISHING | SPORT | LOTTERY | ESPORT | KENO | COCKFIGHT |
| tag | string | — | Filter by game tagPOPULAR | NEW | HOT |
| search | string | — | Search by game name (contains, case-insensitive) |
| page | number | — | Page number, starts at 1 (default 1) |
| limit | number | — | Games per page (default 50, max 100) |
Response
Fields in data
| Field | Type | Required | Description |
|---|---|---|---|
| data[] | array<object> | — | The games on this page |
| └ 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) |
| pagination | object | — | Pagination block |
| └ page | number | — | Current page |
| └ limit | number | — | Items per page |
| └ total | number | — | Total games matching the filters |
| └ total_pages | number | — | Total pages |
Response example
{
"success": true,
"code": 0,
"message": "สำเร็จ",
"data": {
"data": [
{
"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
},
{
"id": "8b2d4f6a-1c3e-4a5b-9d7f-0e2a4c6b8d1f",
"provider_id": "b7a3e6c2-1f4d-4e8a-9c5b-2d7f8a1e3b6c",
"provider": {
"code": "PGSOFT",
"name": "PG Soft",
"logo_url": "https://cdn.example.com/providers/pgsoft.png"
},
"code": "treasures-aztec",
"name": "สาวถ้ำแอซเท็ค (Treasures of Aztec)",
"type": "SLOT",
"thumbnail_url": "https://cdn.example.com/games/treasures-aztec.png",
"tags": ["POPULAR"],
"rtp": "96.71",
"volatility": "HIGH",
"has_demo": true,
"sort_order": 2,
"maintenance_until": null
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 812,
"total_pages": 17
}
},
"request_uuid": "9f2b7d1e-4a83-4c1f-b2ce-6d5a0e8f3c21"
}Possible error codes
| code | Name | HTTP | Message |
|---|---|---|---|
| 4001 | VALIDATION_ERROR | 400 | Validation errorInvalid query params, e.g. category/tag outside the supported set, page < 1, limit > 100 |
| 4002 | BAD_REQUEST | 400 | Bad requestThe request's agent could not be resolved (unknown domain/credential) |