{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/shodan/json-schema/shodan-rest-alert-schema.json",
  "title": "Shodan Network Alert",
  "description": "A Shodan network alert that monitors one or more IP ranges and fires triggers when matching events are observed.",
  "type": "object",
  "required": ["id", "name", "filters"],
  "properties": {
    "id": { "type": "string" },
    "name": { "type": "string" },
    "created": { "type": "string", "format": "date-time" },
    "expires": { "type": "integer", "description": "Seconds until expiration." },
    "expiration": { "type": "string", "format": "date-time" },
    "size": { "type": "integer", "description": "Number of IPs monitored." },
    "filters": {
      "type": "object",
      "properties": {
        "ip": {
          "type": "array",
          "items": { "type": "string" }
        }
      }
    },
    "triggers": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "enabled": { "type": "boolean" }
        }
      }
    }
  }
}
