Webex Campaign Manager API

The Campaign Manager API from Webex — 2 operation(s) for campaign manager.

Operations 4

POST /v1/dialer/campaign Start Campaign Request #
PUT /v1/dialer/campaign/{campaignId} Update Campaign Request #
DELETE /v1/dialer/campaign/{campaignId} Stop Campaign Request #
GET /v1/organization/{orgId}/getValidCampaignTimes Get Valid Campaign Times #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/webex-campaign-manager-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

webex-campaign-manager-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Webex Campaign Manager API
  version: 1.0.0
  description: 'Operations tagged Campaign Manager across 2 of this provider''s published API definitions: webex-campaign-manager-api-openapi.yml, webex-contact-center-openapi.json. Each path carries the servers of the definition it was published in.'
  x-provenance:
    method: harvested
    authored_by: Cisco Webex
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
    derived_view: Per-tag view of webex-contact-center-openapi.json, the provider's source document. Operations and schemas are the provider's, unmodified; only the partition is ours.
    derived_from: webex-contact-center-openapi.json
    operation_coverage: 4/4
  x-evidence:
  - type: source
    url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-contact-center.json
  - type: raw
    url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-contact-center.json
tags:
- name: Campaign Manager
paths:
  /v1/dialer/campaign:
    post:
      tags:
      - Campaign Manager
      summary: Start Campaign Request
      description: 'A start campaign API allows businesses to programmatically start outbound campaigns using their own software applications. This type of API typically allows businesses to set up the parameters for a campaign, such as the list of phone numbers to call, the message or script to deliver, and the time of day or day of the week to call. Requires ''cjp.config_write'' scope and one of the following roles: ''cjp.admin'',''id_full_admin'',''atlas-portal.partner.salesadmin'',''atlas-portal.partner.provision_admin'' for authorization.'
      operationId: startCampaignRoute
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartCampaignRequest'
      responses:
        '202':
          description: The campaign was started for processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignListResponse'
        '400':
          description: Incorrect fields in request
        '401':
          description: Invalid or absent Authorization header
        '403':
          description: Invalid OAuth 2.0 Bearer Token
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
  /v1/dialer/campaign/{campaignId}:
    put:
      tags:
      - Campaign Manager
      summary: Update Campaign Request
      description: 'By using an update campaign API, businesses can automate the process of modifying and managing outbound campaigns, and integrate campaign updates into their existing workflows or applications. This can help to improve efficiency and reduce errors, as well as allow for greater flexibility and control over outbound campaigns. Requires ''cjp.config_write'' scope and one of the following roles: ''cjp.admin'',''id_full_admin'',''atlas-portal.partner.salesadmin'',''atlas-portal.partner.provision_admin'' for authorization.'
      operationId: updateCampaignRoute
      parameters:
      - name: campaignId
        in: path
        description: The unique request id of the campaign that needs to be updated
        required: true
        schema:
          type: string
        example: Campaign1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCampaignRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignListResponse'
          description: The campaign was updated successfully
        '400':
          description: Incorrect fields in request
        '401':
          description: Invalid or absent Authorization header
        '403':
          description: Invalid OAuth 2.0 Bearer Token
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
    delete:
      tags:
      - Campaign Manager
      summary: Stop Campaign Request
      description: 'The stop campaign API enables businesses to automate the process of managing outbound campaigns and integrate campaign deletion into their existing workflows or applications. Requires ''cjp.config_write'' scope and one of the following roles: ''cjp.admin'',''id_full_admin'',''atlas-portal.partner.salesadmin'',''atlas-portal.partner.provision_admin'' for authorization.'
      operationId: stopCampaignRoute
      parameters:
      - name: campaignId
        in: path
        description: The unique request id of the campaign that needs to be stopped
        required: true
        schema:
          type: string
        example: Campaign1
      responses:
        '204':
          description: The campaign was stopped.
        '400':
          description: Incorrect fields in request
        '401':
          description: Invalid or absent Authorization header
        '403':
          description: Invalid OAuth 2.0 Bearer Token
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
  /v1/organization/{orgId}/getValidCampaignTimes:
    get:
      tags:
      - Campaign Manager
      summary: Get Valid Campaign Times
      description: 'Gets valid campaign times for a campaign and agent. This request is accepted for asynchronous processing. Requires ''cjp:user'',''cjp.config_write'' scope and one of the following roles: ''cjp.admin'',''id_full_admin'',''atlas-portal.partner.salesadmin'',''atlas-portal.partner.provision_admin'' for authorization.'
      operationId: getValidCampaignTimesRoute
      parameters:
      - name: orgId
        in: path
        description: The organization ID for which valid campaign times are being requested.
        required: true
        schema:
          type: string
          format: uuid
        example: 123e4567-e89b-12d3-a456-426614174000
      - name: campaignId
        in: query
        description: The campaign ID for which valid campaign times are being requested.
        required: true
        schema:
          type: string
        example: SalesCampaign_Prog
      - name: agentId
        in: query
        description: The agent ID for whom valid campaign times are being requested.
        required: true
        schema:
          type: string
          format: uuid
        example: 123e4567-e89b-12d3-a456-426614174001
      - name: trackingId
        in: query
        description: Optional tracking identifier for request tracing.
        required: false
        schema:
          type: string
          format: uuid
        example: 123e4567-e89b-12d3-a456-426614174002
      responses:
        '200':
          description: The valid campaign times request was accepted for processing.
        '400':
          description: Bad Request
        '401':
          description: Unauthorized, Token is Invalid
        '403':
          description: Forbidden Request
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
components:
  schemas:
    UpdateCampaignRequest:
      required:
      - dialingRate
      - dialingListFetchURL
      - outdialANI
      type: object
      properties:
        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
          example: 1
        campaignName:
          type: string
          description: (Optional) Used if different than id, maximum length 64 characters.
          example: campaign1
        authToken:
          type: string
          description: (Not in use) The token needed by the dialer for querying records.
          example: Bearer <AuthToken>
        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.
          example: campaignMgr/v1/<campaignId>/dialinglist/
        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.
          example: '9784330011'
        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.
          example: 32
        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.
          example: 10
        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.
          example: 50
        previewOfferTimeout:
          type: integer
          description: (Required only if previewOfferTimeoutAutoAction is provided) 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 seconds(2 hours) for ACCEPT auto-action, and from 10 to 7200 seconds(2 hours) for other auto-actions. The default value is 600 seconds(10 minutes).
          example: 300
        previewOfferTimeoutAutoAction:
          type: string
          description: (Required only if previewOfferTimeout is provided) The automatic action to be performed after the previewOfferTimeout duration has elapsed, if agent takes no action on the preview campaign record offered. The action can be "ACCEPT", "SKIP" or "REMOVE". The default action is "SKIP".
          example: ACCEPT
        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. The list can be empty if no action should be disabled, otherwise it can be either "SKIP" or "REMOVE" or both. The default is an empty list
          example: '["SKIP", "REMOVE"]'
    MetaSubInfo:
      properties:
        orgId:
          description: Organization ID used for this operation.
          example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
          format: uuid
          type: string
      type: object
    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.
          example: SalesCampaign_Prog
        vendorVersion:
          type: string
          description: Vendor specific information, maximum length 32 characters.
          example: myCampaignManager
        campaignType:
          type: string
          description: 'Type of campaign and campaignType should be one of "progressive", "campaign", "predictive", "progressive_ivr", "predictive_ivr" , "preview_standard", "preview_direct" '
          example: Progressive
        campaignName:
          type: string
          description: (Optional) Used if different than id, maximum length 64 characters.
          example: campaign1
        authToken:
          type: string
          description: (Not in use) The token needed by the dialer for querying records.
          example: Bearer <AuthToken>
        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
          example: 1
        entryPointId:
          type: string
          description: Webex Contact Center outdial entry point, maximum length 36 characters.
          example: 510d198d-7aa7-4b75-a5ff-e61759f4f313
        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.
          example: campaignMgr/v1/<campaignId>/dialinglist/
        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.
          example: '9784330011'
        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.
          example: 50
        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.
          example: 32
        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.
          example: 10
        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
          example: 3
        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.
          example: 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.
          example: 2
        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
          example: 50
        callProgressAnalysisParams:
          $ref: '#/components/schemas/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.
          example: 10
        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).
          example: 300
        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".
          example: ACCEPT
        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
          example: '["SKIP", "REMOVE"]'
    CampaignURLResponse:
      properties:
        location:
          description: Returns the url for performing subsequent campaign updates or campaign stop
          example: https://api.wxcc-<dc>.cisco.com/v1/dialer/campaign/<campaignId>
          format: url
          type: string
      required:
      - location
      type: object
    CampaignListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CampaignURLResponse'
          type: string
        meta:
          $ref: '#/components/schemas/MetaSubInfo'
      required:
      - data
      - meta
      type: object
    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.
          example: true
        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.
          example: true
        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.
          example: 608
        analysisPeriod:
          type: integer
          description: (Optional) The number of ms spent analyzing the call. The range is 1000 to 10000, default is 1000.
          example: 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.
          example: 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.
          example: 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.
          example: 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.
          example: true
  securitySchemes:
    oauth2:
      flows:
        authorizationCode:
          authorizationUrl: /
          scopes: {}
          tokenUrl: /
      type: oauth2
    bearer-key:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
    bearerAuth:
      type: oauth2
      description: OAuth 2.0 Bearer token authentication
      flows:
        authorizationCode:
          authorizationUrl: https://webexapis.com/v1/authorize
          tokenUrl: https://webexapis.com/v1/access_token
          scopes:
            spark:applications_token: Create access tokens for Service Apps
    BEARER_TOKEN_FROM_CI:
      type: http
      in: header
      scheme: bearer
    Bearer:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
x-refined-from:
- webex-campaign-manager-api-openapi.yml
- webex-contact-center-openapi.json