{
  "$id": "https://elicitra.eigen.rest/developers/v6/schemas/mcp/campaign_update_draft.input.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "campaignKey": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "expectedRevision": {
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "type": "integer"
    },
    "idempotencyKey": {
      "maxLength": 128,
      "minLength": 8,
      "type": "string"
    },
    "operations": {
      "items": {
        "anyOf": [
          {
            "additionalProperties": false,
            "properties": {
              "scenarioId": {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "const": "set_scenario",
                "type": "string"
              }
            },
            "required": [
              "type",
              "scenarioId"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "enum": [
                  "phone_call",
                  "web_call",
                  "text_chat"
                ],
                "type": "string"
              },
              "textChatBudget": {
                "enum": [
                  "SHORT",
                  "STANDARD",
                  "EXTENDED"
                ],
                "type": "string"
              },
              "type": {
                "const": "set_channel",
                "type": "string"
              }
            },
            "required": [
              "type",
              "channel"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "intake": {
                "additionalProperties": false,
                "properties": {
                  "callback": {
                    "additionalProperties": false,
                    "properties": {
                      "capacityPerSlot": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "label": {
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "type": "object"
                  },
                  "ctaLabel": {
                    "maxLength": 256,
                    "minLength": 1,
                    "type": "string"
                  },
                  "headline": {
                    "maxLength": 256,
                    "minLength": 1,
                    "type": "string"
                  },
                  "quickAnswers": {
                    "additionalProperties": false,
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "label": {
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "type": "object"
                  },
                  "subheadline": {
                    "anyOf": [
                      {
                        "maxLength": 8192,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "title": {
                    "maxLength": 256,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "headline",
                  "ctaLabel"
                ],
                "type": "object"
              },
              "type": {
                "const": "set_intake",
                "type": "string"
              }
            },
            "required": [
              "type",
              "intake"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "theme": {
                "additionalProperties": false,
                "properties": {
                  "brandName": {
                    "maxLength": 256,
                    "minLength": 1,
                    "type": "string"
                  },
                  "fontPreset": {
                    "enum": [
                      "inter",
                      "system",
                      "serif",
                      "mono"
                    ],
                    "type": "string"
                  },
                  "logoUrl": {
                    "anyOf": [
                      {
                        "format": "uri",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "radiusDensity": {
                    "enum": [
                      "compact",
                      "medium",
                      "soft"
                    ],
                    "type": "string"
                  },
                  "tokens": {
                    "additionalProperties": false,
                    "properties": {
                      "accent": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "accentText": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "background": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "border": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "button": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "buttonText": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "mutedText": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "surface": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "surfaceAlt": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      },
                      "text": {
                        "maxLength": 64,
                        "pattern": "^(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\([0-9.%+,/\\s-]+\\))$",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "type": {
                "const": "set_theme",
                "type": "string"
              }
            },
            "required": [
              "type",
              "theme"
            ],
            "type": "object"
          }
        ]
      },
      "maxItems": 4,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "idempotencyKey",
    "campaignKey",
    "expectedRevision",
    "operations"
  ],
  "title": "campaign_update_draft input",
  "type": "object"
}
