Sessions
Bind the runtime sessionId to the session (attribution)
The embed posts the runtime sessionId (known only after connect) so the platform can attribute the live session to your app for usage + reactive kill. app_id is taken from the verified session token, never the client.
POST
/
v1
/
sessions
/
track
Bind the runtime sessionId to the session (attribution)
curl --request POST \
--url https://api.alakazam.gg/v1/sessions/track \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reactorSessionId": "<string>",
"token": "<string>"
}
'import requests
url = "https://api.alakazam.gg/v1/sessions/track"
payload = {
"reactorSessionId": "<string>",
"token": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reactorSessionId: '<string>', token: '<string>'})
};
fetch('https://api.alakazam.gg/v1/sessions/track', 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://api.alakazam.gg/v1/sessions/track",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reactorSessionId' => '<string>',
'token' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.alakazam.gg/v1/sessions/track"
payload := strings.NewReader("{\n \"reactorSessionId\": \"<string>\",\n \"token\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.alakazam.gg/v1/sessions/track")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reactorSessionId\": \"<string>\",\n \"token\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.alakazam.gg/v1/sessions/track")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reactorSessionId\": \"<string>\",\n \"token\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"detail": "<string>",
"errors": [
"<string>"
],
"schemaVersion": "<string>"
}{
"detail": "<string>",
"errors": [
"<string>"
],
"schemaVersion": "<string>"
}Authorizations
The scoped runtime session JWT from POST /v1/sessions/token. The embed's browser presents it (Authorization: Bearer, or a token body field) to the runtime exchange routes. Not an API key.
Response
Bound.
⌘I
Bind the runtime sessionId to the session (attribution)
curl --request POST \
--url https://api.alakazam.gg/v1/sessions/track \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reactorSessionId": "<string>",
"token": "<string>"
}
'import requests
url = "https://api.alakazam.gg/v1/sessions/track"
payload = {
"reactorSessionId": "<string>",
"token": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reactorSessionId: '<string>', token: '<string>'})
};
fetch('https://api.alakazam.gg/v1/sessions/track', 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://api.alakazam.gg/v1/sessions/track",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reactorSessionId' => '<string>',
'token' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.alakazam.gg/v1/sessions/track"
payload := strings.NewReader("{\n \"reactorSessionId\": \"<string>\",\n \"token\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.alakazam.gg/v1/sessions/track")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reactorSessionId\": \"<string>\",\n \"token\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.alakazam.gg/v1/sessions/track")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reactorSessionId\": \"<string>\",\n \"token\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"detail": "<string>",
"errors": [
"<string>"
],
"schemaVersion": "<string>"
}{
"detail": "<string>",
"errors": [
"<string>"
],
"schemaVersion": "<string>"
}
