Get a game
GET
/v1/games/{slug}
const url = 'https://api.keliplay.com/v1/games/example';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/games/exampleReturns one game from the catalogue. No API key is needed.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”slug
required
string
The game’s slug, such as spin-wheel.
Responses
Section titled “Responses”The game.
Media typeapplication/json
object
game
required
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
Examples
Examplegame
A game response
{ "game": { "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" }}Nothing with that id exists in your account.
Media typeapplication/json
object
error
required
object
code
required
Stable and safe to branch on.
invalid_request(400): the request is not valid.unauthorized(401): missing, malformed or revoked API key.upgrade_required(402): not in your plan, or a plan limit is reached.forbidden(403): the key lacks a permission, or the action is not allowed.not_found(404): nothing with that id in your account.conflict(409): clashes with the current state.confirmation_required(409): repeat withconfirm=true. Folder deletion only.rate_limited(429): wait forRetry-Afterseconds.internal_error(500) andservice_unavailable(503): try again later.
string
message
required
Written for a person. May change; do not parse it.
string
details
One of:
Array<object>
object
path
required
The failing field, dot separated, such as prize.label.
string
message
required
string
object
key
additional properties
any
Example
{ "error": { "code": "not_found", "message": "Channel 0192f3a1-0000-7000-8000-00000000c009 not found." }}