Analytics & MTTR

The Analytics API provides operational metrics across your Sentinel deployment — incident volumes, response time breakdowns, action counts, and MTTR (Mean Time to Respond) compared against industry benchmarks.

Summary

bash
GET /v1/sentinel/analytics/summary?days=30
NameTypeRequiredDescription
daysintegerNoLookback window in days (1–90). Defaults to 30.
json
{
  "data": {
    "period_days": 30,
    "since": "2025-05-02T00:00:00Z",
    "incidents": {
      "total": 47,
      "by_severity": {
        "critical": 3,
        "high": 12,
        "medium": 24,
        "low": 8
      },
      "by_status": {
        "resolved": 41,
        "contained": 4,
        "open": 2
      },
      "avg_response_time_seconds": 38
    },
    "actions": {
      "total": 183,
      "by_type": {
        "isolate_device": 12,
        "revoke_sessions": 34,
        "block_ip": 47,
        "run_scan": 64,
        "disable_account": 8,
        "quarantine_file": 18
      }
    },
    "network_blocks_active": 94
  }
}

MTTR breakdown

bash
GET /v1/sentinel/analytics/mttr?days=30
json
{
  "data": {
    "period_days": 30,
    "overall_avg_seconds": 38,
    "overall_avg_human": "38s",
    "industry_benchmark_seconds": 10800,
    "improvement_factor": 284,
    "by_severity": {
      "critical": {
        "count": 3,
        "avg_seconds": 22,
        "min_seconds": 18,
        "max_seconds": 31
      },
      "high": {
        "count": 12,
        "avg_seconds": 35,
        "min_seconds": 19,
        "max_seconds": 58
      }
    }
  }
}

Using analytics in reports

Combine the summary and MTTR endpoints to build executive-level security reports. Common patterns:

typescript
// Monthly security posture report
const [summary, mttr] = await Promise.all([
  fetch('/v1/sentinel/analytics/summary?days=30').then(r => r.json()),
  fetch('/v1/sentinel/analytics/mttr?days=30').then(r => r.json()),
])

const report = {
  period: '30 days',
  incidents_detected: summary.data.incidents.total,
  critical_incidents: summary.data.incidents.by_severity.critical,
  avg_response_time: mttr.data.overall_avg_human,
  vs_industry: `${mttr.data.improvement_factor}× faster than industry average`,
  active_blocks: summary.data.network_blocks_active,
}
Tip:Schedule a weekly analytics pull using the api.changelog.published webhook pattern — or use a cron job against the analytics endpoints — to feed security KPIs into your dashboards, board reports, or customer-facing portals.