Start game
curl --request POST \
--url https://{host}/game/v1/games/{gameId}/start \
--header 'Authorization: <api-key>' \
--header 'memberId: <memberid>'import requests
url = "https://{host}/game/v1/games/{gameId}/start"
headers = {
"memberId": "<memberid>",
"Authorization": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {memberId: '<memberid>', Authorization: '<api-key>'}};
fetch('https://{host}/game/v1/games/{gameId}/start', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/game/v1/games/{gameId}/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"memberId: <memberid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{host}/game/v1/games/{gameId}/start"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("memberId", "<memberid>")
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{host}/game/v1/games/{gameId}/start")
.header("memberId", "<memberid>")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/game/v1/games/{gameId}/start")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["memberId"] = '<memberid>'
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"gameUrl": "<string>",
"attemptId": "<string>",
"gameType": "withLogistic",
"tags": [
"<string>"
]
}{
"name": "<string>",
"message": "<string>",
"details": null
}{
"type": "<string>",
"title": "<string>",
"status": "<string>",
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": "<string>",
"detail": "<string>",
"instance": "<string>"
}{
"name": "<string>",
"message": "<string>",
"details": null
}Start game
POST
/
v1
/
games
/
{gameId}
/
start
Start game
curl --request POST \
--url https://{host}/game/v1/games/{gameId}/start \
--header 'Authorization: <api-key>' \
--header 'memberId: <memberid>'import requests
url = "https://{host}/game/v1/games/{gameId}/start"
headers = {
"memberId": "<memberid>",
"Authorization": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {memberId: '<memberid>', Authorization: '<api-key>'}};
fetch('https://{host}/game/v1/games/{gameId}/start', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/game/v1/games/{gameId}/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"memberId: <memberid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{host}/game/v1/games/{gameId}/start"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("memberId", "<memberid>")
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{host}/game/v1/games/{gameId}/start")
.header("memberId", "<memberid>")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/game/v1/games/{gameId}/start")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["memberId"] = '<memberid>'
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"gameUrl": "<string>",
"attemptId": "<string>",
"gameType": "withLogistic",
"tags": [
"<string>"
]
}{
"name": "<string>",
"message": "<string>",
"details": null
}{
"type": "<string>",
"title": "<string>",
"status": "<string>",
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": "<string>",
"detail": "<string>",
"instance": "<string>"
}{
"name": "<string>",
"message": "<string>",
"details": null
}Authorizations
Opaque Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Headers
Member id
Pattern:
(?=\s*\S)^[\S\s]{1,36}$Optional data to include into session id. This data is then passed to Promotion service when assigning rewards.
Maximum string length:
256Path Parameters
Game id
Response
OK
URL of the webview for the game. Ready to be opened in the app or browser to show the gameplay.
Unique identifier for the attempt. Used in Gameplay for correlation with game data
Minimum string length:
1Available options:
withLogistic, withoutLogistic, dailyGame Tags assigned to the game.
Last modified on August 10, 2026