{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/arcmira/json-schema/arcmira-alert-list-response-schema.json",
  "title": "AlertListResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/arcmira-monitors-api-openapi.yml#/components/schemas/AlertListResponse",
  "type": "object",
  "properties": {
    "alerts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Alert"
      },
      "description": "Newest alerts first."
    },
    "has_more": {
      "type": "boolean",
      "description": "True when older alerts exist past limit. The endpoint does not paginate: raise limit, up to 100, to read them."
    },
    "next_cursor": {
      "type": "null",
      "description": "Always null: this endpoint does not paginate."
    }
  },
  "required": [
    "alerts",
    "has_more",
    "next_cursor"
  ],
  "$defs": {
    "Alert": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Alert delivery id."
        },
        "tracker_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Id of the tracker (tracked entity) that produced the alert."
        },
        "monitor_id": {
          "type": "string",
          "description": "Id of the monitor whose delivery sent the alert."
        },
        "entity_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public id (\"ent_{n}\") of the entity that triggered the alert, when recorded. Null on older alerts recorded before entity_id was stored. Resolve the entity through mention_id or the embedded tracker when this is null."
        },
        "mention_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public id (\"men_{n}\") of the mention or appearance that triggered the alert. Matches the id on /v1/mentions results. Null when not appearance-scoped."
        },
        "video_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "YouTube video id (11 characters) of the video that triggered the alert. Null when not media-scoped."
        },
        "excerpt_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Id of the active mention excerpt used as mention evidence. Null when the alert was sent before evidence was recorded."
        },
        "evidence_kind": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "excerpt",
            null
          ],
          "description": "Which evidence layer was sent. Null on older alerts."
        },
        "channel": {
          "type": "string",
          "description": "Delivery channel. Values: email (sent by email), webhook (POSTed to the configured webhook URL), slack (sent to Slack)."
        },
        "status": {
          "type": "string",
          "description": "Delivery status. Values: pending (queued for delivery), sending (handed to the destination, answer not yet recorded), sent (delivered), unconfirmed (handed to the destination with no answer recorded; counted as delivered), failed (delivery failed; see error_message), skipped (delivery intentionally skipped)."
        },
        "final_status": {
          "type": [
            "string",
            "null"
          ],
          "description": "Terminal status after retries. Null while delivery is still in progress."
        },
        "error_message": {
          "type": [
            "string",
            "null"
          ],
          "description": "Error details for failed deliveries. Null unless delivery failed."
        },
        "scheduled_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "When delivery was scheduled. Null when delivered immediately."
        },
        "sent_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "When the alert was actually sent. Null until delivery succeeds."
        },
        "created_at": {
          "type": "string",
          "description": "When the alert was created."
        },
        "tracker": {
          "type": "object",
          "properties": {
            "id": {
              "type": [
                "string",
                "null"
              ],
              "description": "Tracker id."
            },
            "entity_name": {
              "type": [
                "string",
                "null"
              ],
              "description": "Tracked entity name."
            },
            "entity_type": {
              "type": [
                "string",
                "null"
              ],
              "description": "Tracked entity type."
            },
            "display_name": {
              "type": [
                "string",
                "null"
              ],
              "description": "User-facing display name for the tracker. Null when not customized."
            }
          },
          "required": [
            "id",
            "entity_name",
            "entity_type",
            "display_name"
          ],
          "description": "The tracker the alert belongs to. Fields are null when the tracker was deleted."
        },
        "monitor": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "id": {
              "type": "string",
              "description": "Monitor id."
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "Monitor name."
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The monitor the tracker belongs to. Null when that monitor was deleted."
        }
      },
      "required": [
        "id",
        "tracker_id",
        "monitor_id",
        "entity_id",
        "mention_id",
        "video_id",
        "excerpt_id",
        "evidence_kind",
        "channel",
        "status",
        "final_status",
        "error_message",
        "scheduled_at",
        "sent_at",
        "created_at",
        "tracker",
        "monitor"
      ],
      "description": "One delivery of an alert. Each alert uses 25 credits once, however many channels and recipients deliver it."
    }
  }
}