{
  "version": "2.0",
  "service": "<p>Provide APIs to create and manage Amazon Connect Campaigns.</p>",
  "operations": {
    "CreateCampaign": "<p>Creates a campaign for the specified Amazon Connect account. This API is idempotent.</p>",
    "DeleteCampaign": "<p>Deletes a campaign from the specified Amazon Connect account.</p>",
    "DeleteConnectInstanceConfig": "<p>Deletes a connect instance config from the specified AWS account.</p>",
    "DeleteInstanceOnboardingJob": "<p>Delete the Connect Campaigns onboarding job for the specified Amazon Connect instance.</p>",
    "DescribeCampaign": "<p>Describes the specific campaign.</p>",
    "GetCampaignState": "<p>Get state of a campaign for the specified Amazon Connect account.</p>",
    "GetCampaignStateBatch": "<p>Get state of campaigns for the specified Amazon Connect account.</p>",
    "GetConnectInstanceConfig": "<p>Get the specific Connect instance config.</p>",
    "GetInstanceOnboardingJobStatus": "<p>Get the specific instance onboarding job status.</p>",
    "ListCampaigns": "<p>Provides summary information about the campaigns under the specified Amazon Connect account.</p>",
    "ListTagsForResource": "<p>List tags for a resource.</p>",
    "PauseCampaign": "<p>Pauses a campaign for the specified Amazon Connect account.</p>",
    "PutDialRequestBatch": "<p>Creates dials requests for the specified campaign Amazon Connect account. This API is idempotent.</p>",
    "ResumeCampaign": "<p>Stops a campaign for the specified Amazon Connect account.</p>",
    "StartCampaign": "<p>Starts a campaign for the specified Amazon Connect account.</p>",
    "StartInstanceOnboardingJob": "<p>Onboard the specific Amazon Connect instance to Connect Campaigns.</p>",
    "StopCampaign": "<p>Stops a campaign for the specified Amazon Connect account.</p>",
    "TagResource": "<p>Tag a resource.</p>",
    "UntagResource": "<p>Untag a resource.</p>",
    "UpdateCampaignDialerConfig": "<p>Updates the dialer config of a campaign. This API is idempotent.</p>",
    "UpdateCampaignName": "<p>Updates the name of a campaign. This API is idempotent.</p>",
    "UpdateCampaignOutboundCallConfig": "<p>Updates the outbound call config of a campaign. This API is idempotent.</p>"
  },
  "shapes": {
    "AccessDeniedException": {
      "base": "<p>You do not have sufficient access to perform this action.</p>",
      "refs": {
      }
    },
    "AgentlessDialerConfig": {
      "base": "<p>Agentless Dialer config</p>",
      "refs": {
        "DialerConfig$agentlessDialerConfig": null
      }
    },
    "AnswerMachineDetectionConfig": {
      "base": "<p>Answering Machine Detection config</p>",
      "refs": {
        "OutboundCallConfig$answerMachineDetectionConfig": null,
        "UpdateCampaignOutboundCallConfigRequest$answerMachineDetectionConfig": null
      }
    },
    "Arn": {
      "base": "<p>Arn</p>",
      "refs": {
        "ListTagsForResourceRequest$arn": null,
        "TagResourceRequest$arn": null,
        "UntagResourceRequest$arn": null
      }
    },
    "AttributeName": {
      "base": "<p>The key of the attribute. Attribute keys can include only alphanumeric, dash, and underscore characters.</p>",
      "refs": {
        "Attributes$key": null
      }
    },
    "AttributeValue": {
      "base": "<p>The value of the attribute.</p>",
      "refs": {
        "Attributes$value": null
      }
    },
    "Attributes": {
      "base": "<p>A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.</p>",
      "refs": {
        "DialRequest$attributes": null
      }
    },
    "BandwidthAllocation": {
      "base": "<p>The bandwidth allocation of a queue resource.</p>",
      "refs": {
        "PredictiveDialerConfig$bandwidthAllocation": null,
        "ProgressiveDialerConfig$bandwidthAllocation": null
      }
    },
    "Boolean": {
      "base": null,
      "refs": {
        "AnswerMachineDetectionConfig$enableAnswerMachineDetection": "<p>Enable or disable answering machine detection</p>"
      }
    },
    "Campaign": {
      "base": "<p>An Amazon Connect campaign.</p>",
      "refs": {
        "DescribeCampaignResponse$campaign": null
      }
    },
    "CampaignArn": {
      "base": "<p>The resource name of an Amazon Connect campaign.</p>",
      "refs": {
        "Campaign$arn": null,
        "CampaignSummary$arn": null,
        "CreateCampaignResponse$arn": null
      }
    },
    "CampaignFilters": {
      "base": "<p>Filter model by type</p>",
      "refs": {
        "ListCampaignsRequest$filters": null
      }
    },
    "CampaignId": {
      "base": "<p>Identifier representing a Campaign</p>",
      "refs": {
        "Campaign$id": null,
        "CampaignSummary$id": null,
        "CreateCampaignResponse$id": null,
        "DeleteCampaignRequest$id": null,
        "DescribeCampaignRequest$id": null,
        "FailedCampaignStateResponse$campaignId": null,
        "GetCampaignStateBatchRequestCampaignIdsList$member": null,
        "GetCampaignStateRequest$id": null,
        "PauseCampaignRequest$id": null,
        "PutDialRequestBatchRequest$id": null,
        "ResumeCampaignRequest$id": null,
        "StartCampaignRequest$id": null,
        "StopCampaignRequest$id": null,
        "SuccessfulCampaignStateResponse$campaignId": null,
        "UpdateCampaignDialerConfigRequest$id": null,
        "UpdateCampaignNameRequest$id": null,
        "UpdateCampaignOutboundCallConfigRequest$id": null
      }
    },
    "CampaignName": {
      "base": "<p>The name of an Amazon Connect Campaign name.</p>",
      "refs": {
        "Campaign$name": null,
        "CampaignSummary$name": null,
        "CreateCampaignRequest$name": null,
        "UpdateCampaignNameRequest$name": null
      }
    },
    "CampaignState": {
      "base": "<p>State of a campaign</p>",
      "refs": {
        "GetCampaignStateResponse$state": null,
        "InvalidCampaignStateException$state": null,
        "SuccessfulCampaignStateResponse$state": null
      }
    },
    "CampaignSummary": {
      "base": "<p>An Amazon Connect campaign summary.</p>",
      "refs": {
        "CampaignSummaryList$member": null
      }
    },
    "CampaignSummaryList": {
      "base": "<p>A list of Amazon Connect campaigns.</p>",
      "refs": {
        "ListCampaignsResponse$campaignSummaryList": null
      }
    },
    "ClientToken": {
      "base": "<p>Client provided parameter used for idempotency. Its value must be unique for each request.</p>",
      "refs": {
        "DialRequest$clientToken": null,
        "FailedRequest$clientToken": null,
        "SuccessfulRequest$clientToken": null
      }
    },
    "ConflictException": {
      "base": "<p>The request could not be processed because of conflict in the current state of the resource.</p>",
      "refs": {
      }
    },
    "ContactFlowId": {
      "base": "<p>The identifier of the contact flow for the outbound call.</p>",
      "refs": {
        "OutboundCallConfig$connectContactFlowId": null,
        "UpdateCampaignOutboundCallConfigRequest$connectContactFlowId": null
      }
    },
    "CreateCampaignRequest": {
      "base": "<p>The request for Create Campaign API.</p>",
      "refs": {
      }
    },
    "CreateCampaignResponse": {
      "base": "<p>The response for Create Campaign API</p>",
      "refs": {
      }
    },
    "DeleteCampaignRequest": {
      "base": "<p>DeleteCampaignRequest</p>",
      "refs": {
      }
    },
    "DeleteConnectInstanceConfigRequest": {
      "base": "<p>DeleteCampaignRequest</p>",
      "refs": {
      }
    },
    "DeleteInstanceOnboardingJobRequest": {
      "base": "<p>The request for DeleteInstanceOnboardingJob API.</p>",
      "refs": {
      }
    },
    "DescribeCampaignRequest": {
      "base": "<p>DescribeCampaignRequests</p>",
      "refs": {
      }
    },
    "DescribeCampaignResponse": {
      "base": "<p>DescribeCampaignResponse</p>",
      "refs": {
      }
    },
    "DestinationPhoneNumber": {
      "base": "<p>The phone number of the customer, in E.164 format.</p>",
      "refs": {
        "DialRequest$phoneNumber": null
      }
    },
    "DialRequest": {
      "base": "<p>A dial request for a campaign.</p>",
      "refs": {
        "DialRequestList$member": null
      }
    },
    "DialRequestId": {
      "base": "<p>Identifier representing a Dial request</p>",
      "refs": {
        "FailedRequest$id": null,
        "SuccessfulRequest$id": null
      }
    },
    "DialRequestList": {
      "base": "<p>A list of dial requests.</p>",
      "refs": {
        "PutDialRequestBatchRequest$dialRequests": null
      }
    },
    "DialerConfig": {
      "base": "<p>The possible types of dialer config parameters</p>",
      "refs": {
        "Campaign$dialerConfig": null,
        "CreateCampaignRequest$dialerConfig": null,
        "UpdateCampaignDialerConfigRequest$dialerConfig": null
      }
    },
    "DialingCapacity": {
      "base": "<p>Allocates dialing capacity for this campaign between multiple active campaigns</p>",
      "refs": {
        "AgentlessDialerConfig$dialingCapacity": null,
        "PredictiveDialerConfig$dialingCapacity": null,
        "ProgressiveDialerConfig$dialingCapacity": null
      }
    },
    "Enabled": {
      "base": "<p>Boolean to indicate if custom encryption has been enabled.</p>",
      "refs": {
        "EncryptionConfig$enabled": null
      }
    },
    "EncryptionConfig": {
      "base": "<p>Encryption config for Connect Instance. Note that sensitive data will always be encrypted. If disabled, service will perform encryption with its own key. If enabled, a KMS key id needs to be provided and KMS charges will apply. KMS is only type supported</p>",
      "refs": {
        "InstanceConfig$encryptionConfig": null,
        "StartInstanceOnboardingJobRequest$encryptionConfig": null
      }
    },
    "EncryptionKey": {
      "base": "<p>KMS key id/arn for encryption config.</p>",
      "refs": {
        "EncryptionConfig$keyArn": null
      }
    },
    "EncryptionType": {
      "base": "<p>Server-side encryption type.</p>",
      "refs": {
        "EncryptionConfig$encryptionType": null
      }
    },
    "FailedCampaignStateResponse": {
      "base": "<p>Failed response of campaign state</p>",
      "refs": {
        "FailedCampaignStateResponseList$member": null
      }
    },
    "FailedCampaignStateResponseList": {
      "base": "<p>List of failed requests of campaign state</p>",
      "refs": {
        "GetCampaignStateBatchResponse$failedRequests": null
      }
    },
    "FailedRequest": {
      "base": "<p>A failed request identified by the unique client token.</p>",
      "refs": {
        "FailedRequestList$member": null
      }
    },
    "FailedRequestList": {
      "base": "<p>A list of failed requests.</p>",
      "refs": {
        "PutDialRequestBatchResponse$failedRequests": null
      }
    },
    "FailureCode": {
      "base": "<p>A predefined code indicating the error that caused the failure.</p>",
      "refs": {
        "FailedRequest$failureCode": null
      }
    },
    "GetCampaignStateBatchFailureCode": {
      "base": "<p>A predefined code indicating the error that caused the failure in getting state of campaigns</p>",
      "refs": {
        "FailedCampaignStateResponse$failureCode": null
      }
    },
    "GetCampaignStateBatchRequest": {
      "base": "<p>GetCampaignStateBatchRequest</p>",
      "refs": {
      }
    },
    "GetCampaignStateBatchRequestCampaignIdsList": {
      "base": "<p>List of CampaignId</p>",
      "refs": {
        "GetCampaignStateBatchRequest$campaignIds": null
      }
    },
    "GetCampaignStateBatchResponse": {
      "base": "<p>GetCampaignStateBatchResponse</p>",
      "refs": {
      }
    },
    "GetCampaignStateRequest": {
      "base": "<p>GetCampaignStateRequest</p>",
      "refs": {
      }
    },
    "GetCampaignStateResponse": {
      "base": "<p>GetCampaignStateResponse</p>",
      "refs": {
      }
    },
    "GetConnectInstanceConfigRequest": {
      "base": "<p>GetConnectInstanceConfigRequest</p>",
      "refs": {
      }
    },
    "GetConnectInstanceConfigResponse": {
      "base": "<p>GetConnectInstanceConfigResponse</p>",
      "refs": {
      }
    },
    "GetInstanceOnboardingJobStatusRequest": {
      "base": "<p>GetInstanceOnboardingJobStatusRequest</p>",
      "refs": {
      }
    },
    "GetInstanceOnboardingJobStatusResponse": {
      "base": "<p>GetInstanceOnboardingJobStatusResponse</p>",
      "refs": {
      }
    },
    "InstanceConfig": {
      "base": "<p>Instance config object</p>",
      "refs": {
        "GetConnectInstanceConfigResponse$connectInstanceConfig": null
      }
    },
    "InstanceId": {
      "base": "<p>Amazon Connect Instance Id</p>",
      "refs": {
        "Campaign$connectInstanceId": null,
        "CampaignSummary$connectInstanceId": null,
        "CreateCampaignRequest$connectInstanceId": null,
        "DeleteConnectInstanceConfigRequest$connectInstanceId": null,
        "DeleteInstanceOnboardingJobRequest$connectInstanceId": null,
        "GetConnectInstanceConfigRequest$connectInstanceId": null,
        "GetInstanceOnboardingJobStatusRequest$connectInstanceId": null,
        "InstanceConfig$connectInstanceId": null,
        "InstanceIdFilter$value": null,
        "InstanceOnboardingJobStatus$connectInstanceId": null,
        "StartInstanceOnboardingJobRequest$connectInstanceId": null
      }
    },
    "InstanceIdFilter": {
      "base": "<p>Connect instance identifier filter</p>",
      "refs": {
        "CampaignFilters$instanceIdFilter": null
      }
    },
    "InstanceIdFilterOperator": {
      "base": "<p>Operators for Connect instance identifier filter</p>",
      "refs": {
        "InstanceIdFilter$operator": null
      }
    },
    "InstanceOnboardingJobFailureCode": {
      "base": "<p>Enumeration of the possible failure codes for instance onboarding job</p>",
      "refs": {
        "InstanceOnboardingJobStatus$failureCode": null
      }
    },
    "InstanceOnboardingJobStatus": {
      "base": "<p>Instance onboarding job status object</p>",
      "refs": {
        "GetInstanceOnboardingJobStatusResponse$connectInstanceOnboardingJobStatus": null,
        "StartInstanceOnboardingJobResponse$connectInstanceOnboardingJobStatus": null
      }
    },
    "InstanceOnboardingJobStatusCode": {
      "base": "<p>Enumeration of the possible states for instance onboarding job</p>",
      "refs": {
        "InstanceOnboardingJobStatus$status": null
      }
    },
    "InternalServerException": {
      "base": "<p>Request processing failed because of an error or failure with the service.</p>",
      "refs": {
      }
    },
    "InvalidCampaignStateException": {
      "base": "<p>The request could not be processed because of conflict in the current state of the campaign.</p>",
      "refs": {
      }
    },
    "InvalidStateException": {
      "base": "<p>The request could not be processed because of conflict in the current state.</p>",
      "refs": {
      }
    },
    "ListCampaignsRequest": {
      "base": "<p>ListCampaignsRequest</p>",
      "refs": {
      }
    },
    "ListCampaignsResponse": {
      "base": "<p>ListCampaignsResponse</p>",
      "refs": {
      }
    },
    "ListTagsForResourceRequest": {
      "base": "<p>ListTagsForResource</p>",
      "refs": {
      }
    },
    "ListTagsForResourceResponse": {
      "base": "<p>ListTagsForResponse</p>",
      "refs": {
      }
    },
    "MaxResults": {
      "base": "<p>The maximum number of results to return per page.</p>",
      "refs": {
        "ListCampaignsRequest$maxResults": null
      }
    },
    "NextToken": {
      "base": "<p>The token for the next set of results.</p>",
      "refs": {
        "ListCampaignsRequest$nextToken": null,
        "ListCampaignsResponse$nextToken": null
      }
    },
    "OutboundCallConfig": {
      "base": "<p>The configuration used for outbound calls.</p>",
      "refs": {
        "Campaign$outboundCallConfig": null,
        "CreateCampaignRequest$outboundCallConfig": null
      }
    },
    "PauseCampaignRequest": {
      "base": "<p>PauseCampaignRequest</p>",
      "refs": {
      }
    },
    "PredictiveDialerConfig": {
      "base": "<p>Predictive Dialer config</p>",
      "refs": {
        "DialerConfig$predictiveDialerConfig": null
      }
    },
    "ProgressiveDialerConfig": {
      "base": "<p>Progressive Dialer config</p>",
      "refs": {
        "DialerConfig$progressiveDialerConfig": null
      }
    },
    "PutDialRequestBatchRequest": {
      "base": "<p>PutDialRequestBatchRequest</p>",
      "refs": {
      }
    },
    "PutDialRequestBatchResponse": {
      "base": "<p>PutDialRequestBatchResponse</p>",
      "refs": {
      }
    },
    "QueueId": {
      "base": "<p>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.</p>",
      "refs": {
        "OutboundCallConfig$connectQueueId": null
      }
    },
    "ResourceNotFoundException": {
      "base": "<p>The specified resource was not found.</p>",
      "refs": {
      }
    },
    "ResumeCampaignRequest": {
      "base": "<p>ResumeCampaignRequest</p>",
      "refs": {
      }
    },
    "ServiceLinkedRoleArn": {
      "base": "<p>Service linked role arn</p>",
      "refs": {
        "InstanceConfig$serviceLinkedRoleArn": null
      }
    },
    "ServiceQuotaExceededException": {
      "base": "<p>Request would cause a service quota to be exceeded.</p>",
      "refs": {
      }
    },
    "SourcePhoneNumber": {
      "base": "<p>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.</p>",
      "refs": {
        "OutboundCallConfig$connectSourcePhoneNumber": null,
        "UpdateCampaignOutboundCallConfigRequest$connectSourcePhoneNumber": null
      }
    },
    "StartCampaignRequest": {
      "base": "<p>StartCampaignRequest</p>",
      "refs": {
      }
    },
    "StartInstanceOnboardingJobRequest": {
      "base": "<p>The request for StartInstanceOnboardingJob API.</p>",
      "refs": {
      }
    },
    "StartInstanceOnboardingJobResponse": {
      "base": "<p>The response for StartInstanceOnboardingJob API.</p>",
      "refs": {
      }
    },
    "StopCampaignRequest": {
      "base": "<p>StopCampaignRequest</p>",
      "refs": {
      }
    },
    "String": {
      "base": null,
      "refs": {
        "AccessDeniedException$message": null,
        "ConflictException$message": null,
        "InternalServerException$message": null,
        "InvalidCampaignStateException$message": null,
        "InvalidStateException$message": null,
        "ResourceNotFoundException$message": null,
        "ServiceQuotaExceededException$message": null,
        "ThrottlingException$message": null,
        "ValidationException$message": null
      }
    },
    "SuccessfulCampaignStateResponse": {
      "base": "<p>Successful response of campaign state</p>",
      "refs": {
        "SuccessfulCampaignStateResponseList$member": null
      }
    },
    "SuccessfulCampaignStateResponseList": {
      "base": "<p>List of successful response of campaign state</p>",
      "refs": {
        "GetCampaignStateBatchResponse$successfulRequests": null
      }
    },
    "SuccessfulRequest": {
      "base": "<p>A successful request identified by the unique client token.</p>",
      "refs": {
        "SuccessfulRequestList$member": null
      }
    },
    "SuccessfulRequestList": {
      "base": "<p>A list of successful requests identified by the unique client token.</p>",
      "refs": {
        "PutDialRequestBatchResponse$successfulRequests": null
      }
    },
    "TagKey": {
      "base": "<p>Tag key.</p>",
      "refs": {
        "TagKeyList$member": null,
        "TagMap$key": null
      }
    },
    "TagKeyList": {
      "base": "<p>List of tag keys.</p>",
      "refs": {
        "UntagResourceRequest$tagKeys": null
      }
    },
    "TagMap": {
      "base": "<p>Tag map with key and value.</p>",
      "refs": {
        "Campaign$tags": null,
        "CreateCampaignRequest$tags": null,
        "CreateCampaignResponse$tags": null,
        "ListTagsForResourceResponse$tags": null,
        "TagResourceRequest$tags": null
      }
    },
    "TagResourceRequest": {
      "base": "<p>TagResourceRequest</p>",
      "refs": {
      }
    },
    "TagValue": {
      "base": "<p>Tag value.</p>",
      "refs": {
        "TagMap$value": null
      }
    },
    "ThrottlingException": {
      "base": "<p>The request was denied due to request throttling.</p>",
      "refs": {
      }
    },
    "TimeStamp": {
      "base": "<p>Timestamp with no UTC offset or timezone</p>",
      "refs": {
        "DialRequest$expirationTime": null
      }
    },
    "UntagResourceRequest": {
      "base": "<p>UntagResourceRequest</p>",
      "refs": {
      }
    },
    "UpdateCampaignDialerConfigRequest": {
      "base": "<p>UpdateCampaignDialerConfigRequest</p>",
      "refs": {
      }
    },
    "UpdateCampaignNameRequest": {
      "base": "<p>UpdateCampaignNameRequest</p>",
      "refs": {
      }
    },
    "UpdateCampaignOutboundCallConfigRequest": {
      "base": "<p>UpdateCampaignOutboundCallConfigRequest</p>",
      "refs": {
      }
    },
    "ValidationException": {
      "base": "<p>The input fails to satisfy the constraints specified by an AWS service.</p>",
      "refs": {
      }
    },
    "XAmazonErrorType": {
      "base": "<p>A header that defines the error encountered while processing the request.</p>",
      "refs": {
        "AccessDeniedException$xAmzErrorType": null,
        "ConflictException$xAmzErrorType": null,
        "InternalServerException$xAmzErrorType": null,
        "InvalidCampaignStateException$xAmzErrorType": null,
        "InvalidStateException$xAmzErrorType": null,
        "ResourceNotFoundException$xAmzErrorType": null,
        "ServiceQuotaExceededException$xAmzErrorType": null,
        "ThrottlingException$xAmzErrorType": null,
        "ValidationException$xAmzErrorType": null
      }
    }
  }
}
