Depending on the game mode, requests may be public or require authentication via HTTPS bearer token.
https://www.chastitytracker.org
POST /api/v2/games.php HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
Content-Type: application/json
POST /api/v2/games.php HTTP/2
Host: www.chastitytracker.org
Content-Type: application/json
All v2 endpoints return a unified JSON envelope.
{
"ok": true,
"data": { ... },
"meta": {"version":2}
}
{
"ok": false,
"error": {"code":"...", "message":"..."},
"meta": {"version":2}
}
Games modify a sessionโs scheduledend and generate a new entry in histories.
Supported games are: DICE, LUCK, LINK.
session: session iddom: 0/1 (1 means performed by a dom)operation: ADD | SUBseconds: seconds added or subrtractedscheduledend_utc: new UTC scheduled end after the operationmultiplier: random multiplierdom=0) if the user enabled the LINK game and shares the token link.POST /api/v2/games.phpPlays a game action and updates the session schedule.
{
"game": "dice" | "luck" | "link",
"dom": 0 | 1,
"session": 123,
"token": "PUBLIC_LINK_TOKEN",
"type": "add" | "sub" | "rand"
}
game: required. Allowed: dice, luck, link.dom: required. 0 = owner/public, 1 = dom action.session: required for DICE, LUCK, and LINK dom=1. Optional for LINK dom=0 if token is provided (session is resolved by token).token: required for LINK dom=0 (public vote). Optional elsewhere.type: required for LINK (both dom modes). Allowed: add, sub, rand.dom=0: bearer token user must be the session owner.dom=1: bearer token user must be the dom of the owner (active link required).dom=1: bearer token required, must be dom of the owner.dom=0: public vote, no bearer required. If bearer is present, it is used to identify the voter.For LINK dom=0, if the request includes a bearer token belonging to the session owner, the API triggers a penalty immediately:
penalty = 1type is forced to addmultiplier is forced to maxmultipliersource becomes PENALTYVotes are limited according to LINK configuration:
waitint=0: vote once ever.waitint=1: vote again after 24 hours.(token, session, user) only (IP is ignored).(token, session, ip) where user IS NULL.
POST /api/v2/games.php HTTP/2
Host: www.chastitytracker.org
Content-Type: application/json
{
"game":"link",
"dom":0,
"token":"AbCdEf123...",
"type":"rand"
}
POST /api/v2/games.php HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
Content-Type: application/json
{
"game":"link",
"dom":0,
"token":"AbCdEf123...",
"type":"add"
}
POST /api/v2/games.php HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
Content-Type: application/json
{
"game":"dice",
"dom":0,
"session":123
}
POST /api/v2/games.php HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
Content-Type: application/json
{
"game":"luck",
"dom":1,
"session":123
}
{
"ok": true,
"data": {
"game":"link",
"operation":"ADD",
"multiplier":1.37,
"time":3600,
"unit":"hour",
"int":1,
"seconds":3600,
"dom":0,
"scheduledend_utc":"2026-02-10 00:00:00",
"session":123,
"penalty":null
},
"meta":{"version":2}
}
{
"ok": true,
"data": {
"game":"dice",
"operation":"SUB",
"time":7200,
"sum":-3,
"dices":[6,1,2],
"dicesops":["","s",""],
"calc":"+6-1+2",
"multiplier":1.11,
"seconds":7200,
"dom":0,
"scheduledend_utc":"2026-02-10 00:00:00",
"session":123
},
"meta":{"version":2}
}
{
"ok": true,
"data": {
"game":"luck",
"operation":"ADD",
"time":86400,
"int":1,
"multiplier":1.22,
"seconds":86400,
"dom":1,
"scheduledend_utc":"2026-02-11 00:00:00",
"session":123
},
"meta":{"version":2}
}
200 OK โ Played successfully400 Bad Request โ Validation error (missing fields, cooldown, etc.)401 Unauthorized โ Missing/invalid token (where required)403 Forbidden โ Permission denied (not owner / not dom)404 Not Found โ Link token or session not found405 Method Not Allowed โ Not POST500 Internal Server Error โ Server errorhistories for each game action.games.used/games.lastuse.