All API requests must be authenticated via HTTPS using a bearer token.
https://www.chastitytracker.org
GET /api/v2/orgasms.php HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
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}
}
GET /api/v2/orgasms.php (list)Returns orgasm items for the token owner, with optional filters and pagination.
from: YYYY-MM-DD (optional)to: YYYY-MM-DD (optional)public: 0/1 (optional)mode: full | ruined | milking | dom | ted (optional)limit: integer (default 50, max 200)offset: integer (default 0)mode=dom cannot be combined with public=1.
GET /api/v2/orgasms.php?from=2026-01-01&to=2026-02-01&limit=50&offset=0 HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
{
"ok": true,
"data": {
"count": 2,
"total": 10,
"limit": 50,
"offset": 0,
"items": [
{
"id": 123,
"date": "2026-01-15",
"mode": "full",
"public": 1,
"type": "Stroke",
"grantedby": null,
"inserted": "2026-01-15 10:12:30.123"
}
]
},
"meta":{"version":2}
}
GET /api/v2/orgasms.php?id=ID (details)Returns a single orgasm item owned by the token user.
GET /api/v2/orgasms.php?id=123 HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
POST /api/v2/orgasms.php (insert)Insert orgasm(s). Requires token with write permission.
date: YYYY-MM-DDmode: full | ruined | milking | dom | tedpublic: 0/1type: string (max 100)grantedby: string (max 50)number: integer (max 50)mode=dom forces public=0 and clears grantedby.
POST /api/v2/orgasms.php HTTP/2
Host: www.chastitytracker.org
Authorization: Bearer {YOUR_API_TOKEN}
Content-Type: application/json
{
"date":"2026-02-01",
"mode":"full",
"public":1
}
201 Created β Inserted400 Bad Request β Validation error401 Unauthorized β Missing/invalid token403 Forbidden β Missing write permission500 Internal Server Error β Server errorPATCH /api/v2/orgasms.php?id=ID (update)Update orgasm fields. Requires token with write permission. Only provided fields are updated.
date, public, type, grantedby, modemode=dom β forces public=0 and clears grantedby.DELETE /api/v2/orgasms.php?id=ID (delete)Delete orgasm by id. Requires token with write permission.