---
title: "Persist Alert"
method: POST
path: "/cron/persist_alert"
---

# Persist Alert

`POST /cron/persist_alert`

## Request body

- union
  - PersistAlertRequest
    - `alert_id` string, required
    - `alert_name` string, required
    - `alert_description` string, required
    - `alert_source_id` string, required
    - `alert_owner` string, required
    - `source` string, required
    - `source_link` string, required
    - `tags` string[], required
    - `anomaly_status` 'suppressed' | 'analyzed' | 'anomalous' | 'noise', required — Enum for anomaly status values. Used to track whether an alert has been analyzed and deemed anomalous or noise.
    - `anomaly_status_explanation_stats` AnomalyStatusExplanationStats, required — Anomaly status explanation stats for alerts.
      - `is_recovered` boolean, nullable
      - `current_alert_duration` number, nullable
      - `current_warning_duration` number, nullable
      - `baseline_alert_duration` number, nullable
      - `baseline_warning_duration` number, nullable
      - `current_alert_count` integer, nullable
      - `current_warning_count` integer, nullable
      - `baseline_alert_count` integer, nullable
      - `baseline_warning_count` integer, nullable
      - `anomaly_score` number, nullable
      - `is_blocked_by_retrigger` boolean, nullable
      - `last_triggered_time` string, date-time, nullable
      - `time_since_last_trigger_hours` number, nullable
      - `retrigger_block_hours` number, nullable
      - `fetch_time_ms` number, nullable
      - `anomaly_compute_time_ms` number, nullable
      - `trigger_decision_time_ms` number, nullable
      - `events_fetched` integer, nullable
      - `memory_bytes` integer, nullable
    - `initial_fire` string, date-time, required
    - `last_fire` string, date-time, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `organization_id` string, required
    - `services_context` ServiceContext[]
      - `id` string, required
      - `name` string, required
      - `description` string, nullable
    - `context_items` ContextItemInput[], nullable
      - `id` string, required
      - `organization_id` string, required
      - `context_item_name` 'central_id' | 'function' | 'application' | 'service' | 'team' | 'url_endpoint' | 'correlation_id' | 'topology_node' | 'account' | 'storage' | 'environment' | 'cluster' | 'snow_alert' | 'snow_incident' | 'snow_problem' | 'snow_change_request' | 'customer_journey' | 'domain' | 'mim_id' | 'monitor_id', required — Enum for context item names.
      - `value` string, required
      - `metadata` object, required
    - `retrigger_block_hours` integer, required
  - PersistAlertInfo
    - `alert_id` string, required
    - `alert_name` string, required
    - `alert_description` string, required
    - `alert_source_id` string, required
    - `alert_owner` string, required
    - `source` string, required
    - `source_link` string, required
    - `tags` string[], required
    - `anomaly_status` 'suppressed' | 'analyzed' | 'anomalous' | 'noise', required — Enum for anomaly status values. Used to track whether an alert has been analyzed and deemed anomalous or noise.
    - `anomaly_status_explanation_stats` AnomalyStatusExplanationStats, required — Anomaly status explanation stats for alerts.
      - `is_recovered` boolean, nullable
      - `current_alert_duration` number, nullable
      - `current_warning_duration` number, nullable
      - `baseline_alert_duration` number, nullable
      - `baseline_warning_duration` number, nullable
      - `current_alert_count` integer, nullable
      - `current_warning_count` integer, nullable
      - `baseline_alert_count` integer, nullable
      - `baseline_warning_count` integer, nullable
      - `anomaly_score` number, nullable
      - `is_blocked_by_retrigger` boolean, nullable
      - `last_triggered_time` string, date-time, nullable
      - `time_since_last_trigger_hours` number, nullable
      - `retrigger_block_hours` number, nullable
      - `fetch_time_ms` number, nullable
      - `anomaly_compute_time_ms` number, nullable
      - `trigger_decision_time_ms` number, nullable
      - `events_fetched` integer, nullable
      - `memory_bytes` integer, nullable
    - `initial_fire` string, date-time, required
    - `last_fire` string, date-time, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `organization_id` string, required
    - `services_context` ServiceContext[], required
      - `id` string, required
      - `name` string, required
      - `description` string, nullable
    - `context_items` ContextItemInput[], nullable, required
      - `id` string, required
      - `organization_id` string, required
      - `context_item_name` 'central_id' | 'function' | 'application' | 'service' | 'team' | 'url_endpoint' | 'correlation_id' | 'topology_node' | 'account' | 'storage' | 'environment' | 'cluster' | 'snow_alert' | 'snow_incident' | 'snow_problem' | 'snow_change_request' | 'customer_journey' | 'domain' | 'mim_id' | 'monitor_id', required — Enum for context item names.
      - `value` string, required
      - `metadata` object, required
    - `retrigger_block_hours` integer, required

## Response `200`

Successful Response

- PersistAlertResponse
  - `success` boolean, required
  - `to_triage` boolean, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/traversal/apis/fastapi.md) · [All operations](https://skmtc.net/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/traversal/fastapi/revisions/2134ebffd1ef/schema)
