Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kaireonai.com/llms.txt

Use this file to discover all available pages before exploring further.

Endpoint

GET /api/v1/dashboards/decision-health/summary?days=<1-90> (default 7d). Tenant-scoped, viewer+ role.

Response shape

{
  "windowDays": 7,
  "windowFrom": "2026-04-22T00:00:00.000Z",
  "acceptanceTrend": [
    { "day": "2026-04-22", "accepted": 1234, "total": 1500 }
  ],
  "perOfferAcceptance": [
    { "offerId": "OFFER_A", "count": 412 }
  ],
  "modelAucTrend": [
    { "modelId": "...", "modelName": "gbm-prod-v3", "modelType": "gradient_boosted",
      "auc": 0.84, "updatedAt": "2026-04-25T..." }
  ],
  "fairnessAuditCount": 18,
  "contactPolicyHits": 4321,
  "engagementMultiplier": 1.07,
  "scenarioForecast": { "runCount": 6, "valueDeltaSum": 12450.123 },
  "meta": { "tracesScanned": 14820, "modelsScanned": 12 }
}

Honest limits

  • All numbers are aggregates from existing tables. No time-series storage was added — the trend series is best-effort over DecisionTrace timestamps within the window.
  • modelAucTrend is best-effort. We read auc from each model’s modelState.metrics.auc field; models that don’t track AUC (e.g., Bayesian, Thompson) are absent from this list.
  • engagementMultiplier averages the engagementMultiplier value across active contact policies that defined one. Tenants without engagement-aware caps see null here.
  • The window is capped at 90 days because the trace scan is unbounded otherwise.

UI

/dashboards/decision-health renders:
  • 5 KPI cards (decisions, acceptance %, fairness audits, contact- policy hits, engagement multiplier).
  • Acceptance-trend line chart (accepted vs total per day).
  • Top-10 offers bar chart.
  • Model-AUC table.
  • Scenario-forecast badge row.
Window selector lets operators flip 1d / 7d / 30d / 90d. Each selection re-fetches with the corresponding ?days= value.