Webex · Schema

StartCampaignRequest

CallingCollaborationCommunicationsEnterpriseMessagingVideo Conferencing

Properties

Name Type Description
id string The id represents the unique id with which the Campaign Request will be started, maximum length 64 characters.
vendorVersion string Vendor specific information, maximum length 32 characters.
campaignType string Type of campaign and campaignType should be one of "progressive", "campaign", "predictive", "progressive_ivr", "predictive_ivr" , "preview_standard", "preview_direct"
campaignName string (Optional) Used if different than id, maximum length 64 characters.
authToken string (Not in use) The token needed by the dialer for querying records.
dialingRate number Number of contacts to be dialed out per available Agent. For Progressive 1:1 Dialer, it will support for only 1 contact and for Progressive 1:N Dialer it can support upto 10 contacts to be dialed out
entryPointId string Webex Contact Center outdial entry point, maximum length 36 characters.
dialingListFetchURL string URL the dialer will use to fetch the list of contacts to dial for the campaign from campaign manager, maximum length 1024 characters.
outdialANI string The ANI (E164) that will be presented to the customer. These must be restricted to the configured outdial Eps in Webex Contact Center, maximum length 50 characters.
recordCount integer Value to indicate the recordCount the Campaign Manager expects the dialer to be able to request, the maximum is 400. If the value is greater than 400 it will be set to the maximum when the request is
noAnswerRingLimit integer (Optional) Number of seconds before a dialed call from the dialer is considered not answered, The range is from 16 to 80, default is 32. This field is not applicable for Direct preview campaigns.
maxDialingRate number Caps the maximum dialing rate per agent at this value. The range is from 1.0 to 10.0 , default is 1.0.
abandonRatePercentage number The percentage of calls that are allowed to be abandoned. The range is from 1.0 to 100.0 with a granularity of 0.1. The Default is 3.0
predictiveCorrectionPace integer A count of the number of live voice connections that must occur before the dialer adjusts. Increasing this number results in less frequent adjustments based on a larger sample size. The range is from
predictiveGain number The size of the adjustment to lines per agent each time an adjustment is made. Increasing this number results in larger per-agent adjustments. The range is 0.1 to 3.0 , default is 1.0.
reservationPercentage integer (Not in use) The percentage of agents to reserve within the queue associated with the campaign. The range is from 0 to 100 , default is 100
callProgressAnalysisParams object
ivrPorts integer The number of IVR ports to use for this campaign. IVR ports are in use when calling a customer until the call is either ended or transferred to an agent. One IVR port can be considered equivalent to a
previewOfferTimeout integer (Required if previewOfferTimeoutAutoAction is provided, optional otherwise) The number of seconds dialer waits for an agent to act on a preview campaign record, before performing the provided previewO
previewOfferTimeoutAutoAction string (Required if previewOfferTimeout is provided, optional otherwise) The automatic action to be performed after the previewOfferTimeout duration has elapsed, if agent takes no action on the preview campa
previewActionsDisabled array (Optional) The list of preview actions to be disabled for the agent when a preview campaign record is offered. Can be empty if no action should be disabled, otherwise should be one of "SKIP", "REMOVE"
validCampaignTimes object
View JSON Schema on GitHub

JSON Schema

webex-start-campaign-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/webex/json-schema/webex-start-campaign-request-schema.json",
  "title": "StartCampaignRequest",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/webex-campaign-manager-api-openapi.yml#/components/schemas/StartCampaignRequest",
  "required": [
    "id",
    "vendorVersion",
    "campaignType",
    "dialingRate",
    "entryPointId",
    "dialingListFetchURL",
    "outdialANI",
    "recordCount"
  ],
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The id represents the unique id with which the Campaign Request will be started, maximum length 64 characters."
    },
    "vendorVersion": {
      "type": "string",
      "description": "Vendor specific information, maximum length 32 characters."
    },
    "campaignType": {
      "type": "string",
      "description": "Type of campaign and campaignType should be one of \"progressive\", \"campaign\", \"predictive\", \"progressive_ivr\", \"predictive_ivr\" , \"preview_standard\", \"preview_direct\" "
    },
    "campaignName": {
      "type": "string",
      "description": "(Optional) Used if different than id, maximum length 64 characters."
    },
    "authToken": {
      "type": "string",
      "description": "(Not in use) The token needed by the dialer for querying records."
    },
    "dialingRate": {
      "type": "number",
      "format": "float",
      "description": "Number of contacts to be dialed out per available Agent. For Progressive 1:1 Dialer, it will support for only 1 contact and for Progressive 1:N Dialer it can support upto 10 contacts to be dialed out per available Agent"
    },
    "entryPointId": {
      "type": "string",
      "description": "Webex Contact Center outdial entry point, maximum length 36 characters."
    },
    "dialingListFetchURL": {
      "type": "string",
      "description": "URL the dialer will use to fetch the list of contacts to dial for the campaign from campaign manager, maximum length 1024 characters."
    },
    "outdialANI": {
      "type": "string",
      "description": "The ANI (E164)  that will be presented to the customer. These must be restricted to the configured outdial Eps in Webex Contact Center, maximum length 50 characters."
    },
    "recordCount": {
      "type": "integer",
      "description": "Value to indicate the recordCount the Campaign Manager expects the dialer to be able to request, the maximum is 400. If the value is greater than 400 it will be set to the maximum when the request is processed."
    },
    "noAnswerRingLimit": {
      "type": "integer",
      "description": "(Optional) Number of seconds before a dialed call from the dialer is considered not answered, The range is from 16 to 80, default is 32. This field is not applicable for Direct preview campaigns."
    },
    "maxDialingRate": {
      "type": "number",
      "format": "float",
      "description": "Caps the maximum dialing rate per agent at this value. The range is from 1.0 to 10.0 , default is 1.0."
    },
    "abandonRatePercentage": {
      "type": "number",
      "format": "float",
      "description": "The percentage of calls that are allowed to be abandoned. The range is from 1.0 to 100.0 with a granularity of 0.1. The Default is 3.0"
    },
    "predictiveCorrectionPace": {
      "type": "integer",
      "description": "A count of the number of live voice connections that must occur before the dialer adjusts. Increasing this number results in less frequent adjustments based on a larger sample size. The range is from 10 to 5000 , default is 70."
    },
    "predictiveGain": {
      "type": "number",
      "format": "float",
      "description": "The size of the adjustment to lines per agent each time an adjustment is made. Increasing this number results in larger per-agent adjustments. The range is 0.1 to 3.0 , default is 1.0."
    },
    "reservationPercentage": {
      "type": "integer",
      "description": "(Not in use) The percentage of agents to reserve within the queue associated with the campaign. The range is from 0 to 100 , default is 100"
    },
    "callProgressAnalysisParams": {
      "$ref": "#/$defs/CallProgressAnalysisParamsRequest"
    },
    "ivrPorts": {
      "type": "integer",
      "description": "The number of IVR ports to use for this campaign. IVR ports are in use when calling a customer until the call is either ended or transferred to an agent. One IVR port can be considered equivalent to an agent in an agent based campaign.The range is from 1 to 1000."
    },
    "previewOfferTimeout": {
      "type": "integer",
      "description": "(Required if previewOfferTimeoutAutoAction is provided, optional otherwise) The number of seconds dialer waits for an agent to act on a preview campaign record, before performing the provided previewOfferTimeoutAutoAction. The range is from 0 to 7200(2 hours) for ACCEPT auto-action and 10 to 7200(2 hours) for other auto-actions. The default is 600(10 minutes)."
    },
    "previewOfferTimeoutAutoAction": {
      "type": "string",
      "description": "(Required if previewOfferTimeout is provided, optional otherwise) The automatic action to be performed after the previewOfferTimeout duration has elapsed, if agent takes no action on the preview campaign record offered. Should be one of \"ACCEPT\", \"SKIP\", \"REMOVE\". The default is \"SKIP\"."
    },
    "previewActionsDisabled": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "(Optional) The list of preview actions to be disabled for the agent when a preview campaign record is offered. Can be empty if no action should be disabled, otherwise should be one of \"SKIP\", \"REMOVE\" or both. The default is an empty list"
    },
    "validCampaignTimes": {
      "$ref": "#/$defs/ValidCampaignTimes"
    }
  },
  "$defs": {
    "CallProgressAnalysisParamsRequest": {
      "type": "object",
      "description": "(Optional) Call Progressive Params details. This is used for Progressive 1:N Dialer.",
      "properties": {
        "cpaEnabled": {
          "type": "boolean",
          "description": "(Optional) Determines if CPA should execute the campaign, default is false."
        },
        "amdEnabled": {
          "type": "boolean",
          "description": "(Optional) Determines if CPA should enable answering machine detection algorithm. cpaEnabled must be true when amdEnabled is set to true, default is false."
        },
        "minSilencePeriod": {
          "type": "integer",
          "description": "(Optional) The minimum silence period (in ms) is required to classify a call as voice detected. The range is from 100 to 1000, default is 608."
        },
        "analysisPeriod": {
          "type": "integer",
          "description": "(Optional) The number of ms spent analyzing the call. The range is 1000 to 10000, default is 1000."
        },
        "minimumValidSpeech": {
          "type": "integer",
          "description": "(Optional) The minimum number of ms of voice required to classify a call as voice detected. The range is from 50 to 500, default is 112."
        },
        "maxTimeAnalysis": {
          "type": "integer",
          "description": "(Optional) The maximum number of ms allowed for analysis before identifying a problem as dead air. The range is from 1000 to 10000, default is 3000."
        },
        "maxTermToneAnalysis": {
          "type": "integer",
          "description": "(Optional) The maximum number of ms the dialer analyzes an answering machine voice message looking for a termination tone. The range is 1000 to 60000, default is 30000."
        },
        "terminatingToneDetect": {
          "type": "boolean",
          "description": "(Optional) Determines if CPA should wait for the terminating tone of a voicemail before concluding. amdEnabled must be true when terminatingToneDetect is set to true, default is false."
        }
      }
    },
    "DateOverride": {
      "type": "object",
      "required": [
        "date",
        "shiftTimes"
      ],
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "The specific date for which the shift schedule should be overridden, in YYYY-MM-DD format."
        },
        "shiftTimes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "minItems": 0,
          "description": "The list of shift times that apply on this specific date, overriding the weekly schedule. An empty array indicates no shifts are scheduled for this date (e.g., holidays, company closures)."
        }
      }
    },
    "ShiftTime": {
      "type": "object",
      "required": [
        "start",
        "end"
      ],
      "properties": {
        "start": {
          "type": "string",
          "pattern": "^([0-1][0-9]|2[0-3]):[0-5][0-9]$",
          "description": "The start time of the shift in 24-hour format (HH:MM). Must be earlier than the end time."
        },
        "end": {
          "type": "string",
          "pattern": "^([0-1][0-9]|2[0-3]):[0-5][0-9]$",
          "description": "The end time of the shift in 24-hour format (HH:MM). Must be later than the start time."
        }
      }
    },
    "ValidCampaignTimes": {
      "type": "object",
      "description": "(Optional) Defines the valid operating hours for the campaign based on a weekly schedule and optional date-specific overrides. The campaign will only be active during the specified time windows.",
      "required": [
        "timeZone",
        "weeklySchedule"
      ],
      "properties": {
        "timeZone": {
          "type": "string",
          "description": "The IANA timezone name (e.g., 'America/New_York') that defines the timezone for all shift times in the schedule. This timezone is used to interpret the start and end times in the weekly schedule and date overrides."
        },
        "weeklySchedule": {
          "$ref": "#/$defs/WeeklyShiftSchedule",
          "description": "The recurring weekly schedule that defines when the campaign should be active. Each day of the week can have multiple shift time ranges."
        },
        "dateOverrides": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DateOverride"
          },
          "description": "Optional list of date-specific schedule overrides that take precedence over the weekly schedule for particular dates (e.g., holidays, special events)."
        }
      }
    },
    "WeeklyShiftSchedule": {
      "type": "object",
      "required": [
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday",
        "saturday",
        "sunday"
      ],
      "properties": {
        "monday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Monday. Can be empty if no shifts are scheduled."
        },
        "tuesday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Tuesday. Can be empty if no shifts are scheduled."
        },
        "wednesday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Wednesday. Can be empty if no shifts are scheduled."
        },
        "thursday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Thursday. Can be empty if no shifts are scheduled."
        },
        "friday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Friday. Can be empty if no shifts are scheduled."
        },
        "saturday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Saturday. Can be empty if no shifts are scheduled."
        },
        "sunday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShiftTime"
          },
          "description": "List of shift times for Sunday. Can be empty if no shifts are scheduled."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/webex-start-campaign-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.