List games
GET
/v1/games
const url = 'https://api.keliplay.com/v1/games';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.keliplay.com/v1/gamesLists every game in the catalogue, by name. No API key is needed.
Your plan decides which games you can create campaigns from.
Responses
Section titled “Responses”The catalogue.
Media typeapplication/json
object
games
required
Array<object>
object
id
required
string
slug
required
Use it as gameSlug when creating a campaign.
string
category
required
string
name
required
string
description
string | null
artworkUrl
string | null
configSchema
required
A JSON Schema for the game’s config. The Games section explains each field.
object
labelKeys
required
The player-facing labels you can override in theme.labels.
Array<object>
object
key
required
string
fallback
required
The text shown when you set no label.
string
description
string
defaultWinnerAlgorithm
required
How winners are picked from eligible entries. Defaults to the game’s
defaultWinnerAlgorithm.
random_uniform: every entry has the same chance.random_weighted: chance follows each entry’sweight.score_highest: highest scores win.
string
createdAt
required
string format: date-time
Example
{ "games": [ { "id": "0192f3a1-0000-7000-8000-0000000a9001", "slug": "spin-wheel", "category": "chance", "name": "Spin the Wheel", "description": "A prize wheel. Each segment can carry a prize.", "artworkUrl": "https://cdn.example.com/games/spin-wheel.png", "configSchema": { "type": "object" }, "labelKeys": [ { "key": "loading", "fallback": "Loading", "description": "Shown while the game loads." } ], "defaultWinnerAlgorithm": "random_weighted", "createdAt": "2026-01-01T00:00:00.000Z" } ]}