{
  "title": "Sitemap URL Inventory - New, Changed & Removed URLs",
  "type": "object",
  "schemaVersion": 1,
  "properties": {
    "sitemapUrls": {
      "title": "Sitemap URLs",
      "description": "Up to10 absolute XML sitemap or sitemap-index URLs. Empty uses the official sitemaps.org sitemap.",
      "type": "array",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "default": [],
      "prefill": [
        "https://www.sitemaps.org/sitemap.xml"
      ]
    },
    "urlPrefixes": {
      "title": "Only these URL prefixes",
      "description": "Optional absolute URL prefixes. Empty selects every inventoried URL. Filtering does not limit sitemap reading.",
      "type": "array",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "default": []
    },
    "maxSitemaps": {
      "title": "Maximum sitemap files",
      "description": "Includes root maps and same-origin child maps. A reached limit prevents a complete baseline.",
      "type": "integer",
      "default": 20,
      "minimum": 1,
      "maximum": 100
    },
    "maxUrls": {
      "title": "Maximum inventoried URLs",
      "description": "Unique inventory cap before filters. Partial inventories never produce removal claims or replace history.",
      "type": "integer",
      "default": 5000,
      "minimum": 1,
      "maximum": 10000
    },
    "maxResults": {
      "title": "Maximum saved rows",
      "description": "Global output cap, including removal observations. If output is truncated, saved history is not advanced.",
      "type": "integer",
      "default": 100,
      "minimum": 1,
      "maximum": 10000
    },
    "comparePrevious": {
      "title": "Compare a saved inventory",
      "description": "Only a complete inventory with complete output can become a baseline. Removed means absent from the sitemap, not deleted from the website.",
      "type": "boolean",
      "default": false
    },
    "onlyChanges": {
      "title": "Save only changed URL observations",
      "description": "Enables comparison. Baseline, additions, changes and removals are saved; unchanged repeats can return zero rows.",
      "type": "boolean",
      "default": false
    },
    "snapshotName": {
      "title": "Snapshot name",
      "description": "1-80 letters, numbers, underscores or hyphens. Reuse the same map URLs and filters. Run this snapshot sequentially.",
      "type": "string",
      "editor": "textfield",
      "default": "default"
    },
    "maxRunSeconds": {
      "title": "Run budget in seconds",
      "description": "Shared request and output deadline; platform timeout can be shorter.",
      "type": "integer",
      "default": 90,
      "minimum": 30,
      "maximum": 900
    }
  }
}
