{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Rule",
  "title": "Rule",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Rule identifier"
    },
    "name": {
      "type": "string",
      "description": "Rule name"
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether the rule is enabled"
    },
    "action": {
      "type": "string",
      "enum": [
        "allow",
        "block",
        "redirect",
        "authenticate"
      ],
      "description": "Action to take when the rule matches"
    },
    "criteria": {
      "type": "string",
      "description": "Rule matching criteria expression"
    }
  }
}