---
title: "PUT /v2/campaigns"
method: PUT
path: "/v2/campaigns"
---

# PUT /v2/campaigns

`PUT /v2/campaigns`

Creates a campaign for the specified Amazon Connect account. This API is idempotent.

## Request body

- object
  - `name` string, required — The name of an Amazon Connect Campaign name.
  - `connectInstanceId` string, required — Amazon Connect Instance Id
  - `channelSubtypeConfig` object — Campaign Channel Subtype config
    - `telephony` TelephonyChannelSubtypeConfig — Telephony Channel Subtype config
      - `capacity` number, double — Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
      - `connectQueueId` string — The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
      - `outboundMode` TelephonyOutboundMode, required — Telephony Outbound Mode
        - `progressive` ProgressiveConfig — Progressive config
          - `bandwidthAllocation` number, double, required — The bandwidth allocation of a queue resource.
        - `predictive` PredictiveConfig — Predictive config
          - `bandwidthAllocation` number, double, required — The bandwidth allocation of a queue resource.
        - `agentless` AgentlessConfig — Agentless config
        - `preview` PreviewConfig — Preview config
          - `bandwidthAllocation` number, double, required — The bandwidth allocation of a queue resource.
          - `timeoutConfig` TimeoutConfig, required — Timeout Config for preview contacts.
            - `durationInSeconds` integer, required — Timeout duration for a preview contact in seconds.
          - `agentActions` AgentAction[] — Actions that can be performed by agent during preview phase.
      - `defaultOutboundConfig` TelephonyOutboundConfig, required — Default Telephony Outbound config
        - `connectContactFlowId` string, required — The identifier of the contact flow for the outbound call.
        - `connectSourcePhoneNumber` string — The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
        - `answerMachineDetectionConfig` AnswerMachineDetectionConfig — Answering Machine Detection config
          - `enableAnswerMachineDetection` boolean, required — Enable or disable answering machine detection
          - `awaitAnswerMachinePrompt` boolean — Enable or disable await answer machine prompt
        - `ringTimeout` integer — Ring timeout for outbound calls
    - `sms` SmsChannelSubtypeConfig — SMS Channel Subtype config
      - `capacity` number, double — Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
      - `outboundMode` SmsOutboundMode, required — SMS Outbound Mode
        - `agentless` AgentlessConfig — Agentless config
      - `defaultOutboundConfig` SmsOutboundConfig, required — Default SMS Outbound config
        - `connectSourcePhoneNumberArn` string, required — Amazon Resource Names(ARN)
        - `wisdomTemplateArn` string, required — Amazon Resource Names(ARN)
    - `email` EmailChannelSubtypeConfig — Email Channel Subtype config
      - `capacity` number, double — Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
      - `outboundMode` EmailOutboundMode, required — Email Outbound Mode
        - `agentless` AgentlessConfig — Agentless config
      - `defaultOutboundConfig` EmailOutboundConfig, required — Default Email Outbound config
        - `connectSourceEmailAddress` string, password, required — Source/Destination Email address used for Email messages
        - `sourceEmailAddressDisplayName` string, password — Display name for Email Address
        - `wisdomTemplateArn` string, required — Amazon Resource Names(ARN)
    - `whatsApp` WhatsAppChannelSubtypeConfig — WhatsApp Channel Subtype config
      - `capacity` number, double — Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns
      - `outboundMode` WhatsAppOutboundMode, required — WhatsApp Outbound Mode
        - `agentless` AgentlessConfig — Agentless config
      - `defaultOutboundConfig` WhatsAppOutboundConfig, required — Default WhatsApp Outbound config
        - `connectSourcePhoneNumberArn` string, required — Amazon Resource Names(ARN)
        - `wisdomTemplateArn` string, required — Amazon Resource Names(ARN)
  - `type` 'MANAGED' | 'JOURNEY' — The type of campaign externally exposed in APIs.
  - `source` object — Source of the campaign
    - `customerProfilesSegmentArn` string — Amazon Resource Names(ARN)
    - `eventTrigger` EventTrigger — Event trigger of the campaign
      - `customerProfilesDomainArn` string — Amazon Resource Names(ARN)
  - `connectCampaignFlowArn` string — Amazon Resource Names(ARN)
  - `schedule` object — Campaign schedule
    - `startTime` string, date-time — Timestamp with no UTC offset or timezone
    - `endTime` string, date-time — Timestamp with no UTC offset or timezone
    - `refreshFrequency` string — Time duration in ISO 8601 format
  - `entryLimitsConfig` object — Campaign entry limits config
    - `maxEntryCount` integer — Maximum number of times a participant can enter the campaign. A value of 0 indicates unlimited entries. Values of 1 or greater specify the exact number of entries allowed.
    - `minEntryInterval` string — Minimum time interval that must pass before a participant can enter the campaign again.
  - `communicationTimeConfig` object — Campaign communication time config
    - `localTimeZoneConfig` LocalTimeZoneConfig — Local time zone config
      - `defaultTimeZone` string — Time Zone Id in the IANA format
      - `localTimeZoneDetection` LocalTimeZoneDetectionType[] — Local TimeZone Detection method list
      - `localTimeZoneDetectionScope` 'PRIMARY_ONLY' | 'ALL_AVAILABLE' — Local TimeZone Detection scope.
    - `telephony` TimeWindow — Time window config
      - `openHours` OpenHours, required — Open Hours config
        - `dailyHours` DailyHours — Daily Hours map
      - `restrictedPeriods` RestrictedPeriods — Restricted period config
        - `restrictedPeriodList` RestrictedPeriod[] — List of restricted period
          - `name` string — The name of a restricted period.
          - `startDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
          - `endDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
    - `sms` TimeWindow — Time window config
      - `openHours` OpenHours, required — Open Hours config
        - `dailyHours` DailyHours — Daily Hours map
      - `restrictedPeriods` RestrictedPeriods — Restricted period config
        - `restrictedPeriodList` RestrictedPeriod[] — List of restricted period
          - `name` string — The name of a restricted period.
          - `startDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
          - `endDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
    - `email` TimeWindow — Time window config
      - `openHours` OpenHours, required — Open Hours config
        - `dailyHours` DailyHours — Daily Hours map
      - `restrictedPeriods` RestrictedPeriods — Restricted period config
        - `restrictedPeriodList` RestrictedPeriod[] — List of restricted period
          - `name` string — The name of a restricted period.
          - `startDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
          - `endDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
    - `whatsApp` TimeWindow — Time window config
      - `openHours` OpenHours, required — Open Hours config
        - `dailyHours` DailyHours — Daily Hours map
      - `restrictedPeriods` RestrictedPeriods — Restricted period config
        - `restrictedPeriodList` RestrictedPeriod[] — List of restricted period
          - `name` string — The name of a restricted period.
          - `startDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
          - `endDate` string, required — Date in ISO 8601 format, e.g. 2024-01-01
  - `communicationLimitsOverride` object — Communication limits config
    - `allChannelSubtypes` CommunicationLimits — Communication limits
      - `communicationLimitsList` CommunicationLimit[] — List of communication limit
        - `maxCountPerRecipient` integer, required — Maximum number of contacts allowed for a given target within the given frequency.
        - `frequency` integer, required — The number of days to consider with regards to this limit.
        - `unit` 'DAY', required — The communication limit time unit.
    - `instanceLimitsHandling` 'OPT_IN' | 'OPT_OUT' — Instance limits handling
  - `tags` object — Tag map with key and value.

## Response `200`

Success

- CreateCampaignResponse — The response for Create Campaign API
  - `id` string — Identifier representing a Campaign
  - `arn` string — The resource name of an Amazon Connect campaign.
  - `tags` TagMap — Tag map with key and value.

## Other responses

- `480` — InternalServerException
- `481` — ResourceNotFoundException
- `482` — ValidationException
- `483` — ConflictException
- `484` — AccessDeniedException
- `485` — ServiceQuotaExceededException
- `486` — ThrottlingException

---

[API](https://skmtc.net/aws/apis/connectcampaignsv2.md) · [All operations](https://skmtc.net/aws/apis/connectcampaignsv2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/connectcampaignsv2/versions/d9204d79443e/schema)
