Skip to main content

Scores

The latest Behavioral Integrity Index and its four signals, and the history.

MethodPathScopeSummary
GET/scores/{agent_id}/historyreadGet Score History
GET/scores/{agent_id}/latestreadGet Latest Score
GET/scores/fleetreadGet Fleet

Try it

curl -sf -X POST "$VIGIL_URL/agents/" -H "Authorization: Bearer $VIGIL_KEY" -H "Content-Type: application/json" \
-d '{"agent_id":"docs-api","name":"Docs API"}' > /dev/null || true
curl -sf -X POST "$VIGIL_URL/events/" -H "Authorization: Bearer $VIGIL_KEY" -H "Content-Type: application/json" \
-d '{"agent_id":"docs-api","event_type":"output_generated","payload":{"content_length":512},"dti":0.9}' > /dev/null
curl -sf -H "Authorization: Bearer $VIGIL_KEY" "$VIGIL_URL/scores/docs-api/latest"

Routes

GET /scores/{agent_id}/history

Get Score History. Scope: read.

ParameterInRequiredTypeNotes
agent_idpathyesstring
limitquerynointeger

Response 200:

[
{
"agent_id": "string",
"bii": 0,
"score_inflation_signal": 0,
"config_tamper_signal": 0,
"alignment_faking_signal": 0,
"asset_movement_signal": 0,
"blueprint_drift_signal": 0,
"alignment_p": 0,
"alignment_cliffs_delta": 0,
"composite_trust": 0,
"event_window": 0,
"computed_at": "string",
"policy_digest": "string"
}
]

GET /scores/{agent_id}/latest

Get Latest Score. Scope: read.

ParameterInRequiredTypeNotes
agent_idpathyesstring
dtiquerynonumber | null

Response 200:

{
"agent_id": "string",
"bii": 0,
"score_inflation_signal": 0,
"config_tamper_signal": 0,
"alignment_faking_signal": 0,
"asset_movement_signal": 0,
"blueprint_drift_signal": 0,
"alignment_p": 0,
"alignment_cliffs_delta": 0,
"composite_trust": 0,
"event_window": 0,
"computed_at": "string",
"policy_digest": "string"
}

GET /scores/fleet

Get Fleet. Scope: read.

The latest score per agent in the org. With adjust=bh the alignment faking p-values pass through Benjamini-Hochberg at the policy's detectors.fdr.q, so a large fleet does not page on chance; alignment_significant is then p_adjusted <= q. Without it, alignment_significant is the raw p < alpha and alignment_p_adjusted is null. Agents whose latest score had no test (an arm below min_n) have null p and are never significant.

ParameterInRequiredTypeNotes
adjustquerynobh | nullbh: Benjamini-Hochberg over the alignment p-values at the policy's fdr.q

Response 200:

{
"adjust": "string | null",
"method": "string | null",
"q": 0,
"alpha": 0,
"n_tested": 0,
"n_significant": 0,
"agents": [
{
"agent_id": "string",
"bii": 0,
"score_inflation_signal": 0,
"config_tamper_signal": 0,
"alignment_faking_signal": 0,
"asset_movement_signal": 0,
"blueprint_drift_signal": 0,
"alignment_p": 0,
"alignment_cliffs_delta": 0,
"composite_trust": 0,
"event_window": 0,
"computed_at": "string",
"policy_digest": "string",
"alignment_p_adjusted": 0,
"alignment_significant": true
}
]
}

Generated from openapi.json (VIGIL 0.2.0). Scopes follow the router dependencies in VIGIL_SPEC.md section 4.2.