{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "check",
        "check_target",
        "lookup",
        "crawl",
        "retained_read",
        "ai_citation_report",
        "monitor",
        "scan_schedule"
      ],
      "description": "Backend action to estimate. Reports use retained evidence; this never enables a provider."
    },
    "quantity": {
      "description": "Number of logical actions or selected links; defaults to one.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000,
      "default": 1
    },
    "projectId": {
      "description": "project ID from create/list.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "watchIds": {
      "description": "Accessible watches whose proposed schedule is being estimated.",
      "minItems": 1,
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      }
    },
    "targetIds": {
      "description": "Accessible destination records whose proposed schedule is being estimated.",
      "minItems": 1,
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      }
    },
    "cadenceSeconds": {
      "description": "Proposed recurrence interval in seconds.",
      "type": "integer",
      "minimum": 3600,
      "maximum": 2592000
    },
    "pageLimit": {
      "description": "Maximum pages in each proposed website scan.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false
}
