Total Incidents
-
Loading...
Resolved
-
auto-remediated
Critical
-
need attention
Avg Resolution
-
seconds
AI Confidence
-
average score

No incidents yet

Send a test alert to see the engine in action

Runbook Library

Loading runbooks...

Integration Guide

POST /api/incidents

Submit an alert from any monitoring tool. OpsPilot auto-detects the source format (Datadog, PagerDuty, or custom).

curl -X POST https://opspilot-11.polsia.app/api/incidents \
  -H "Content-Type: application/json" \
  -d '{
    "title": "CPU spike on prod-api-3",
    "severity": "critical",
    "service": "api-gateway",
    "host": "prod-api-3",
    "metric_name": "cpu",
    "value": 94.5,
    "threshold": 90,
    "description": "CPU utilization sustained above 90% for 5 minutes"
  }'
POST /api/incidents/datadog

Dedicated Datadog webhook endpoint. Use this URL in Datadog notification channels.

curl -X POST https://opspilot-11.polsia.app/api/incidents/datadog \
  -H "Content-Type: application/json" \
  -d '{
    "title": "[P1] High CPU on prod-api",
    "priority": "P1",
    "host": "prod-api-3",
    "tags": ["service:api-gateway", "env:production"],
    "body": "CPU at 95% for 10 minutes"
  }'
POST /api/incidents/pagerduty

PagerDuty webhook endpoint. Configure as a webhook extension in PagerDuty.

curl -X POST https://opspilot-11.polsia.app/api/incidents/pagerduty \
  -H "Content-Type: application/json" \
  -d '{
    "event": {
      "data": {
        "title": "Memory leak in order-service",
        "severity": "critical",
        "service": { "name": "order-service" },
        "custom_details": {
          "hostname": "prod-worker-2",
          "metric": "memory",
          "value": "91"
        }
      }
    }
  }'
GET /api/incidents

List all incidents. Supports filtering by status, severity, and source.

curl https://opspilot-11.polsia.app/api/incidents?status=resolved&severity=critical&limit=20
GET /api/incidents/:id

Get full incident detail including diagnosis, matched runbook, and actions taken.

curl https://opspilot-11.polsia.app/api/incidents/1
GET /api/incidents/stats

Get dashboard statistics: totals, averages, and recent activity.

curl https://opspilot-11.polsia.app/api/incidents/stats
GET /api/runbooks

List all runbooks in the library.

curl https://opspilot-11.polsia.app/api/runbooks
POST /api/runbooks

Create a custom runbook.

curl -X POST https://opspilot-11.polsia.app/api/runbooks \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Redis OOM - Flush and Restart",
    "description": "When Redis runs out of memory",
    "trigger_conditions": { "metric": "redis_memory", "operator": "gt", "threshold": 95 },
    "steps": [
      { "order": 1, "action": "diagnose", "description": "Check key sizes" },
      { "order": 2, "action": "flush", "description": "Flush expired keys" },
      { "order": 3, "action": "restart", "description": "Restart Redis" }
    ],
    "auto_execute": false,
    "severity_filter": "critical",
    "category": "database",
    "tags": ["redis", "memory", "cache"]
  }'