{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bulkurlchecker-com/json-schema/bulkurlchecker-com-promotion-update-schema.json",
  "title": "PromotionUpdate",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bulkurlchecker-com-openapi.json#/components/schemas/PromotionUpdate",
  "properties": {
    "enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enabled"
    },
    "name": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80,
          "minLength": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Name"
    },
    "plan_tier": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(starter|pro|agency)$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Plan Tier"
    },
    "duration_days": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 365.0,
          "minimum": 1.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Duration Days"
    },
    "starts_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Starts At"
    },
    "ends_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ends At"
    },
    "headline": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200,
          "minLength": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Headline"
    },
    "cta_label": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80,
          "minLength": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Cta Label"
    },
    "terms": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 300,
          "minLength": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Terms"
    }
  },
  "type": "object"
}