{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/stream_accessRules",
  "title": "stream_accessRules",
  "description": "Defines rules for fine-grained control over content than signed URL tokens alone. Access rules primarily make tokens conditionally valid based on user information. Access Rules are specified on token payloads as the `accessRules` property containing an array of Rule objects.",
  "properties": {
    "action": {
      "description": "The action to take when a request matches a rule. If the action is `block`, the signed token blocks views for viewers matching the rule.",
      "enum": [
        "allow",
        "block"
      ],
      "example": "allow",
      "type": "string"
    },
    "country": {
      "description": "An array of 2-letter country codes in ISO 3166-1 Alpha-2 format used to match requests.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "ip": {
      "description": "An array of IPv4 or IPV6 addresses or CIDRs used to match requests.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "type": {
      "description": "Lists available rule types to match for requests. An `any` type matches all requests and can be used as a wildcard to apply default actions after other rules.",
      "enum": [
        "any",
        "ip.src",
        "ip.geoip.country"
      ],
      "example": "ip.src",
      "type": "string"
    }
  },
  "type": "object"
}