{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2024-04-23",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"connect-campaigns",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AmazonConnectCampaignServiceV2",
    "serviceId":"ConnectCampaignsV2",
    "signatureVersion":"v4",
    "signingName":"connect-campaigns",
    "uid":"connectcampaignsv2-2024-04-23"
  },
  "operations":{
    "CreateCampaign":{
      "name":"CreateCampaign",
      "http":{
        "method":"PUT",
        "requestUri":"/v2/campaigns",
        "responseCode":200
      },
      "input":{"shape":"CreateCampaignRequest"},
      "output":{"shape":"CreateCampaignResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates a campaign for the specified Amazon Connect account. This API is idempotent.</p>",
      "idempotent":true
    },
    "DeleteCampaign":{
      "name":"DeleteCampaign",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/campaigns/{id}",
        "responseCode":200
      },
      "input":{"shape":"DeleteCampaignRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes a campaign from the specified Amazon Connect account.</p>",
      "idempotent":true
    },
    "DeleteCampaignChannelSubtypeConfig":{
      "name":"DeleteCampaignChannelSubtypeConfig",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/campaigns/{id}/channel-subtype-config",
        "responseCode":200
      },
      "input":{"shape":"DeleteCampaignChannelSubtypeConfigRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes the channel subtype config of a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "DeleteCampaignCommunicationLimits":{
      "name":"DeleteCampaignCommunicationLimits",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/campaigns/{id}/communication-limits",
        "responseCode":200
      },
      "input":{"shape":"DeleteCampaignCommunicationLimitsRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes the communication limits config for a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "DeleteCampaignCommunicationTime":{
      "name":"DeleteCampaignCommunicationTime",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/campaigns/{id}/communication-time",
        "responseCode":200
      },
      "input":{"shape":"DeleteCampaignCommunicationTimeRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes the communication time config for a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "DeleteConnectInstanceConfig":{
      "name":"DeleteConnectInstanceConfig",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/config",
        "responseCode":200
      },
      "input":{"shape":"DeleteConnectInstanceConfigRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidStateException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes a connect instance config from the specified AWS account.</p>",
      "idempotent":true
    },
    "DeleteConnectInstanceIntegration":{
      "name":"DeleteConnectInstanceIntegration",
      "http":{
        "method":"POST",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/integrations/delete",
        "responseCode":200
      },
      "input":{"shape":"DeleteConnectInstanceIntegrationRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete the integration for the specified Amazon Connect instance.</p>"
    },
    "DeleteInstanceOnboardingJob":{
      "name":"DeleteInstanceOnboardingJob",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/onboarding",
        "responseCode":200
      },
      "input":{"shape":"DeleteInstanceOnboardingJobRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidStateException"}
      ],
      "documentation":"<p>Delete the Connect Campaigns onboarding job for the specified Amazon Connect instance.</p>",
      "idempotent":true
    },
    "DescribeCampaign":{
      "name":"DescribeCampaign",
      "http":{
        "method":"GET",
        "requestUri":"/v2/campaigns/{id}",
        "responseCode":200
      },
      "input":{"shape":"DescribeCampaignRequest"},
      "output":{"shape":"DescribeCampaignResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Describes the specific campaign.</p>",
      "readonly":true
    },
    "GetCampaignState":{
      "name":"GetCampaignState",
      "http":{
        "method":"GET",
        "requestUri":"/v2/campaigns/{id}/state",
        "responseCode":200
      },
      "input":{"shape":"GetCampaignStateRequest"},
      "output":{"shape":"GetCampaignStateResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get state of a campaign for the specified Amazon Connect account.</p>"
    },
    "GetCampaignStateBatch":{
      "name":"GetCampaignStateBatch",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns-state",
        "responseCode":200
      },
      "input":{"shape":"GetCampaignStateBatchRequest"},
      "output":{"shape":"GetCampaignStateBatchResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get state of campaigns for the specified Amazon Connect account.</p>"
    },
    "GetConnectInstanceConfig":{
      "name":"GetConnectInstanceConfig",
      "http":{
        "method":"GET",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/config",
        "responseCode":200
      },
      "input":{"shape":"GetConnectInstanceConfigRequest"},
      "output":{"shape":"GetConnectInstanceConfigResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Get the specific Connect instance config.</p>",
      "readonly":true
    },
    "GetInstanceCommunicationLimits":{
      "name":"GetInstanceCommunicationLimits",
      "http":{
        "method":"GET",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/communication-limits",
        "responseCode":200
      },
      "input":{"shape":"GetInstanceCommunicationLimitsRequest"},
      "output":{"shape":"GetInstanceCommunicationLimitsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Get the instance communication limits.</p>",
      "readonly":true
    },
    "GetInstanceOnboardingJobStatus":{
      "name":"GetInstanceOnboardingJobStatus",
      "http":{
        "method":"GET",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/onboarding",
        "responseCode":200
      },
      "input":{"shape":"GetInstanceOnboardingJobStatusRequest"},
      "output":{"shape":"GetInstanceOnboardingJobStatusResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Get the specific instance onboarding job status.</p>",
      "readonly":true
    },
    "ListCampaigns":{
      "name":"ListCampaigns",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns-summary",
        "responseCode":200
      },
      "input":{"shape":"ListCampaignsRequest"},
      "output":{"shape":"ListCampaignsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Provides summary information about the campaigns under the specified Amazon Connect account.</p>",
      "readonly":true
    },
    "ListConnectInstanceIntegrations":{
      "name":"ListConnectInstanceIntegrations",
      "http":{
        "method":"GET",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/integrations",
        "responseCode":200
      },
      "input":{"shape":"ListConnectInstanceIntegrationsRequest"},
      "output":{"shape":"ListConnectInstanceIntegrationsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Provides summary information about the integration under the specified Connect instance.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/v2/tags/{arn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List tags for a resource.</p>"
    },
    "PauseCampaign":{
      "name":"PauseCampaign",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/pause",
        "responseCode":200
      },
      "input":{"shape":"PauseCampaignRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Pauses a campaign for the specified Amazon Connect account.</p>"
    },
    "PutConnectInstanceIntegration":{
      "name":"PutConnectInstanceIntegration",
      "http":{
        "method":"PUT",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/integrations",
        "responseCode":200
      },
      "input":{"shape":"PutConnectInstanceIntegrationRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Put or update the integration for the specified Amazon Connect instance.</p>",
      "idempotent":true
    },
    "PutInstanceCommunicationLimits":{
      "name":"PutInstanceCommunicationLimits",
      "http":{
        "method":"PUT",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/communication-limits",
        "responseCode":200
      },
      "input":{"shape":"PutInstanceCommunicationLimitsRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Put the instance communication limits. This API is idempotent.</p>",
      "idempotent":true
    },
    "PutOutboundRequestBatch":{
      "name":"PutOutboundRequestBatch",
      "http":{
        "method":"PUT",
        "requestUri":"/v2/campaigns/{id}/outbound-requests",
        "responseCode":200
      },
      "input":{"shape":"PutOutboundRequestBatchRequest"},
      "output":{"shape":"PutOutboundRequestBatchResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates outbound requests for the specified campaign Amazon Connect account. This API is idempotent.</p>",
      "idempotent":true
    },
    "PutProfileOutboundRequestBatch":{
      "name":"PutProfileOutboundRequestBatch",
      "http":{
        "method":"PUT",
        "requestUri":"/v2/campaigns/{id}/profile-outbound-requests",
        "responseCode":200
      },
      "input":{"shape":"PutProfileOutboundRequestBatchRequest"},
      "output":{"shape":"PutProfileOutboundRequestBatchResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Takes in a list of profile outbound requests to be placed as part of an outbound campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "ResumeCampaign":{
      "name":"ResumeCampaign",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/resume",
        "responseCode":200
      },
      "input":{"shape":"ResumeCampaignRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Stops a campaign for the specified Amazon Connect account.</p>"
    },
    "StartCampaign":{
      "name":"StartCampaign",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/start",
        "responseCode":200
      },
      "input":{"shape":"StartCampaignRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Starts a campaign for the specified Amazon Connect account.</p>"
    },
    "StartInstanceOnboardingJob":{
      "name":"StartInstanceOnboardingJob",
      "http":{
        "method":"PUT",
        "requestUri":"/v2/connect-instance/{connectInstanceId}/onboarding",
        "responseCode":200
      },
      "input":{"shape":"StartInstanceOnboardingJobRequest"},
      "output":{"shape":"StartInstanceOnboardingJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Onboard the specific Amazon Connect instance to Connect Campaigns.</p>",
      "idempotent":true
    },
    "StopCampaign":{
      "name":"StopCampaign",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/stop",
        "responseCode":200
      },
      "input":{"shape":"StopCampaignRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Stops a campaign for the specified Amazon Connect account.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/v2/tags/{arn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Tag a resource.</p>",
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/v2/tags/{arn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Untag a resource.</p>",
      "idempotent":true
    },
    "UpdateCampaignChannelSubtypeConfig":{
      "name":"UpdateCampaignChannelSubtypeConfig",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/channel-subtype-config",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignChannelSubtypeConfigRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the channel subtype config of a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "UpdateCampaignCommunicationLimits":{
      "name":"UpdateCampaignCommunicationLimits",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/communication-limits",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignCommunicationLimitsRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the communication limits config for a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "UpdateCampaignCommunicationTime":{
      "name":"UpdateCampaignCommunicationTime",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/communication-time",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignCommunicationTimeRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the communication time config for a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "UpdateCampaignFlowAssociation":{
      "name":"UpdateCampaignFlowAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/flow",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignFlowAssociationRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the campaign flow associated with a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "UpdateCampaignName":{
      "name":"UpdateCampaignName",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/name",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignNameRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the name of a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "UpdateCampaignSchedule":{
      "name":"UpdateCampaignSchedule",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/schedule",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignScheduleRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the schedule for a campaign. This API is idempotent.</p>",
      "idempotent":true
    },
    "UpdateCampaignSource":{
      "name":"UpdateCampaignSource",
      "http":{
        "method":"POST",
        "requestUri":"/v2/campaigns/{id}/source",
        "responseCode":200
      },
      "input":{"shape":"UpdateCampaignSourceRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidCampaignStateException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Updates the campaign source with a campaign. This API is idempotent.</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AgentAction":{
      "type":"string",
      "documentation":"<p>Actions that can performed on a contact by an agent</p>",
      "enum":["DISCARD"]
    },
    "AgentActions":{
      "type":"list",
      "member":{"shape":"AgentAction"},
      "documentation":"<p>Actions that can be performed by agent during preview phase.</p>"
    },
    "AgentlessConfig":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Agentless config</p>"
    },
    "AnswerMachineDetectionConfig":{
      "type":"structure",
      "required":["enableAnswerMachineDetection"],
      "members":{
        "enableAnswerMachineDetection":{
          "shape":"Boolean",
          "documentation":"<p>Enable or disable answering machine detection</p>"
        },
        "awaitAnswerMachinePrompt":{
          "shape":"Boolean",
          "documentation":"<p>Enable or disable await answer machine prompt</p>"
        }
      },
      "documentation":"<p>Answering Machine Detection config</p>"
    },
    "Arn":{
      "type":"string",
      "documentation":"<p>Amazon Resource Names(ARN)</p>",
      "max":500,
      "min":20,
      "pattern":"arn:[a-zA-Z0-9-]+:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\\d{1,2}:[a-zA-Z0-9-]+:[^:]+(?:/[^:]+)*(?:/[^:]+)?(?:\\:[^:]+)?"
    },
    "AttributeName":{
      "type":"string",
      "documentation":"<p>The key of the attribute. Attribute keys can include only alphanumeric, dash, and underscore characters.</p>",
      "max":32767,
      "min":0,
      "pattern":"[a-zA-Z0-9\\-_]+"
    },
    "AttributeValue":{
      "type":"string",
      "documentation":"<p>The value of the attribute.</p>",
      "max":32767,
      "min":0,
      "pattern":".*"
    },
    "Attributes":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"},
      "documentation":"<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>",
      "sensitive":true
    },
    "BandwidthAllocation":{
      "type":"double",
      "documentation":"<p>The bandwidth allocation of a queue resource.</p>",
      "box":true,
      "max":1,
      "min":0
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "Campaign":{
      "type":"structure",
      "required":[
        "id",
        "arn",
        "name",
        "connectInstanceId"
      ],
      "members":{
        "id":{"shape":"CampaignId"},
        "arn":{"shape":"CampaignArn"},
        "name":{"shape":"CampaignName"},
        "connectInstanceId":{"shape":"InstanceId"},
        "channelSubtypeConfig":{"shape":"ChannelSubtypeConfig"},
        "type":{"shape":"ExternalCampaignType"},
        "source":{"shape":"Source"},
        "connectCampaignFlowArn":{"shape":"Arn"},
        "schedule":{"shape":"Schedule"},
        "communicationTimeConfig":{"shape":"CommunicationTimeConfig"},
        "communicationLimitsOverride":{"shape":"CommunicationLimitsConfig"},
        "tags":{"shape":"TagMap"}
      },
      "documentation":"<p>An Amazon Connect campaign.</p>"
    },
    "CampaignArn":{
      "type":"string",
      "documentation":"<p>The resource name of an Amazon Connect campaign.</p>",
      "max":500,
      "min":20
    },
    "CampaignDeletionPolicy":{
      "type":"string",
      "documentation":"<p>Enumeration of the policies to enact on existing campaigns during instance config deletion</p>",
      "enum":[
        "RETAIN_ALL",
        "DELETE_ALL"
      ]
    },
    "CampaignFilters":{
      "type":"structure",
      "members":{
        "instanceIdFilter":{"shape":"InstanceIdFilter"}
      },
      "documentation":"<p>Filter model by type</p>"
    },
    "CampaignId":{
      "type":"string",
      "documentation":"<p>Identifier representing a Campaign</p>",
      "max":256,
      "min":1,
      "pattern":"[-:/a-zA-Z0-9]+"
    },
    "CampaignName":{
      "type":"string",
      "documentation":"<p>The name of an Amazon Connect Campaign name.</p>",
      "max":127,
      "min":1
    },
    "CampaignState":{
      "type":"string",
      "documentation":"<p>State of a campaign</p>",
      "enum":[
        "Initialized",
        "Running",
        "Paused",
        "Stopped",
        "Failed",
        "Completed"
      ]
    },
    "CampaignSummary":{
      "type":"structure",
      "required":[
        "id",
        "arn",
        "name",
        "connectInstanceId",
        "channelSubtypes"
      ],
      "members":{
        "id":{"shape":"CampaignId"},
        "arn":{"shape":"CampaignArn"},
        "name":{"shape":"CampaignName"},
        "connectInstanceId":{"shape":"InstanceId"},
        "channelSubtypes":{"shape":"ChannelSubtypeList"},
        "type":{"shape":"ExternalCampaignType"},
        "schedule":{"shape":"Schedule"},
        "connectCampaignFlowArn":{"shape":"Arn"}
      },
      "documentation":"<p>An Amazon Connect campaign summary.</p>"
    },
    "CampaignSummaryList":{
      "type":"list",
      "member":{"shape":"CampaignSummary"},
      "documentation":"<p>A list of Amazon Connect campaigns.</p>"
    },
    "Capacity":{
      "type":"double",
      "documentation":"<p>Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns</p>",
      "box":true,
      "max":1,
      "min":0.01
    },
    "ChannelSubtype":{
      "type":"string",
      "documentation":"<p>The type of campaign channel subtype.</p>",
      "enum":[
        "TELEPHONY",
        "SMS",
        "EMAIL",
        "WHATSAPP"
      ]
    },
    "ChannelSubtypeConfig":{
      "type":"structure",
      "members":{
        "telephony":{"shape":"TelephonyChannelSubtypeConfig"},
        "sms":{"shape":"SmsChannelSubtypeConfig"},
        "email":{"shape":"EmailChannelSubtypeConfig"},
        "whatsApp":{"shape":"WhatsAppChannelSubtypeConfig"}
      },
      "documentation":"<p>Campaign Channel Subtype config</p>"
    },
    "ChannelSubtypeList":{
      "type":"list",
      "member":{"shape":"ChannelSubtype"},
      "documentation":"<p>Channel subtype list</p>"
    },
    "ChannelSubtypeParameters":{
      "type":"structure",
      "members":{
        "telephony":{"shape":"TelephonyChannelSubtypeParameters"},
        "sms":{"shape":"SmsChannelSubtypeParameters"},
        "email":{"shape":"EmailChannelSubtypeParameters"},
        "whatsApp":{"shape":"WhatsAppChannelSubtypeParameters"}
      },
      "documentation":"<p>ChannelSubtypeParameters for an outbound request</p>",
      "union":true
    },
    "ClientToken":{
      "type":"string",
      "documentation":"<p>Client provided parameter used for idempotency. Its value must be unique for each request.</p>",
      "max":200,
      "min":0,
      "pattern":"[a-zA-Z0-9_\\-.]*"
    },
    "CommunicationLimit":{
      "type":"structure",
      "required":[
        "maxCountPerRecipient",
        "frequency",
        "unit"
      ],
      "members":{
        "maxCountPerRecipient":{
          "shape":"CommunicationLimitMaxCountPerRecipientInteger",
          "documentation":"<p>Maximum number of contacts allowed for a given target within the given frequency.</p>"
        },
        "frequency":{
          "shape":"CommunicationLimitFrequencyInteger",
          "documentation":"<p>The number of days to consider with regards to this limit.</p>"
        },
        "unit":{"shape":"CommunicationLimitTimeUnit"}
      },
      "documentation":"<p>Communication Limit</p>"
    },
    "CommunicationLimitFrequencyInteger":{
      "type":"integer",
      "box":true,
      "max":30,
      "min":1
    },
    "CommunicationLimitList":{
      "type":"list",
      "member":{"shape":"CommunicationLimit"},
      "documentation":"<p>List of communication limit</p>",
      "max":2,
      "min":0
    },
    "CommunicationLimitMaxCountPerRecipientInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "CommunicationLimitTimeUnit":{
      "type":"string",
      "documentation":"<p>The communication limit time unit.</p>",
      "enum":["DAY"]
    },
    "CommunicationLimits":{
      "type":"structure",
      "members":{
        "communicationLimitsList":{"shape":"CommunicationLimitList"}
      },
      "documentation":"<p>Communication limits</p>",
      "union":true
    },
    "CommunicationLimitsConfig":{
      "type":"structure",
      "members":{
        "allChannelSubtypes":{"shape":"CommunicationLimits"},
        "instanceLimitsHandling":{"shape":"InstanceLimitsHandling"}
      },
      "documentation":"<p>Communication limits config</p>"
    },
    "CommunicationLimitsConfigType":{
      "type":"string",
      "documentation":"<p>The type of campaign communication limits config.</p>",
      "enum":["ALL_CHANNEL_SUBTYPES"]
    },
    "CommunicationTimeConfig":{
      "type":"structure",
      "required":["localTimeZoneConfig"],
      "members":{
        "localTimeZoneConfig":{"shape":"LocalTimeZoneConfig"},
        "telephony":{"shape":"TimeWindow"},
        "sms":{"shape":"TimeWindow"},
        "email":{"shape":"TimeWindow"},
        "whatsApp":{"shape":"TimeWindow"}
      },
      "documentation":"<p>Campaign communication time config</p>"
    },
    "CommunicationTimeConfigType":{
      "type":"string",
      "documentation":"<p>The type of campaign communication time config</p>",
      "enum":[
        "TELEPHONY",
        "SMS",
        "EMAIL",
        "WHATSAPP"
      ]
    },
    "ConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>The request could not be processed because of conflict in the current state of the resource.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ContactFlowId":{
      "type":"string",
      "documentation":"<p>The identifier of the contact flow for the outbound call.</p>",
      "max":500,
      "min":0
    },
    "CreateCampaignRequest":{
      "type":"structure",
      "required":[
        "name",
        "connectInstanceId"
      ],
      "members":{
        "name":{"shape":"CampaignName"},
        "connectInstanceId":{"shape":"InstanceId"},
        "channelSubtypeConfig":{"shape":"ChannelSubtypeConfig"},
        "type":{"shape":"ExternalCampaignType"},
        "source":{"shape":"Source"},
        "connectCampaignFlowArn":{"shape":"Arn"},
        "schedule":{"shape":"Schedule"},
        "communicationTimeConfig":{"shape":"CommunicationTimeConfig"},
        "communicationLimitsOverride":{"shape":"CommunicationLimitsConfig"},
        "tags":{"shape":"TagMap"}
      },
      "documentation":"<p>The request for CreateCampaign API.</p>"
    },
    "CreateCampaignResponse":{
      "type":"structure",
      "members":{
        "id":{"shape":"CampaignId"},
        "arn":{"shape":"CampaignArn"},
        "tags":{"shape":"TagMap"}
      },
      "documentation":"<p>The response for Create Campaign API</p>"
    },
    "CustomerProfilesIntegrationConfig":{
      "type":"structure",
      "required":[
        "domainArn",
        "objectTypeNames"
      ],
      "members":{
        "domainArn":{"shape":"Arn"},
        "objectTypeNames":{"shape":"ObjectTypeNamesMap"}
      },
      "documentation":"<p>Customer Profiles integration config</p>"
    },
    "CustomerProfilesIntegrationIdentifier":{
      "type":"structure",
      "required":["domainArn"],
      "members":{
        "domainArn":{"shape":"Arn"}
      },
      "documentation":"<p>Customer Profiles integration identifier</p>"
    },
    "CustomerProfilesIntegrationSummary":{
      "type":"structure",
      "required":[
        "domainArn",
        "objectTypeNames"
      ],
      "members":{
        "domainArn":{"shape":"Arn"},
        "objectTypeNames":{"shape":"ObjectTypeNamesMap"}
      },
      "documentation":"<p>Customer Profiles integration summary</p>"
    },
    "DailyHours":{
      "type":"map",
      "key":{"shape":"DayOfWeek"},
      "value":{"shape":"TimeRangeList"},
      "documentation":"<p>Daily Hours map</p>"
    },
    "DayOfWeek":{
      "type":"string",
      "documentation":"<p>Day of week enum</p>",
      "enum":[
        "MONDAY",
        "TUESDAY",
        "WEDNESDAY",
        "THURSDAY",
        "FRIDAY",
        "SATURDAY",
        "SUNDAY"
      ]
    },
    "DeleteCampaignChannelSubtypeConfigRequest":{
      "type":"structure",
      "required":[
        "id",
        "channelSubtype"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "channelSubtype":{
          "shape":"ChannelSubtype",
          "location":"querystring",
          "locationName":"channelSubtype"
        }
      },
      "documentation":"<p>The request for DeleteCampaignChannelSubtypeConfig API.</p>"
    },
    "DeleteCampaignCommunicationLimitsRequest":{
      "type":"structure",
      "required":[
        "id",
        "config"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "config":{
          "shape":"CommunicationLimitsConfigType",
          "location":"querystring",
          "locationName":"config"
        }
      },
      "documentation":"<p>The request for DeleteCampaignCommunicationLimits API.</p>"
    },
    "DeleteCampaignCommunicationTimeRequest":{
      "type":"structure",
      "required":[
        "id",
        "config"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "config":{
          "shape":"CommunicationTimeConfigType",
          "location":"querystring",
          "locationName":"config"
        }
      },
      "documentation":"<p>The request for DeleteCampaignCommunicationTime API.</p>"
    },
    "DeleteCampaignRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for DeleteCampaign API.</p>"
    },
    "DeleteConnectInstanceConfigRequest":{
      "type":"structure",
      "required":["connectInstanceId"],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        },
        "campaignDeletionPolicy":{
          "shape":"CampaignDeletionPolicy",
          "location":"querystring",
          "locationName":"campaignDeletionPolicy"
        }
      },
      "documentation":"<p>The request for DeleteConnectInstanceConfig API.</p>"
    },
    "DeleteConnectInstanceIntegrationRequest":{
      "type":"structure",
      "required":[
        "connectInstanceId",
        "integrationIdentifier"
      ],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        },
        "integrationIdentifier":{"shape":"IntegrationIdentifier"}
      },
      "documentation":"<p>The request for DeleteConnectInstanceIntegration API.</p>"
    },
    "DeleteInstanceOnboardingJobRequest":{
      "type":"structure",
      "required":["connectInstanceId"],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        }
      },
      "documentation":"<p>The request for DeleteInstanceOnboardingJob API.</p>"
    },
    "DescribeCampaignRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for DescribeCampaign API.</p>"
    },
    "DescribeCampaignResponse":{
      "type":"structure",
      "members":{
        "campaign":{"shape":"Campaign"}
      },
      "documentation":"<p>The response for DescribeCampaign API.</p>"
    },
    "DestinationPhoneNumber":{
      "type":"string",
      "documentation":"<p>The phone number of the customer, in E.164 format.</p>",
      "max":20,
      "min":0,
      "pattern":"[\\d\\-+]*",
      "sensitive":true
    },
    "DialRequestId":{
      "type":"string",
      "documentation":"<p>Identifier representing a Dial request</p>",
      "max":256,
      "min":1,
      "pattern":"[-_.a-zA-Z0-9]+"
    },
    "EmailAddress":{
      "type":"string",
      "documentation":"<p>Source/Destination Email address used for Email messages</p>",
      "max":255,
      "min":1,
      "pattern":".*[^\\s@]+@[^\\s@]+\\.[^\\s@]+.*",
      "sensitive":true
    },
    "EmailChannelSubtypeConfig":{
      "type":"structure",
      "required":[
        "outboundMode",
        "defaultOutboundConfig"
      ],
      "members":{
        "capacity":{"shape":"Capacity"},
        "outboundMode":{"shape":"EmailOutboundMode"},
        "defaultOutboundConfig":{"shape":"EmailOutboundConfig"}
      },
      "documentation":"<p>Email Channel Subtype config</p>"
    },
    "EmailChannelSubtypeParameters":{
      "type":"structure",
      "required":[
        "destinationEmailAddress",
        "templateParameters"
      ],
      "members":{
        "destinationEmailAddress":{"shape":"EmailAddress"},
        "connectSourceEmailAddress":{"shape":"EmailAddress"},
        "templateArn":{"shape":"Arn"},
        "templateParameters":{"shape":"Attributes"}
      },
      "documentation":"<p>Parameters for the Email Channel Subtype</p>"
    },
    "EmailDisplayName":{
      "type":"string",
      "documentation":"<p>Display name for Email Address</p>",
      "max":256,
      "min":0,
      "sensitive":true
    },
    "EmailOutboundConfig":{
      "type":"structure",
      "required":[
        "connectSourceEmailAddress",
        "wisdomTemplateArn"
      ],
      "members":{
        "connectSourceEmailAddress":{"shape":"EmailAddress"},
        "sourceEmailAddressDisplayName":{"shape":"EmailDisplayName"},
        "wisdomTemplateArn":{"shape":"Arn"}
      },
      "documentation":"<p>Default Email Outbound config</p>"
    },
    "EmailOutboundMode":{
      "type":"structure",
      "members":{
        "agentless":{"shape":"AgentlessConfig"}
      },
      "documentation":"<p>Email Outbound Mode</p>",
      "union":true
    },
    "Enabled":{
      "type":"boolean",
      "documentation":"<p>Boolean to indicate if custom encryption has been enabled.</p>"
    },
    "EncryptionConfig":{
      "type":"structure",
      "required":["enabled"],
      "members":{
        "enabled":{"shape":"Enabled"},
        "encryptionType":{"shape":"EncryptionType"},
        "keyArn":{"shape":"EncryptionKey"}
      },
      "documentation":"<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>"
    },
    "EncryptionKey":{
      "type":"string",
      "documentation":"<p>KMS key id/arn for encryption config.</p>",
      "max":500,
      "min":0
    },
    "EncryptionType":{
      "type":"string",
      "documentation":"<p>Server-side encryption type.</p>",
      "enum":["KMS"]
    },
    "EventTrigger":{
      "type":"structure",
      "members":{
        "customerProfilesDomainArn":{"shape":"Arn"}
      },
      "documentation":"<p>Event trigger of the campaign</p>"
    },
    "EventType":{
      "type":"string",
      "documentation":"<p>Enumeration of Customer Profiles event type</p>",
      "enum":[
        "Campaign-Email",
        "Campaign-SMS",
        "Campaign-Telephony",
        "Campaign-Orchestration",
        "Campaign-WhatsApp"
      ]
    },
    "ExternalCampaignType":{
      "type":"string",
      "documentation":"<p>The type of campaign externally exposed in APIs.</p>",
      "enum":[
        "MANAGED",
        "JOURNEY"
      ]
    },
    "FailedCampaignStateResponse":{
      "type":"structure",
      "members":{
        "campaignId":{"shape":"CampaignId"},
        "failureCode":{"shape":"GetCampaignStateBatchFailureCode"}
      },
      "documentation":"<p>Failed response of campaign state</p>"
    },
    "FailedCampaignStateResponseList":{
      "type":"list",
      "member":{"shape":"FailedCampaignStateResponse"},
      "documentation":"<p>List of failed requests of campaign state</p>",
      "max":25,
      "min":0
    },
    "FailedProfileOutboundRequest":{
      "type":"structure",
      "members":{
        "clientToken":{"shape":"ClientToken"},
        "id":{"shape":"ProfileOutboundRequestId"},
        "failureCode":{"shape":"ProfileOutboundRequestFailureCode"}
      },
      "documentation":"<p>Failure details for a profile outbound request</p>"
    },
    "FailedProfileOutboundRequestList":{
      "type":"list",
      "member":{"shape":"FailedProfileOutboundRequest"},
      "documentation":"<p>List of failed profile outbound requests</p>",
      "max":20,
      "min":0
    },
    "FailedRequest":{
      "type":"structure",
      "members":{
        "clientToken":{"shape":"ClientToken"},
        "id":{"shape":"DialRequestId"},
        "failureCode":{"shape":"FailureCode"}
      },
      "documentation":"<p>A failed request identified by the unique client token.</p>"
    },
    "FailedRequestList":{
      "type":"list",
      "member":{"shape":"FailedRequest"},
      "documentation":"<p>A list of failed requests.</p>",
      "max":25,
      "min":0
    },
    "FailureCode":{
      "type":"string",
      "documentation":"<p>A predefined code indicating the error that caused the failure.</p>",
      "enum":[
        "InvalidInput",
        "RequestThrottled",
        "UnknownError",
        "BufferLimitExceeded"
      ]
    },
    "GetCampaignStateBatchFailureCode":{
      "type":"string",
      "documentation":"<p>A predefined code indicating the error that caused the failure in getting state of campaigns</p>",
      "enum":[
        "ResourceNotFound",
        "UnknownError"
      ]
    },
    "GetCampaignStateBatchRequest":{
      "type":"structure",
      "required":["campaignIds"],
      "members":{
        "campaignIds":{"shape":"GetCampaignStateBatchRequestCampaignIdsList"}
      },
      "documentation":"<p>The request for GetCampaignStateBatch API.</p>"
    },
    "GetCampaignStateBatchRequestCampaignIdsList":{
      "type":"list",
      "member":{"shape":"CampaignId"},
      "documentation":"<p>List of CampaignId</p>",
      "max":25,
      "min":1
    },
    "GetCampaignStateBatchResponse":{
      "type":"structure",
      "members":{
        "successfulRequests":{"shape":"SuccessfulCampaignStateResponseList"},
        "failedRequests":{"shape":"FailedCampaignStateResponseList"}
      },
      "documentation":"<p>The response for GetCampaignStateBatch API.</p>"
    },
    "GetCampaignStateRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for GetCampaignState API.</p>"
    },
    "GetCampaignStateResponse":{
      "type":"structure",
      "members":{
        "state":{"shape":"CampaignState"}
      },
      "documentation":"<p>The response for GetCampaignState API.</p>"
    },
    "GetConnectInstanceConfigRequest":{
      "type":"structure",
      "required":["connectInstanceId"],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        }
      },
      "documentation":"<p>The request for GetConnectInstanceConfig API.</p>"
    },
    "GetConnectInstanceConfigResponse":{
      "type":"structure",
      "members":{
        "connectInstanceConfig":{"shape":"InstanceConfig"}
      },
      "documentation":"<p>The response for GetConnectInstanceConfig API.</p>"
    },
    "GetInstanceCommunicationLimitsRequest":{
      "type":"structure",
      "required":["connectInstanceId"],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        }
      },
      "documentation":"<p>The request for GetInstanceCommunicationLimits API.</p>"
    },
    "GetInstanceCommunicationLimitsResponse":{
      "type":"structure",
      "members":{
        "communicationLimitsConfig":{"shape":"InstanceCommunicationLimitsConfig"}
      },
      "documentation":"<p>The response for GetInstanceCommunicationLimits API.</p>"
    },
    "GetInstanceOnboardingJobStatusRequest":{
      "type":"structure",
      "required":["connectInstanceId"],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        }
      },
      "documentation":"<p>The request for GetInstanceOnboardingJobStatus API.</p>"
    },
    "GetInstanceOnboardingJobStatusResponse":{
      "type":"structure",
      "members":{
        "connectInstanceOnboardingJobStatus":{"shape":"InstanceOnboardingJobStatus"}
      },
      "documentation":"<p>The response for GetInstanceOnboardingJobStatus API.</p>"
    },
    "InstanceCommunicationLimitsConfig":{
      "type":"structure",
      "members":{
        "allChannelSubtypes":{"shape":"CommunicationLimits"}
      },
      "documentation":"<p>Instance Communication limits config</p>"
    },
    "InstanceConfig":{
      "type":"structure",
      "required":[
        "connectInstanceId",
        "serviceLinkedRoleArn",
        "encryptionConfig"
      ],
      "members":{
        "connectInstanceId":{"shape":"InstanceId"},
        "serviceLinkedRoleArn":{"shape":"ServiceLinkedRoleArn"},
        "encryptionConfig":{"shape":"EncryptionConfig"}
      },
      "documentation":"<p>Instance config object</p>"
    },
    "InstanceId":{
      "type":"string",
      "documentation":"<p>Amazon Connect Instance Id</p>",
      "max":256,
      "min":1,
      "pattern":"[-_.a-zA-Z0-9]+"
    },
    "InstanceIdFilter":{
      "type":"structure",
      "required":[
        "value",
        "operator"
      ],
      "members":{
        "value":{"shape":"InstanceId"},
        "operator":{"shape":"InstanceIdFilterOperator"}
      },
      "documentation":"<p>Connect instance identifier filter</p>"
    },
    "InstanceIdFilterOperator":{
      "type":"string",
      "documentation":"<p>Operators for Connect instance identifier filter</p>",
      "enum":["Eq"]
    },
    "InstanceLimitsHandling":{
      "type":"string",
      "documentation":"<p>Instance limits handling</p>",
      "enum":[
        "OPT_IN",
        "OPT_OUT"
      ]
    },
    "InstanceOnboardingJobFailureCode":{
      "type":"string",
      "documentation":"<p>Enumeration of the possible failure codes for instance onboarding job</p>",
      "enum":[
        "EVENT_BRIDGE_ACCESS_DENIED",
        "EVENT_BRIDGE_MANAGED_RULE_LIMIT_EXCEEDED",
        "IAM_ACCESS_DENIED",
        "KMS_ACCESS_DENIED",
        "KMS_KEY_NOT_FOUND",
        "INTERNAL_FAILURE"
      ]
    },
    "InstanceOnboardingJobStatus":{
      "type":"structure",
      "required":[
        "connectInstanceId",
        "status"
      ],
      "members":{
        "connectInstanceId":{"shape":"InstanceId"},
        "status":{"shape":"InstanceOnboardingJobStatusCode"},
        "failureCode":{"shape":"InstanceOnboardingJobFailureCode"}
      },
      "documentation":"<p>Instance onboarding job status object</p>"
    },
    "InstanceOnboardingJobStatusCode":{
      "type":"string",
      "documentation":"<p>Enumeration of the possible states for instance onboarding job</p>",
      "enum":[
        "IN_PROGRESS",
        "SUCCEEDED",
        "FAILED"
      ]
    },
    "IntegrationConfig":{
      "type":"structure",
      "members":{
        "customerProfiles":{"shape":"CustomerProfilesIntegrationConfig"},
        "qConnect":{"shape":"QConnectIntegrationConfig"},
        "lambda":{"shape":"LambdaIntegrationConfig"}
      },
      "documentation":"<p>Integration config for Connect Instance</p>",
      "union":true
    },
    "IntegrationIdentifier":{
      "type":"structure",
      "members":{
        "customerProfiles":{"shape":"CustomerProfilesIntegrationIdentifier"},
        "qConnect":{"shape":"QConnectIntegrationIdentifier"},
        "lambda":{"shape":"LambdaIntegrationIdentifier"}
      },
      "documentation":"<p>Integration identifier for Connect instance</p>",
      "union":true
    },
    "IntegrationSummary":{
      "type":"structure",
      "members":{
        "customerProfiles":{"shape":"CustomerProfilesIntegrationSummary"},
        "qConnect":{"shape":"QConnectIntegrationSummary"},
        "lambda":{"shape":"LambdaIntegrationSummary"}
      },
      "documentation":"<p>Integration summary for Connect instance.</p>",
      "union":true
    },
    "IntegrationSummaryList":{
      "type":"list",
      "member":{"shape":"IntegrationSummary"},
      "documentation":"<p>A list of Amazon Connect Instance Integrations.</p>"
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>Request processing failed because of an error or failure with the service.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "InvalidCampaignStateException":{
      "type":"structure",
      "required":[
        "state",
        "message"
      ],
      "members":{
        "state":{"shape":"CampaignState"},
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>The request could not be processed because of conflict in the current state of the campaign.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "InvalidStateException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>The request could not be processed because of conflict in the current state.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "Iso8601Date":{
      "type":"string",
      "documentation":"<p>Date in ISO 8601 format, e.g. 2024-01-01</p>",
      "pattern":"\\d{4}-\\d{2}-\\d{2}"
    },
    "Iso8601Duration":{
      "type":"string",
      "documentation":"<p>Time duration in ISO 8601 format</p>",
      "max":50,
      "min":0,
      "pattern":"P(?:([-+]?[0-9]+)D)?(T(?:([-+]?[0-9]+)H)?(?:([-+]?[0-9]+)M)?(?:([-+]?[0-9]+)(?:[.,]([0-9]{0,9}))?S)?)?"
    },
    "Iso8601Time":{
      "type":"string",
      "documentation":"<p>Time in ISO 8601 format, e.g. T23:11</p>",
      "pattern":"T\\d{2}:\\d{2}"
    },
    "LambdaArn":{
      "type":"string",
      "documentation":"<p>Lambda ARN for integration with Connect instances</p>",
      "max":140,
      "min":1,
      "pattern":"arn:aws[a-zA-Z-]*:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:function:([a-zA-Z0-9-_]+)(:([a-zA-Z0-9-_]+))?"
    },
    "LambdaIntegrationConfig":{
      "type":"structure",
      "required":["functionArn"],
      "members":{
        "functionArn":{"shape":"LambdaArn"}
      },
      "documentation":"<p>Lambda integration config</p>"
    },
    "LambdaIntegrationIdentifier":{
      "type":"structure",
      "required":["functionArn"],
      "members":{
        "functionArn":{"shape":"LambdaArn"}
      },
      "documentation":"<p>Lambda integration identifier</p>"
    },
    "LambdaIntegrationSummary":{
      "type":"structure",
      "required":["functionArn"],
      "members":{
        "functionArn":{"shape":"LambdaArn"}
      },
      "documentation":"<p>Lambda integration summary</p>"
    },
    "ListCampaignsRequest":{
      "type":"structure",
      "members":{
        "maxResults":{"shape":"MaxResults"},
        "nextToken":{"shape":"NextToken"},
        "filters":{"shape":"CampaignFilters"}
      },
      "documentation":"<p>The request for ListCampaigns API.</p>"
    },
    "ListCampaignsResponse":{
      "type":"structure",
      "members":{
        "nextToken":{"shape":"NextToken"},
        "campaignSummaryList":{"shape":"CampaignSummaryList"}
      },
      "documentation":"<p>The response for ListCampaigns API.</p>"
    },
    "ListConnectInstanceIntegrationsRequest":{
      "type":"structure",
      "required":["connectInstanceId"],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "location":"querystring",
          "locationName":"nextToken"
        }
      },
      "documentation":"<p>The request for ListConnectInstanceIntegrations API.</p>"
    },
    "ListConnectInstanceIntegrationsResponse":{
      "type":"structure",
      "members":{
        "nextToken":{"shape":"NextToken"},
        "integrationSummaryList":{"shape":"IntegrationSummaryList"}
      },
      "documentation":"<p>The response for ListConnectInstanceIntegrations API.</p>"
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["arn"],
      "members":{
        "arn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"arn"
        }
      },
      "documentation":"<p>The request for ListTagsForResource API.</p>"
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{"shape":"TagMap"}
      },
      "documentation":"<p>The request for ListTagsForResource API.</p>"
    },
    "LocalTimeZoneConfig":{
      "type":"structure",
      "members":{
        "defaultTimeZone":{"shape":"TimeZone"},
        "localTimeZoneDetection":{"shape":"LocalTimeZoneDetection"}
      },
      "documentation":"<p>Local time zone config</p>"
    },
    "LocalTimeZoneDetection":{
      "type":"list",
      "member":{"shape":"LocalTimeZoneDetectionType"},
      "documentation":"<p>Local TimeZone Detection method list</p>"
    },
    "LocalTimeZoneDetectionType":{
      "type":"string",
      "documentation":"<p>Local TimeZone Detection method.</p>",
      "enum":[
        "ZIP_CODE",
        "AREA_CODE"
      ]
    },
    "MaxResults":{
      "type":"integer",
      "documentation":"<p>The maximum number of results to return per page.</p>",
      "box":true,
      "max":50,
      "min":1
    },
    "NextToken":{
      "type":"string",
      "documentation":"<p>The token for the next set of results.</p>",
      "max":1000,
      "min":0
    },
    "ObjectTypeName":{
      "type":"string",
      "documentation":"<p>Object type name</p>",
      "max":255,
      "min":1
    },
    "ObjectTypeNamesMap":{
      "type":"map",
      "key":{"shape":"EventType"},
      "value":{"shape":"ObjectTypeName"},
      "documentation":"<p>Object type names map.</p>"
    },
    "OpenHours":{
      "type":"structure",
      "members":{
        "dailyHours":{"shape":"DailyHours"}
      },
      "documentation":"<p>Open Hours config</p>",
      "union":true
    },
    "OutboundRequest":{
      "type":"structure",
      "required":[
        "clientToken",
        "expirationTime",
        "channelSubtypeParameters"
      ],
      "members":{
        "clientToken":{"shape":"ClientToken"},
        "expirationTime":{"shape":"TimeStamp"},
        "channelSubtypeParameters":{"shape":"ChannelSubtypeParameters"}
      },
      "documentation":"<p>An outbound request for a campaign.</p>"
    },
    "OutboundRequestList":{
      "type":"list",
      "member":{"shape":"OutboundRequest"},
      "documentation":"<p>A list of outbound requests.</p>",
      "max":25,
      "min":1
    },
    "PauseCampaignRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for PauseCampaign API.</p>"
    },
    "PredictiveConfig":{
      "type":"structure",
      "required":["bandwidthAllocation"],
      "members":{
        "bandwidthAllocation":{"shape":"BandwidthAllocation"}
      },
      "documentation":"<p>Predictive config</p>"
    },
    "PreviewConfig":{
      "type":"structure",
      "required":[
        "bandwidthAllocation",
        "timeoutConfig"
      ],
      "members":{
        "bandwidthAllocation":{"shape":"BandwidthAllocation"},
        "timeoutConfig":{"shape":"TimeoutConfig"},
        "agentActions":{"shape":"AgentActions"}
      },
      "documentation":"<p>Preview config</p>"
    },
    "ProfileId":{
      "type":"string",
      "documentation":"<p>Identifier of the customer profile</p>",
      "pattern":"[a-f0-9]{32}"
    },
    "ProfileOutboundRequest":{
      "type":"structure",
      "required":[
        "clientToken",
        "profileId"
      ],
      "members":{
        "clientToken":{"shape":"ClientToken"},
        "profileId":{"shape":"ProfileId"},
        "expirationTime":{"shape":"TimeStamp"}
      },
      "documentation":"<p>Information about a profile outbound request</p>"
    },
    "ProfileOutboundRequestFailureCode":{
      "type":"string",
      "documentation":"<p>Predefined code indicating the error that caused the failure</p>",
      "enum":[
        "UnknownError",
        "ResourceNotFound",
        "Conflict",
        "RequestThrottled",
        "InvalidInput"
      ]
    },
    "ProfileOutboundRequestId":{
      "type":"string",
      "documentation":"<p>Identifier of the profile outbound request</p>",
      "max":256,
      "min":0,
      "pattern":"[a-zA-Z0-9_\\-.]*"
    },
    "ProfileOutboundRequestList":{
      "type":"list",
      "member":{"shape":"ProfileOutboundRequest"},
      "documentation":"<p>List of profile outbound requests</p>",
      "max":20,
      "min":1
    },
    "ProgressiveConfig":{
      "type":"structure",
      "required":["bandwidthAllocation"],
      "members":{
        "bandwidthAllocation":{"shape":"BandwidthAllocation"}
      },
      "documentation":"<p>Progressive config</p>"
    },
    "PutConnectInstanceIntegrationRequest":{
      "type":"structure",
      "required":[
        "connectInstanceId",
        "integrationConfig"
      ],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        },
        "integrationConfig":{"shape":"IntegrationConfig"}
      },
      "documentation":"<p>The request for PutConnectInstanceIntegration API.</p>"
    },
    "PutInstanceCommunicationLimitsRequest":{
      "type":"structure",
      "required":[
        "connectInstanceId",
        "communicationLimitsConfig"
      ],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        },
        "communicationLimitsConfig":{"shape":"InstanceCommunicationLimitsConfig"}
      },
      "documentation":"<p>The request for PutInstanceCommunicationLimits API.</p>"
    },
    "PutOutboundRequestBatchRequest":{
      "type":"structure",
      "required":[
        "id",
        "outboundRequests"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "outboundRequests":{"shape":"OutboundRequestList"}
      },
      "documentation":"<p>The request for PutOutboundRequestBatch API.</p>"
    },
    "PutOutboundRequestBatchResponse":{
      "type":"structure",
      "members":{
        "successfulRequests":{"shape":"SuccessfulRequestList"},
        "failedRequests":{"shape":"FailedRequestList"}
      },
      "documentation":"<p>The response for PutOutboundRequestBatch API.</p>"
    },
    "PutProfileOutboundRequestBatchRequest":{
      "type":"structure",
      "required":[
        "id",
        "profileOutboundRequests"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "profileOutboundRequests":{"shape":"ProfileOutboundRequestList"}
      },
      "documentation":"<p>The request for PutProfileOutboundRequestBatch API</p>"
    },
    "PutProfileOutboundRequestBatchResponse":{
      "type":"structure",
      "members":{
        "successfulRequests":{"shape":"SuccessfulProfileOutboundRequestList"},
        "failedRequests":{"shape":"FailedProfileOutboundRequestList"}
      },
      "documentation":"<p>The response for PutProfileOutboundRequestBatch API</p>"
    },
    "QConnectIntegrationConfig":{
      "type":"structure",
      "required":["knowledgeBaseArn"],
      "members":{
        "knowledgeBaseArn":{"shape":"Arn"}
      },
      "documentation":"<p>Q Connect integration config</p>"
    },
    "QConnectIntegrationIdentifier":{
      "type":"structure",
      "required":["knowledgeBaseArn"],
      "members":{
        "knowledgeBaseArn":{"shape":"Arn"}
      },
      "documentation":"<p>Q Connect integration identifier</p>"
    },
    "QConnectIntegrationSummary":{
      "type":"structure",
      "required":["knowledgeBaseArn"],
      "members":{
        "knowledgeBaseArn":{"shape":"Arn"}
      },
      "documentation":"<p>Q Connect integration summary</p>"
    },
    "QueueId":{
      "type":"string",
      "documentation":"<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>",
      "max":500,
      "min":0
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>The specified resource was not found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "RestrictedPeriod":{
      "type":"structure",
      "required":[
        "startDate",
        "endDate"
      ],
      "members":{
        "name":{"shape":"RestrictedPeriodName"},
        "startDate":{"shape":"Iso8601Date"},
        "endDate":{"shape":"Iso8601Date"}
      },
      "documentation":"<p>Restricted period</p>"
    },
    "RestrictedPeriodList":{
      "type":"list",
      "member":{"shape":"RestrictedPeriod"},
      "documentation":"<p>List of restricted period</p>"
    },
    "RestrictedPeriodName":{
      "type":"string",
      "documentation":"<p>The name of a restricted period.</p>",
      "max":127,
      "min":1
    },
    "RestrictedPeriods":{
      "type":"structure",
      "members":{
        "restrictedPeriodList":{"shape":"RestrictedPeriodList"}
      },
      "documentation":"<p>Restricted period config</p>",
      "union":true
    },
    "ResumeCampaignRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for ResumeCampaign API.</p>"
    },
    "RingTimeout":{
      "type":"integer",
      "documentation":"<p>Ring timeout for outbound calls</p>",
      "box":true,
      "max":60,
      "min":15
    },
    "Schedule":{
      "type":"structure",
      "required":[
        "startTime",
        "endTime"
      ],
      "members":{
        "startTime":{"shape":"TimeStamp"},
        "endTime":{"shape":"TimeStamp"},
        "refreshFrequency":{"shape":"Iso8601Duration"}
      },
      "documentation":"<p>Campaign schedule</p>"
    },
    "ServiceLinkedRoleArn":{
      "type":"string",
      "documentation":"<p>Service linked role arn</p>",
      "max":256,
      "min":0
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>Request would cause a service quota to be exceeded.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SmsChannelSubtypeConfig":{
      "type":"structure",
      "required":[
        "outboundMode",
        "defaultOutboundConfig"
      ],
      "members":{
        "capacity":{"shape":"Capacity"},
        "outboundMode":{"shape":"SmsOutboundMode"},
        "defaultOutboundConfig":{"shape":"SmsOutboundConfig"}
      },
      "documentation":"<p>SMS Channel Subtype config</p>"
    },
    "SmsChannelSubtypeParameters":{
      "type":"structure",
      "required":[
        "destinationPhoneNumber",
        "templateParameters"
      ],
      "members":{
        "destinationPhoneNumber":{"shape":"DestinationPhoneNumber"},
        "connectSourcePhoneNumberArn":{"shape":"Arn"},
        "templateArn":{"shape":"Arn"},
        "templateParameters":{"shape":"Attributes"}
      },
      "documentation":"<p>Parameters for the SMS Channel Subtype</p>"
    },
    "SmsOutboundConfig":{
      "type":"structure",
      "required":[
        "connectSourcePhoneNumberArn",
        "wisdomTemplateArn"
      ],
      "members":{
        "connectSourcePhoneNumberArn":{"shape":"Arn"},
        "wisdomTemplateArn":{"shape":"Arn"}
      },
      "documentation":"<p>Default SMS Outbound config</p>"
    },
    "SmsOutboundMode":{
      "type":"structure",
      "members":{
        "agentless":{"shape":"AgentlessConfig"}
      },
      "documentation":"<p>SMS Outbound Mode</p>",
      "union":true
    },
    "Source":{
      "type":"structure",
      "members":{
        "customerProfilesSegmentArn":{"shape":"Arn"},
        "eventTrigger":{"shape":"EventTrigger"}
      },
      "documentation":"<p>Source of the campaign</p>",
      "union":true
    },
    "SourcePhoneNumber":{
      "type":"string",
      "documentation":"<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>",
      "max":100,
      "min":0
    },
    "StartCampaignRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for StartCampaign API.</p>"
    },
    "StartInstanceOnboardingJobRequest":{
      "type":"structure",
      "required":[
        "connectInstanceId",
        "encryptionConfig"
      ],
      "members":{
        "connectInstanceId":{
          "shape":"InstanceId",
          "location":"uri",
          "locationName":"connectInstanceId"
        },
        "encryptionConfig":{"shape":"EncryptionConfig"}
      },
      "documentation":"<p>The request for StartInstanceOnboardingJob API.</p>"
    },
    "StartInstanceOnboardingJobResponse":{
      "type":"structure",
      "members":{
        "connectInstanceOnboardingJobStatus":{"shape":"InstanceOnboardingJobStatus"}
      },
      "documentation":"<p>The response for StartInstanceOnboardingJob API.</p>"
    },
    "StopCampaignRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        }
      },
      "documentation":"<p>The request for StopCampaign API.</p>"
    },
    "String":{"type":"string"},
    "SuccessfulCampaignStateResponse":{
      "type":"structure",
      "members":{
        "campaignId":{"shape":"CampaignId"},
        "state":{"shape":"CampaignState"}
      },
      "documentation":"<p>Successful response of campaign state</p>"
    },
    "SuccessfulCampaignStateResponseList":{
      "type":"list",
      "member":{"shape":"SuccessfulCampaignStateResponse"},
      "documentation":"<p>List of successful response of campaign state</p>",
      "max":25,
      "min":0
    },
    "SuccessfulProfileOutboundRequest":{
      "type":"structure",
      "members":{
        "clientToken":{"shape":"ClientToken"},
        "id":{"shape":"ProfileOutboundRequestId"}
      },
      "documentation":"<p>Success details for a profile outbound request</p>"
    },
    "SuccessfulProfileOutboundRequestList":{
      "type":"list",
      "member":{"shape":"SuccessfulProfileOutboundRequest"},
      "documentation":"<p>List of successful profile outbound requests</p>",
      "max":20,
      "min":0
    },
    "SuccessfulRequest":{
      "type":"structure",
      "members":{
        "clientToken":{"shape":"ClientToken"},
        "id":{"shape":"DialRequestId"}
      },
      "documentation":"<p>A successful request identified by the unique client token.</p>"
    },
    "SuccessfulRequestList":{
      "type":"list",
      "member":{"shape":"SuccessfulRequest"},
      "documentation":"<p>A list of successful requests identified by the unique client token.</p>",
      "max":25,
      "min":0
    },
    "TagKey":{
      "type":"string",
      "documentation":"<p>The key of tag.</p>",
      "max":128,
      "min":1,
      "pattern":"(?!aws:)[a-zA-Z+-=._:/]+"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "documentation":"<p>List of tag keys.</p>",
      "max":50,
      "min":0
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "documentation":"<p>Tag map with key and value.</p>"
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "arn",
        "tags"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"arn"
        },
        "tags":{"shape":"TagMap"}
      },
      "documentation":"<p>The request for TagResource API.</p>"
    },
    "TagValue":{
      "type":"string",
      "documentation":"<p>The value of tag.</p>",
      "max":256,
      "min":0
    },
    "TelephonyChannelSubtypeConfig":{
      "type":"structure",
      "required":[
        "outboundMode",
        "defaultOutboundConfig"
      ],
      "members":{
        "capacity":{"shape":"Capacity"},
        "connectQueueId":{"shape":"QueueId"},
        "outboundMode":{"shape":"TelephonyOutboundMode"},
        "defaultOutboundConfig":{"shape":"TelephonyOutboundConfig"}
      },
      "documentation":"<p>Telephony Channel Subtype config</p>"
    },
    "TelephonyChannelSubtypeParameters":{
      "type":"structure",
      "required":[
        "destinationPhoneNumber",
        "attributes"
      ],
      "members":{
        "destinationPhoneNumber":{"shape":"DestinationPhoneNumber"},
        "attributes":{"shape":"Attributes"},
        "connectSourcePhoneNumber":{"shape":"SourcePhoneNumber"},
        "answerMachineDetectionConfig":{"shape":"AnswerMachineDetectionConfig"},
        "ringTimeout":{"shape":"RingTimeout"}
      },
      "documentation":"<p>Parameters for the Telephony Channel Subtype</p>"
    },
    "TelephonyOutboundConfig":{
      "type":"structure",
      "required":["connectContactFlowId"],
      "members":{
        "connectContactFlowId":{"shape":"ContactFlowId"},
        "connectSourcePhoneNumber":{"shape":"SourcePhoneNumber"},
        "answerMachineDetectionConfig":{"shape":"AnswerMachineDetectionConfig"},
        "ringTimeout":{"shape":"RingTimeout"}
      },
      "documentation":"<p>Default Telephony Outbound config</p>"
    },
    "TelephonyOutboundMode":{
      "type":"structure",
      "members":{
        "progressive":{"shape":"ProgressiveConfig"},
        "predictive":{"shape":"PredictiveConfig"},
        "agentless":{"shape":"AgentlessConfig"},
        "preview":{"shape":"PreviewConfig"}
      },
      "documentation":"<p>Telephony Outbound Mode</p>",
      "union":true
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>The request was denied due to request throttling.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "TimeRange":{
      "type":"structure",
      "required":[
        "startTime",
        "endTime"
      ],
      "members":{
        "startTime":{"shape":"Iso8601Time"},
        "endTime":{"shape":"Iso8601Time"}
      },
      "documentation":"<p>Time range in 24 hour format</p>"
    },
    "TimeRangeList":{
      "type":"list",
      "member":{"shape":"TimeRange"},
      "documentation":"<p>List of time range</p>"
    },
    "TimeStamp":{
      "type":"timestamp",
      "documentation":"<p>Timestamp with no UTC offset or timezone</p>",
      "timestampFormat":"iso8601"
    },
    "TimeWindow":{
      "type":"structure",
      "required":["openHours"],
      "members":{
        "openHours":{"shape":"OpenHours"},
        "restrictedPeriods":{"shape":"RestrictedPeriods"}
      },
      "documentation":"<p>Time window config</p>"
    },
    "TimeZone":{
      "type":"string",
      "documentation":"<p>Time Zone Id in the IANA format</p>",
      "max":50,
      "min":0,
      "pattern":"[a-zA-Z0-9_\\-/]*"
    },
    "TimeoutConfig":{
      "type":"structure",
      "required":["durationInSeconds"],
      "members":{
        "durationInSeconds":{"shape":"TimeoutDuration"}
      },
      "documentation":"<p>Timeout Config for preview contacts.</p>"
    },
    "TimeoutDuration":{
      "type":"integer",
      "documentation":"<p>Timeout duration for a preview contact in seconds.</p>",
      "box":true,
      "max":300,
      "min":1
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "arn",
        "tagKeys"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "location":"uri",
          "locationName":"arn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      },
      "documentation":"<p>The request for UntagResource API.</p>"
    },
    "UpdateCampaignChannelSubtypeConfigRequest":{
      "type":"structure",
      "required":[
        "id",
        "channelSubtypeConfig"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "channelSubtypeConfig":{"shape":"ChannelSubtypeConfig"}
      },
      "documentation":"<p>The request for UpdateCampaignChannelSubtypeConfig API.</p>"
    },
    "UpdateCampaignCommunicationLimitsRequest":{
      "type":"structure",
      "required":[
        "id",
        "communicationLimitsOverride"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "communicationLimitsOverride":{"shape":"CommunicationLimitsConfig"}
      },
      "documentation":"<p>The request for UpdateCampaignCommunicationLimits API.</p>"
    },
    "UpdateCampaignCommunicationTimeRequest":{
      "type":"structure",
      "required":[
        "id",
        "communicationTimeConfig"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "communicationTimeConfig":{"shape":"CommunicationTimeConfig"}
      },
      "documentation":"<p>The request for UpdateCampaignCommunicationTime API.</p>"
    },
    "UpdateCampaignFlowAssociationRequest":{
      "type":"structure",
      "required":[
        "id",
        "connectCampaignFlowArn"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "connectCampaignFlowArn":{"shape":"Arn"}
      },
      "documentation":"<p>The request for UpdateCampaignFlowAssociation API.</p>"
    },
    "UpdateCampaignNameRequest":{
      "type":"structure",
      "required":[
        "id",
        "name"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "name":{"shape":"CampaignName"}
      },
      "documentation":"<p>The request for UpdateCampaignName API.</p>"
    },
    "UpdateCampaignScheduleRequest":{
      "type":"structure",
      "required":[
        "id",
        "schedule"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "schedule":{"shape":"Schedule"}
      },
      "documentation":"<p>The request for UpdateCampaignSchedule API.</p>"
    },
    "UpdateCampaignSourceRequest":{
      "type":"structure",
      "required":[
        "id",
        "source"
      ],
      "members":{
        "id":{
          "shape":"CampaignId",
          "location":"uri",
          "locationName":"id"
        },
        "source":{"shape":"Source"}
      },
      "documentation":"<p>The request for UpdateCampaignSource API.</p>"
    },
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "xAmzErrorType":{
          "shape":"XAmazonErrorType",
          "location":"header",
          "locationName":"x-amzn-ErrorType"
        }
      },
      "documentation":"<p>The input fails to satisfy the constraints specified by an AWS service.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "WhatsAppChannelSubtypeConfig":{
      "type":"structure",
      "required":[
        "outboundMode",
        "defaultOutboundConfig"
      ],
      "members":{
        "capacity":{"shape":"Capacity"},
        "outboundMode":{"shape":"WhatsAppOutboundMode"},
        "defaultOutboundConfig":{"shape":"WhatsAppOutboundConfig"}
      },
      "documentation":"<p>WhatsApp Channel Subtype config</p>"
    },
    "WhatsAppChannelSubtypeParameters":{
      "type":"structure",
      "required":[
        "destinationPhoneNumber",
        "templateParameters"
      ],
      "members":{
        "destinationPhoneNumber":{"shape":"DestinationPhoneNumber"},
        "connectSourcePhoneNumberArn":{"shape":"Arn"},
        "templateArn":{"shape":"Arn"},
        "templateParameters":{"shape":"Attributes"}
      },
      "documentation":"<p>Parameters for the WhatsApp Channel Subtype</p>"
    },
    "WhatsAppOutboundConfig":{
      "type":"structure",
      "required":[
        "connectSourcePhoneNumberArn",
        "wisdomTemplateArn"
      ],
      "members":{
        "connectSourcePhoneNumberArn":{"shape":"Arn"},
        "wisdomTemplateArn":{"shape":"Arn"}
      },
      "documentation":"<p>Default WhatsApp Outbound config</p>"
    },
    "WhatsAppOutboundMode":{
      "type":"structure",
      "members":{
        "agentless":{"shape":"AgentlessConfig"}
      },
      "documentation":"<p>WhatsApp Outbound Mode</p>",
      "union":true
    },
    "XAmazonErrorType":{
      "type":"string",
      "documentation":"<p>A header that defines the error encountered while processing the request.</p>"
    }
  },
  "documentation":"<p>Provide APIs to create and manage Amazon Connect Campaigns.</p>"
}
