Insights API · Live

One call. The whole memory picture. Plain English.

GET /v1/insights looks up an agent's most recent memory state, runs the same scoring engine as /v1/preflight (unmetered, no audit log) scoped to an insight view, and returns the full synthesis — forecast, monoculture risk, single-point-of-failure, healing ROI, calibration state, and the four-band decision — plus a natural-language insight_summary you can drop straight into a dashboard or an alert.

What it does

Most governance APIs answer one question per call. GET /v1/insights answers all of them at once: it resolves the agent's latest memory state (from recent outcomes or the audit history), scores it, and assembles every synthesis signal into a single JSON object. The headline field is insight_summary — a one-paragraph English read of what is happening to that agent's memory, generated from the same signals.

It is a read, not a new scoring request: it does not bill a preflight, mutate state, or dispatch webhooks. Point a dashboard widget at it, or call it on a schedule to populate a health view.

The fields

A single response carries the synthesis signals an operator actually asks for:

  • insight_summary — the plain-English read, composed from the signals below.
  • recommended_action + omega_mem_final — the four-band decision and risk score.
  • days_until_block (+ days_until_block_confidence) — the freshness-decay forecast.
  • monoculture_risk_level / monoculture_risk_score — whether the agent is over-reliant on a single source family.
  • single_point_of_failure_entry_id / _score — the entry whose removal would most change the decision.
  • top_heal_roi_entry_id / _value — where a single repair buys the most risk reduction.
  • confidence_calibration — whether the agent is calibrated or over-confident.
  • memory_complexity_trend — stable, fragmenting, or forming echo chambers.
  • knowledge_age_days (+ std), fleet_health_distance, cost_adjusted_decision — supporting context.

Request

curl -sS "https://api.sgraal.com/v1/insights?agent_id=support-bot-7&domain=customer_support" \
  -H "Authorization: Bearer $SGRAAL_API_KEY"

Query parameters: agent_id (required) and domain (optional, defaults to general). If there is no recent memory state for the agent, the response is { "agent_id": "...", "available": false, "reason": "no_recent_data" } — submit a preflight or an outcome first.

Response

Illustrative values shown — your response carries the same field set with your agent's own signals.

{
  "agent_id": "support-bot-7",
  "available": true,
  "insight_summary": "Agent will hit BLOCK in 5 days. Memory shows monoculture risk (HIGH). Single point of failure detected: m_014.",
  "recommended_action": "WARN",
  "omega_mem_final": 34,
  "days_until_block": 5,
  "days_until_block_confidence": 0.8,
  "monoculture_risk_level": "HIGH",
  "monoculture_risk_score": 41,
  "single_point_of_failure_entry_id": "m_014",
  "single_point_of_failure_score": 0.74,
  "top_heal_roi_entry_id": "m_014",
  "top_heal_roi_value": 31,
  "confidence_calibration": { "state": "CALIBRATED", "score": 0.62 },
  "memory_complexity_trend": "STABLE",
  "knowledge_age_days": 12,
  "knowledge_age_std_days": 9,
  "fleet_health_distance": null,
  "fleet_health_distance_available": false,
  "cost_adjusted_decision": false,
  "generated_at": "2026-05-24T09:12:04Z"
}

The decision fields carry the same semantics as the standard preflight endpoint. fleet_health_distance is null until the agent is part of a registered fleet.

Three ways teams use it

1 · The operator dashboard tile

A support team runs a fleet of assistants. A single GET /v1/insights per agent backs a one-line health tile: the insight_summary string is the tile text, recommended_action sets the colour. No client-side scoring logic, no five separate calls.

2 · The pre-deploy gate

Before promoting an agent build, CI calls insights and fails the job if days_until_block is low or monoculture_risk_level is HIGH — catching a brittle memory configuration before it ships, with one assertion against one response.

3 · The weekly digest

A scheduled job calls insights for each agent and emails the insight_summary lines as a digest. Operators read plain English — "single point of failure detected: m_014" — instead of parsing raw scores, and act on top_heal_roi_entry_id.

What this does not replace

A live preflight

Insights reads the agent's most recent memory state. For a decision on the memory an agent is about to act on right now, call POST /v1/preflight (or /v1/check) with the current state.

Production-calibrated forecasting

The forecast and synthesis fields are validated against synthetic adversarial corpora. Production calibration against real customer outcome data is pending paying-customer onboarding — see the threat model for the honest framing.

Versioning

Last reviewed: 2026-05-24. Status: Live · doc-only (endpoint in production).

Related: /docs/counterfactual · /docs/mvmem · /docs/api · /docs/proofs