Skip to main content
The Risk API provides seven endpoints for assessing, retrieving, and verifying risk scores for individual agents and teams. All endpoints require authentication via Bearer token or API key. GET endpoints that retrieve a stored resource by ID are account-scoped — a valid token from a different account returns 404 rather than 403 to avoid leaking resource existence. See Authorization model for the full specification.

Endpoints

Assess individual risk

Full reference ↗ Compute a context-aware risk assessment for an individual agent. Requires the risk_assessment feature flag on the caller’s plan. Request body: Example request:
Response: A RiskAssessment object with risk_score, risk_level, recommendation, confidence, contributing_factors, suggested_thresholds, explanation, proof_id, proof_status (none, pending, proving, verified, or failed — see proof lifecycle), and created_at. Results are cached 5 minutes per {agent_id, action_type, risk_tolerance, amount} tuple.

Assess team risk

Full reference ↗ Compute a risk assessment for a team of agents, including three-pillar analysis, Shapley attribution, outlier detection, and synergy classification. Request body: Example request:
Response: A TeamRiskAssessment object with team_risk_score, team_risk_level, team_coherence_score, team_recommendation, pillar breakdowns (portfolio_risk, coherence_risk, concentration_risk, weakest_link_risk), shapley_values, outliers, clusters, value_divergences, synergy_type, individual_assessments, explanation, and proof fields.

Get assessment

Full reference ↗ Retrieve a previously computed individual risk assessment by ID (ra-...). Requires an active risk_assessment entitlement (403 feature_gated otherwise); an assessment owned by another account, or absent, returns 404.

Get team assessment

Full reference ↗ Retrieve a previously computed team risk assessment by ID (tra-...). Requires an active team_risk_assessment entitlement; a team assessment owned by another account, or absent, returns 404 — see Authorization model.

Get risk history

Full reference ↗ Retrieve risk assessment history for an agent, most recent first, scoped to the caller’s account. Query parameters: Response: { assessments: RiskAssessment[], total, limit, offset }

Get team risk history

Full reference ↗ Retrieve team risk assessment history for a team, most recent first, scoped to the caller’s account. Same limit (default 20) / offset query parameters as individual history. Response: { team_id, assessments: TeamRiskAssessment[], total, limit, offset }

Get proof

Full reference ↗ Retrieve a ZK proof record (rpf-...) by id, generated fire-and-forget after /risk/assess or /risk/assess/team. Requires the entitlement for the assessment type the proof verifies; a proof owned by another account, or absent, returns 404. Response fields:

Feature gating

Individual assessment creation (POST /v1/risk/assess) requires the risk_assessment feature flag on the caller’s plan (402 if the plan lacks it). Reading a stored resource — an assessment, a team assessment, history, or a proof — additionally requires an active risk_assessment or team_risk_assessment entitlement depending on resource type; authenticated-but-not-entitled returns 403 feature_gated. See Pricing for current μ-based rates and what’s included.

Error codes

See also