{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/infivoice/json-schema/infivoice-create-campaign-request-schema.json",
  "title": "CreateCampaignRequest",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/infivoice-openapi.json#/components/schemas/CreateCampaignRequest",
  "type": "object",
  "required": [
    "name",
    "agentId"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "agentId": {
      "type": "string",
      "format": "uuid"
    },
    "phoneNumberId": {
      "type": "string",
      "format": "uuid"
    },
    "engine": {
      "type": "string",
      "enum": [
        "elevenlabs",
        "plivo",
        "twilio-openai"
      ]
    },
    "scheduledStartTime": {
      "type": "string",
      "format": "date-time"
    },
    "timezone": {
      "type": "string"
    },
    "callWindowStart": {
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}$"
    },
    "callWindowEnd": {
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}$"
    },
    "maxConcurrentCalls": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 5
    },
    "retryAttempts": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5,
      "default": 2
    },
    "retryDelayMinutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440,
      "default": 30
    }
  }
}