Patch request for updating an alert — PATCH /v1/alerts/{uuid}. All fields optional. If status=Closed, close_classification is required.
Alert investigation lifecycle status. Stored as TEXT with Pydantic validation. Do NOT use a Postgres ENUM type — TEXT with app-level validation is easier to migrate.
Transition flow: Open → Triaging / Escalated → Closed
Open, Triaging, Escalated, Closed Alert severity levels. Stored as TEXT with Pydantic validation. Source plugins are responsible for mapping source-specific severity values to this enum.
Pending, Informational, Low, Medium, High, Critical Required when status transitions to Closed. Used for FP rate metrics and detection quality. Any value starting with 'False Positive' counts toward the false_positive_rate metric.
True Positive - Suspicious Activity, Benign Positive - Suspicious but Expected, False Positive - Incorrect Detection Logic, False Positive - Inaccurate Data, Undetermined, Duplicate, Not Applicable Indicator malice verdict — shared validation enum.
Pending, Benign, Suspicious, Malicious