Aggregate verdict / latency / PII stats over a time window
curl --request GET \
--url https://api.blindsight.example.com/api/runtime-security/analytics \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.blindsight.example.com/api/runtime-security/analytics"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.blindsight.example.com/api/runtime-security/analytics', 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.blindsight.example.com/api/runtime-security/analytics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.blindsight.example.com/api/runtime-security/analytics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.blindsight.example.com/api/runtime-security/analytics")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blindsight.example.com/api/runtime-security/analytics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"range_days": 123,
"range_minutes": 123,
"bucket_seconds": 123,
"totals": {
"total": 123,
"input": 123,
"output": 123,
"tool_call": 123,
"pii_hits": 123,
"injection_hits": 123
},
"verdict_breakdown": {
"allow": 123,
"redact": 123,
"block": 123
},
"avg_latency_ms": 123,
"p95_latency_ms": 123,
"pii_category_breakdown": {},
"top_injection_labels": [
{
"label": "<string>",
"count": 123
}
],
"series": [
{
"date": "2023-12-25",
"allow": 123,
"redact": 123,
"block": 123,
"total": 123
}
],
"model_name": "<string>"
}Analytics
Aggregate verdict / latency / PII stats over a time window
GET
/
api
/
runtime-security
/
analytics
Aggregate verdict / latency / PII stats over a time window
curl --request GET \
--url https://api.blindsight.example.com/api/runtime-security/analytics \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.blindsight.example.com/api/runtime-security/analytics"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.blindsight.example.com/api/runtime-security/analytics', 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.blindsight.example.com/api/runtime-security/analytics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.blindsight.example.com/api/runtime-security/analytics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.blindsight.example.com/api/runtime-security/analytics")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blindsight.example.com/api/runtime-security/analytics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"range_days": 123,
"range_minutes": 123,
"bucket_seconds": 123,
"totals": {
"total": 123,
"input": 123,
"output": 123,
"tool_call": 123,
"pii_hits": 123,
"injection_hits": 123
},
"verdict_breakdown": {
"allow": 123,
"redact": 123,
"block": 123
},
"avg_latency_ms": 123,
"p95_latency_ms": 123,
"pii_category_breakdown": {},
"top_injection_labels": [
{
"label": "<string>",
"count": 123
}
],
"series": [
{
"date": "2023-12-25",
"allow": 123,
"redact": 123,
"block": 123,
"total": 123
}
],
"model_name": "<string>"
}Authorizations
ApiKeyAuthBlindsightKeyAuthSessionCookieAuth
Blindsight workspace API key (ak_live_…). Use this header for the
scan API and the OpenAI proxy routes. The required permission
scope is runtime_security.scan for scan endpoints,
runtime_security.view for read-only analytics, and
runtime_security.manage for configuration changes.
Query Parameters
Lookback window in days. Ignored if minutes is set.
Required range:
1 <= x <= 3650Lookback window in minutes (overrides days).
Required range:
1 <= x <= 5256000Response
200 - application/json
Aggregates
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

