Webex Campaign Group API
Operations for retrieving campaigns associated with a campaign group
Operations for retrieving campaigns associated with a campaign group
openapi: 3.2.0
info:
title: Webex Contact Center Campaign Group API
version: 1.0.0
description: The Webex Contact Center APIs allow developers to deeply integrate, configure, and manage cloud-based contact center solutions. These APIs cover agent lifecycle management, queue and routing configuration, customer journey tracking, and access to real-time and historical analytics. Use cases include embedding agent controls in custom UIs, automating workforce management, integrating with CRM and ticketing systems, and building custom reporting dashboards. The APIs empower organizations to deliver personalized, efficient customer experiences and optimize contact center operations.
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
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 Group
description: Operations for retrieving campaigns associated with a campaign group
paths:
/v3/campaign-management/campaign-groups/{campaignGroupName}/campaigns:
get:
tags:
- Campaign Group
summary: List Campaigns by Campaign Group
operationId: getCampaignsByCampaignGroup
description: 'Retrieves the list of campaigns that belong to the specified campaign group. Results are paginated and can optionally be filtered by campaign status.
**Note:** The `campaignStatus` filter is case-insensitive. Allowed values are `Draft`, `Running`, `Pending`, `Paused`, `Completed`, `Ended`. Unknown values will result in a 400 response.'
parameters:
- name: campaignGroupName
in: path
description: "The name of the campaign group whose campaigns are to be retrieved. Case-insensitive matching.\n\n **Allowed characters:** - `A-Z`, `a-z`, `0-9`, `_` (underscore), space \n**Allowed Length** `1..64`"
required: true
schema:
type: string
minLength: 1
maxLength: 64
pattern: ^[A-Za-z0-9_ ]{1,64}$
example: Campaign Group Name_123
- name: page
in: query
description: The page number of the result set to retrieve (1-based).
required: false
schema:
type: integer
minimum: 1
default: 1
example: 1
- name: pageSize
in: query
description: The number of campaigns to return per page. Must be between 1 and 100.
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 50
example: 20
- name: campaignStatus
in: query
description: 'Optional filter for campaign status. Case-insensitive. Allowed values: `Draft`, `Running`, `Pending`, `Paused`, `Completed`, `Ended`.'
required: false
schema:
type: string
enum:
- Draft
- Running
- Pending
- Paused
- Completed
- Ended
example: Draft
responses:
'200':
description: Campaigns successfully retrieved for the specified campaign group.
content:
application/json:
schema:
$ref: '#/components/schemas/GetCampaignListResponse'
example:
outcome: Success
statusCode: 0
campaigns:
- campaignId: CCV_1780403367475
campaignName: Auto_Loan_Collection Campaigns
campaignGroupName: Debt_Collection Campaigns
channel: Voice
campaignType: Basic
campaignDialingMode: StandardPreview
status: Running
createdTime: '2026-06-02T07:59:27Z'
lastUpdatedTime: '2026-06-02T07:57:58Z'
startDate: '2026-06-01'
endDate: '2026-12-31'
fieldMapping: Auto_Loans_Field_Mapping
timezone: UTC - 06:00 / USA / Central Time / Chicago, Dallas, Memphis, Nashville
scheduleType: Advanced
scheduleInfo:
- name: Monday
day: '2'
slots:
- startTime: 08:00
endTime: '12:00'
- startTime: '13:00'
endTime: '17:00'
- startTime: '18:00'
endTime: '20:00'
- name: Tuesday
day: '3'
slots:
- startTime: 08:00
endTime: '13:00'
- startTime: '14:00'
endTime: '20:00'
- name: Wednesday
day: '4'
slots:
- startTime: 08:00
endTime: '20:00'
- name: Thursday
day: '5'
slots:
- startTime: 08:00
endTime: '20:00'
- name: Friday
day: '6'
slots:
- startTime: 08:00
endTime: '20:00'
- name: Saturday
day: '7'
slots:
- startTime: 08:00
endTime: '14:00'
safeCallingWindow:
- scwStartTime: 08:00
scwEndTime: '20:00'
contactAttemptsStrategy:
maxAttempts:
- interval: CLE
maxCount: '40'
- interval: 1D
maxCount: '4'
contactModesPriority:
- mode: Home
priority: 1
maxCount: null
- mode: Office
priority: 2
maxCount: null
sequentialDialing:
enabled: 1
noOfCycles: 5
cycleInterval:
days: 0
hours: 0
minutes: 30
wrapUpCodesSet: Auto_Loans_WrapUpCodes_Set
telephonyOutcomeSet: Auto_Loans_TelephonyOutcomes_Set
contactFlowPriority:
priorityBasedOn: Contact Attribute
attributes:
- Outstanding_Balance
orderBy: Descending
campaignCreatedBy: John Smith
controlHubChannelEntryPointID: a62231af-866b-404c-bc74-b8db98b76e6c
outdialANI: '+1512345678'
dncLists:
- Auto_Loans_DNC
- Debt_Collections_DNC
purposeTags:
- Debt_Collection
- AutoLoanCollection
pAndLTag: Auto_Loans
cpaEnabled: 'Yes'
numberOfSFTPContactLists: 0
numberOfAPIContactLists: 10
numberOfManualFileContactLists: 2
pagination:
page: 1
pageSize: 10
totalCount: 50
totalPages: 5
'400':
description: 'Bad Request: The request was invalid (e.g., invalid `page`, `pageSize`, or `campaignStatus`).'
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: 'Forbidden: The request is understood, but it has been refused or access is not allowed. The feature may not be enabled for this organization or the user lacks required permissions.'
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: 'Not Found: The specified campaign group does not exist.'
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
headers:
Retry-After:
schema:
type: integer
description: Number of seconds to wait before retrying
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayError'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayTimeoutError'
components:
schemas:
GetCampaignListResponse:
type: object
description: Response payload for retrieving campaigns within a campaign group, including pagination metadata.
required:
- outcome
- statusCode
- campaigns
- pagination
example:
outcome: Success
statusCode: 0
campaigns:
- campaignId: CCV_1780403367475
campaignName: Auto_Loan_Collection Campaigns
campaignGroupName: Debt_Collection Campaigns
channel: Voice
campaignType: Basic
campaignDialingMode: StandardPreview
status: Running
createdTime: '2026-06-02T07:59:27Z'
lastUpdatedTime: '2026-06-02T07:57:58Z'
startDate: '2026-06-01'
endDate: '2026-12-31'
campaignCreatedBy: John Smith
controlHubChannelEntryPointID: a62231af-866b-404c-bc74-b8db98b76e6c
outdialANI: '+1512345678'
cpaEnabled: 'Yes'
numberOfSFTPContactLists: 0
numberOfAPIContactLists: 10
numberOfManualFileContactLists: 2
pagination:
page: 1
pageSize: 10
totalCount: 50
totalPages: 5
properties:
outcome:
type: string
description: High-level outcome of the request.
example: Success
statusCode:
type: integer
description: Application-level status code. `0` indicates success.
example: 0
campaigns:
type: array
description: List of campaigns belonging to the campaign group for the requested page.
items:
$ref: '#/components/schemas/CampaignBasicInfo'
pagination:
$ref: '#/components/schemas/PaginationInfo'
BadRequestError:
type: object
required:
- code
- message
properties:
code:
type: integer
description: Application error code for the bad request.
example: 1001
message:
type: string
description: A detailed error message explaining what went wrong with the request.
example: Invalid pageSize. Allowed range is 1 to 100.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f594b
example:
code: 1001
message: Invalid pageSize. Allowed range is 1 to 100.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f594b
PaginationInfo:
type: object
description: Pagination metadata for a paged response.
required:
- page
- pageSize
- totalCount
- totalPages
properties:
page:
type: integer
description: Current page number (1-based).
example: 1
pageSize:
type: integer
description: Number of items returned per page.
example: 20
totalCount:
type: integer
description: Total number of campaigns matching the query.
example: 14
totalPages:
type: integer
description: Total number of pages available for the query.
example: 1
ServiceUnavailableError:
type: object
required:
- code
- message
properties:
code:
type: integer
enum:
- 503
description: HTTP status code for Service Unavailable.
example: 503
message:
type: string
description: A detailed error message explaining the service unavailability.
example: Service is temporarily unavailable. Please try again later.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f598
example:
code: 503
message: Service is temporarily unavailable. Please try again later.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f598
MaxAttemptRule:
type: object
properties:
interval:
type: string
description: Interval identifier (e.g., `CLE` for Campaign List Expiry, `1D` for one day).
example: 1D
maxCount:
type: string
description: Maximum number of attempts allowed in the interval.
example: '4'
UnauthorizedError:
type: object
required:
- code
- message
properties:
code:
type: integer
enum:
- 401
description: HTTP status code for Unauthorized.
example: 401
message:
type: string
description: A detailed error message explaining the authentication failure.
example: Invalid or expired access token.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f591
example:
code: 401
message: Invalid or expired access token.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f591
SafeCallingWindow:
type: object
properties:
scwStartTime:
type: string
description: Start time of the safe-calling window in HH:mm (24-hour) format.
example: 08:00
scwEndTime:
type: string
description: End time of the safe-calling window in HH:mm (24-hour) format.
example: '20:00'
ContactAttributePriority:
type: object
description: Contact-attribute-based priority. Contacts are ordered by the values of the named attributes.
properties:
priorityBasedOn:
type: string
description: Discriminator value indicating attribute-based priority.
enum:
- Contact Attribute
example: Contact Attribute
attributes:
type: array
description: Names of the contact attributes used for ordering.
items:
type: string
example:
- Outstanding_Balance
orderBy:
type: string
description: Sort order applied to the attribute values.
enum:
- Ascending
- Descending
example: Descending
ForbiddenError:
type: object
required:
- code
- message
properties:
code:
type: integer
enum:
- 403
description: HTTP status code for Forbidden.
example: 403
message:
type: string
description: A detailed error message explaining the authorization failure.
example: Feature is not enabled for this organization.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f592
example:
code: 403
message: Feature is not enabled for this organization.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f592
InternalServerError:
type: object
required:
- code
- message
properties:
code:
type: integer
description: Application error code for the internal server error.
example: 1006
message:
type: string
description: A detailed error message explaining the server error.
example: An unexpected error occurred while processing your request.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes. Include this when contacting support.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f596
example:
code: 1006
message: An unexpected error occurred while processing your request.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f596
ContactModePriority:
type: object
properties:
mode:
type: string
description: Display name of the contact mode (e.g., `Home`, `Office`).
example: Home
priority:
type: integer
description: Priority order for the contact mode (lower is higher priority).
example: 1
maxCount:
type:
- integer
- 'null'
description: Maximum count for this contact mode.
GatewayTimeoutError:
type: object
required:
- code
- message
properties:
code:
type: integer
enum:
- 504
description: HTTP status code for Gateway Timeout.
example: 504
message:
type: string
description: A detailed error message explaining the timeout.
example: The server did not receive a timely response from an upstream server.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f599
example:
code: 504
message: The server did not receive a timely response from an upstream server.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f599
NotFoundError:
type: object
required:
- code
- message
properties:
code:
type: integer
description: Application error code indicating resource not found.
example: 1004
message:
type: string
description: A detailed error message explaining what resource was not found.
example: Campaign group 'Carshield_25May2026' not found.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f593
example:
code: 1004
message: Campaign group 'Carshield_25May2026' not found.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f593
ContactAttemptsStrategy:
type: object
description: Strategy that governs how many times and in what order contacts are attempted.
properties:
maxAttempts:
type: array
description: Maximum attempts for the interval.
items:
$ref: '#/components/schemas/MaxAttemptRule'
contactModesPriority:
type: array
description: Ordered priority of contact modes.
items:
$ref: '#/components/schemas/ContactModePriority'
sequentialDialing:
$ref: '#/components/schemas/SequentialDialing'
wrapUpCodesSet:
type: string
description: Name of the wrap-up codes set applied to the campaign.
example: Auto_Loans_WrapUpCodes_Set
telephonyOutcomeSet:
type: string
description: Name of the telephony outcome set applied to the campaign.
example: Auto_Loans_TelephonyOutcomes_Set
SequentialDialing:
type: object
description: Sequential dialing configuration for the campaign.
properties:
enabled:
type: integer
description: Whether sequential dialing is enabled. `1` for enabled, `0` for disabled.
enum:
- 0
- 1
example: 1
noOfCycles:
type: integer
description: Maximum number of dialing cycles.
example: 5
cycleInterval:
$ref: '#/components/schemas/CycleInterval'
FreshVsRetryPriority:
type: object
description: Fresh-versus-retry priority. Splits dialing capacity between brand-new contacts and retry attempts using the configured percentages and ordering.
properties:
priorityBasedOn:
type: string
description: Discriminator value indicating fresh-versus-retry priority.
enum:
- FreshVsRetry
example: FreshVsRetry
retryPercentage:
type: string
description: Percentage of dialing capacity allocated to retry attempts. Combined with `freshPercentage` should equal 100.
example: '45'
retryPriority:
type: string
description: Order in which retry contacts are picked.
enum:
- FIFO
- LIFO
example: LIFO
freshPercentage:
type: string
description: Percentage of dialing capacity allocated to fresh contacts. Combined with `retryPercentage` should equal 100.
example: '55'
freshPriority:
type: string
description: Order in which fresh contacts are picked.
enum:
- FIFO
- LIFO
example: FIFO
CampaignBasicInfo:
type: object
description: Basic information for a campaign within a campaign group.
properties:
campaignId:
type: string
description: Unique identifier of the campaign.
example: CCV_1779692613096
campaignName:
type: string
description: Display name of the campaign.
example: Auto_Loan_Collection Campaigns
campaignGroupName:
type: string
description: Name of the campaign group to which the campaign belongs.
example: Debt_Collection Campaigns
channel:
type: string
description: Channel through which the campaign is executed.
example: CCVOICE
campaignType:
type: string
description: Type of campaign configuration.
enum:
- Basic
- Advanced
example: Basic
campaignDialingMode:
type: string
description: Dialing mode of the campaign.
enum:
- Progressive
- Predictive
- ProgressiveIvr
- PredictiveIvr
- StandardPreview
- DirectPreview
example: StandardPreview
status:
type: string
description: Current status of the campaign.
enum:
- Draft
- Running
- Pending
- Paused
- Completed
- Ended
example: Running
createdTime:
type: string
format: date-time
description: Timestamp when the campaign was created (ISO 8601, UTC).
example: '2026-05-25T02:33:33Z'
lastUpdatedTime:
type: string
description: Timestamp when the campaign was last updated (ISO 8601, UTC).
example: '2026-05-25T02:35:30Z'
startDate:
type: string
description: Campaign schedule start date in `yyyy-MM-dd` format.
example: '2026-06-01'
endDate:
type: string
description: Campaign schedule end date in `yyyy-MM-dd` format. Returns `N/A` when the campaign has no configured end date.
example: '2026-12-31'
sourceCampaigns:
type: array
description: List of source campaigns in chaining from where the contacts are derived. Omitted from the response when empty.
items:
type: string
fieldMapping:
type: string
description: Name of the field mapping associated with the campaign.
example: Auto_Loans_Field_Mapping
timezone:
type: string
description: Timezone configured for the campaign schedule.
example: UTC - 06:00 / USA / Central Time / Chicago, Dallas, Memphis, Nashville
scheduleType:
type: string
description: Type of schedule configured for the campaign. `Basic` uses a single daily start/end window; `Advanced` provides per-day windows with named day-of-week entries.
enum:
- Basic
- Advanced
example: Advanced
scheduleInfo:
type:
- array
- 'null'
description: 'Schedule windows for the campaign. The shape of each entry depends on `scheduleType`: for `Basic`, entries are simple `startTime`/`endTime` windows; for `Advanced`, entries describe a specific day-of-week with one or more time slots.'
items:
oneOf:
- $ref: '#/components/schemas/ScheduleSlot'
- $ref: '#/components/schemas/AdvancedScheduleDay'
safeCallingWindow:
type: array
description: Safe-calling windows for the campaign.
items:
$ref: '#/components/schemas/SafeCallingWindow'
contactAttemptsStrategy:
description: Strategy that governs how many times and in what order contacts are attempted. May be null if not configured.
allOf:
- $ref: '#/components/schemas/ContactAttemptsStrategy'
contactFlowPriority:
description: Contact flow priority applied during dialing. Either a `Contact Attribute` priority or a `FreshVsRetry` priority.
allOf:
- $ref: '#/components/schemas/ContactFlowPriority'
example:
priorityBasedOn: Contact Attribute
attributes:
- Outstanding_Balance
orderBy: Descending
campaignCreatedBy:
type: string
description: User or system that created the campaign.
example: John Smith
controlHubChannelEntryPointID:
type: string
format: uuid
description: Control Hub Channel (a.k.a. Entry Point) associated with the campaign.
example: a62231af-866b-404c-bc74-b8db98b76e6c
outdialANI:
type: string
description: ANI used for outdial in E.164 format.
example: '+1512345678'
dncLists:
type: array
description: DNC lists applied to the campaign.
items:
type: string
example:
- Auto_Loans_DNC
- Debt_Collections_DNC
purposeTags:
type: array
description: Purpose tags applied to the campaign.
items:
type: string
example:
- Debt_Collection
- AutoLoanCollection
pAndLTag:
type: string
description: P&L tag associated with the campaign.
example: Auto_Loans
cpaEnabled:
type: string
description: Whether Call Progress Analysis (CPA) is enabled for the campaign.
enum:
- 'Yes'
- 'No'
example: 'Yes'
numberOfSFTPContactLists:
type: integer
description: Number of SFTP-sourced contact lists associated with the campaign.
example: 0
numberOfAPIContactLists:
type: integer
description: Number of API-sourced contact lists associated with the campaign.
example: 10
numberOfManualFileContactLists:
type: integer
description: Number of manually uploaded file contact lists associated with the campaign.
example: 2
BadGatewayError:
type: object
required:
- code
- message
properties:
code:
type: integer
enum:
- 502
description: HTTP status code for Bad Gateway.
example: 502
message:
type: string
description: A detailed error message explaining the gateway error.
example: The server received an invalid response from an upstream server.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f597
example:
code: 502
message: The server received an invalid response from an upstream server.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f597
ContactFlowPriority:
type: object
description: 'Defines how contacts are prioritized within the dialing flow. The shape of the object varies based on `priorityBasedOn`: `Contact Attribute` uses the `attributes` field; `FreshVsRetry` uses fresh/retry split fields.'
oneOf:
- $ref: '#/components/schemas/ContactAttributePriority'
- $ref: '#/components/schemas/FreshVsRetryPriority'
TooManyRequestsError:
type: object
required:
- code
- message
properties:
code:
type: integer
enum:
- 429
description: HTTP status code for Too Many Requests.
example: 429
message:
type: string
description: A detailed error message explaining the rate limit.
example: Too many requests. Rate limit exceeded.
trackingId:
type: string
description: A unique identifier for this error that can be used for debugging purposes.
example: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f595
example:
code: 429
message: Too many requests. Rate limit exceeded.
trackingId: GTWY_e6763c9a-71b2-4515-ad5b-89260f7f595
AdvancedScheduleDay:
type: object
description: Advanced schedule entry describing one day of the week and its calling time slots.
required:
- name
- day
- slots
properties:
name:
type: string
description: Day-of-week name.
enum:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
example: Monday
day:
type: string
description: Day-of-week index as a string. `1` = Sunday through `7` = Saturday.
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
example: '2'
slots:
type: array
description: One or more start/end time slots active on this day.
items:
$ref: '#/components/schemas/ScheduleSlot'
example:
- startTime: 08:00
endTime: '20:00'
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-campaign-group-api-openapi.yml