http://localhost/api/v1/interaction/session/{sessionId}
scope: interaction.session
Returns the accumulated risk verdict for a session built up from prior session-beacon calls — real focus/blur event presence, hidden-tab time, and mouse-movement uniformity across the whole session, not just one form.
curl "http://localhost/api/v1/interaction/session/sess_a1b2c3d4" \
-H "Authorization: Bearer wsk_xxx_xxx"
<?php
$ch = curl_init('http://localhost/api/v1/interaction/session/sess_a1b2c3d4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer wsk_xxx_xxx']);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
import requests
response = requests.get("http://localhost/api/v1/interaction/session/sess_a1b2c3d4",
headers={"Authorization": "Bearer wsk_xxx_xxx"},
)
data = response.json()
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "http://localhost/api/v1/interaction/session/sess_a1b2c3d4", nil)
req.Header.Set("Authorization", "Bearer wsk_xxx_xxx")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}
{
"data": {
"session_id": "sess_a1b2c3d4",
"is_suspected_automated": false,
"fraud_score": 0, "risk_score": 0,
"reasons": ["No automation timing signals detected"],
"stats": {
"mouse_move_count": 42, "keystroke_count": 18,
"focus_count": 3, "blur_count": 2,
"visible_ms": 45000, "hidden_ms": 0, "beacon_count": 5
}
}
}