Skip to content

Incident Response

Incident Response provides a structured workflow for handling security incidents — from initial detection through containment, evidence collection, and closure. Every action is recorded in an immutable timeline, and the AI assistant can create incidents, execute containment actions, and generate reports on your behalf.


Incidents progress through five statuses with enforced transitions:

StatusMeaningAllowed transitions
detectedIncident discovered and triagedanalyzing, contained
analyzingInvestigation in progresscontained, recovering
containedContainment actions executedrecovering, closed
recoveringSystem recovery underwaycontained, closed
closedIncident resolved(terminal)
ClassificationDescription
malwareMalware infection
ransomwareRansomware attack
phishingPhishing or social engineering
data_breachData exfiltration or exposure
unauthorized_accessUnauthorized system access
denial_of_serviceService disruption attack
insider_threatInternal threat actor
otherUnclassified incident
LevelDescription
p1Critical — immediate response required
p2High — respond within hours
p3Medium — respond within business day
p4Low — respond within normal workflow

Terminal window
POST /incidents
Content-Type: application/json
Authorization: Bearer <token>
{
"title": "Suspicious process on web-server-01",
"classification": "malware",
"severity": "p2",
"summary": "Agent detected unknown process communicating with external IP.",
"relatedAlerts": ["alert-uuid-1"],
"affectedDevices": ["device-uuid-1"],
"assignedTo": "user-uuid"
}
FieldTypeRequiredDescription
titlestringYesShort description
classificationstringYesIncident type (see classifications above)
severitystringYesp1, p2, p3, or p4
summarystringNoDetailed description
relatedAlertsUUID[]NoRelated alert IDs
affectedDevicesUUID[]NoAffected device IDs
assignedToUUIDNoUser to assign

The incident is created with status detected and an initial timeline entry.


Execute containment actions to isolate threats during an active incident.

Terminal window
POST /incidents/:id/contain
Content-Type: application/json
{
"actionType": "process_kill",
"description": "Killing suspicious svchost.exe (PID 4832)",
"executedBy": "user-uuid",
"approvalRef": "approval-123"
}
ActionDescriptionRequires Approval
process_killTerminate a process by PIDYes
network_isolationIsolate device from networkYes
account_disableDisable a compromised user accountYes
usb_blockBlock USB device accessYes

All containment actions require an approvalRef parameter. Actions are dispatched as agent commands and their results are recorded in the incident timeline.

StatusMeaning
pendingAwaiting execution
in_progressExecuting on device
completedSuccessfully executed
failedExecution failed
cancelledCancelled before execution

Attach forensic evidence to an incident for investigation and compliance.

Terminal window
POST /incidents/:id/evidence
Content-Type: application/json
{
"evidenceType": "log",
"description": "System event logs from 2026-03-28",
"collectedAt": "2026-03-28T14:00:00Z",
"collectedBy": "user-uuid",
"hash": "sha256-hash-of-content",
"storagePath": "s3://evidence-bucket/incident-001/logs.tar.gz"
}
TypeDescription
fileFile artifacts
logSystem or application logs
screenshotDevice screenshots
memoryMemory snapshots
networkNetwork connection data

Evidence integrity is validated using SHA-256 hashes. Storage paths must use approved URI schemes (s3://, gs://, r2://, azblob://, immutable://, https://). Path traversal sequences are blocked.


Every incident maintains an immutable timeline that records all events:

Entry TypeDescription
incident_createdIncident was opened
containment_executedContainment action completed successfully
containment_attemptedContainment action was attempted but failed
evidence_collectedEvidence was attached
incident_closedIncident was closed with summary

Each entry includes a timestamp, actor (user, brain, or system), summary, and type-specific metadata.

View the full timeline:

Terminal window
GET /incidents/:id

The response includes the incident details, timeline array, all containment actions, and all collected evidence.


Terminal window
POST /incidents/:id/close
{
"summary": "Malware removed, device re-imaged, credentials rotated.",
"lessonsLearned": "Detection delay was 4 hours. Adding process monitoring rule.",
"resolvedAt": "2026-03-28T18:00:00Z"
}

Closing records a resolvedAt timestamp, updates the status to closed, and adds a closure entry to the timeline.


Generate a structured report for an incident:

Terminal window
GET /incidents/:id/report

Returns:

  • Report metadata — title, classification, severity, duration
  • Actions summary — total, completed, failed, pending, action types used
  • Evidence summary — total count, breakdown by type
  • Full timeline — chronological event list

The AI assistant provides five tools for incident management:

ToolTierDescription
create_incidentTier 2Create a new incident with classification and severity
execute_containmentTier 3Run a containment action on a device (requires approval)
collect_evidenceTier 2Collect forensic evidence from a device
get_incident_timelineTier 1View the full incident timeline
generate_incident_reportTier 1Generate a structured incident report

The AI can also trigger playbooks as part of incident response. Ask the AI to run a playbook against an affected device, and it will execute the playbook with the incident ID in the execution context for traceability.


MethodPathDescription
POST/incidentsCreate a new incident
GET/incidentsList incidents (?status=&severity=&classification=&assignedTo=&startDate=&endDate=&page=&limit=)
GET/incidents/:idGet incident with timeline, actions, and evidence
POST/incidents/:id/closeClose an incident
GET/incidents/:id/reportGenerate incident report
POST/incidents/:id/containExecute containment action
POST/incidents/:id/evidenceCollect and attach evidence

All endpoints require authentication and are scoped to the caller’s organization.


Containment action stuck in pending. Containment actions are dispatched as agent commands. If the target device is offline, the action remains pending until the device reconnects. Check device connectivity.

Evidence upload rejected. The storage path must use an approved URI scheme (s3://, gs://, r2://, azblob://, immutable://, https://). Path traversal sequences (..) are blocked.

Cannot close incident. Only incidents in contained or recovering status can be closed. Progress the incident through containment before closing.

AI containment not executing. execute_containment is Tier 3 and requires human approval. Check Monitoring → AI Risk Engine → Approval History for pending requests.