{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2022-10-03",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"cases",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceAbbreviation":"ConnectCases",
    "serviceFullName":"Amazon Connect Cases",
    "serviceId":"ConnectCases",
    "signatureVersion":"v4",
    "signingName":"cases",
    "uid":"connectcases-2022-10-03"
  },
  "operations":{
    "BatchGetCaseRule":{
      "name":"BatchGetCaseRule",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/rules-batch",
        "responseCode":200
      },
      "input":{"shape":"BatchGetCaseRuleRequest"},
      "output":{"shape":"BatchGetCaseRuleResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Gets a batch of case rules. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "readonly":true
    },
    "BatchGetField":{
      "name":"BatchGetField",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/fields-batch",
        "responseCode":200
      },
      "input":{"shape":"BatchGetFieldRequest"},
      "output":{"shape":"BatchGetFieldResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns the description for the list of fields in the request parameters. </p>",
      "readonly":true
    },
    "BatchPutFieldOptions":{
      "name":"BatchPutFieldOptions",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/fields/{fieldId}/options",
        "responseCode":200
      },
      "input":{"shape":"BatchPutFieldOptionsRequest"},
      "output":{"shape":"BatchPutFieldOptionsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates and updates a set of field options for a single select field in a Cases domain.</p>",
      "idempotent":true
    },
    "CreateCase":{
      "name":"CreateCase",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/cases",
        "responseCode":200
      },
      "input":{"shape":"CreateCaseRequest"},
      "output":{"shape":"CreateCaseResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p><note> <p>If you provide a value for <code>PerformedBy.UserArn</code> you must also have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html\">connect:DescribeUser</a> permission on the User ARN resource that you provide</p> </note> <p>Creates a case in the specified Cases domain. Case system and custom fields are taken as an array id/value pairs with a declared data types.</p> <p>When creating a case from a template that has tag propagation configurations, the specified tags are automatically applied to the case.</p> <p>The following fields are required when creating a case:</p> <ul> <li> <p> <code>customer_id</code> - You must provide the full customer profile ARN in this format: <code>arn:aws:profile:your_AWS_Region:your_AWS_account ID:domains/your_profiles_domain_name/profiles/profile_ID</code> </p> </li> <li> <p> <code>title</code> </p> </li> </ul></p>",
      "idempotent":true
    },
    "CreateCaseRule":{
      "name":"CreateCaseRule",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/case-rules",
        "responseCode":200
      },
      "input":{"shape":"CreateCaseRuleRequest"},
      "output":{"shape":"CreateCaseRuleResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a new case rule. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "idempotent":true
    },
    "CreateDomain":{
      "name":"CreateDomain",
      "http":{
        "method":"POST",
        "requestUri":"/domains",
        "responseCode":200
      },
      "input":{"shape":"CreateDomainRequest"},
      "output":{"shape":"CreateDomainResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.</p> <important> <p>This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html\">CreateIntegrationAssociation</a> API. You need specific IAM permissions to successfully associate the Cases domain. For more information, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/required-permissions-iam-cases.html#onboard-cases-iam\">Onboard to Cases</a>.</p> </important>",
      "idempotent":true
    },
    "CreateField":{
      "name":"CreateField",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/fields",
        "responseCode":200
      },
      "input":{"shape":"CreateFieldRequest"},
      "output":{"shape":"CreateFieldResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a field in the Cases domain. This field is used to define the case object model (that is, defines what data can be captured on cases) in a Cases domain. </p>",
      "idempotent":true
    },
    "CreateLayout":{
      "name":"CreateLayout",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/layouts",
        "responseCode":200
      },
      "input":{"shape":"CreateLayoutRequest"},
      "output":{"shape":"CreateLayoutResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a layout in the Cases domain. Layouts define the following configuration in the top section and More Info tab of the Cases user interface:</p> <ul> <li> <p>Fields to display to the users</p> </li> <li> <p>Field ordering</p> </li> </ul> <note> <p>Title and Status fields cannot be part of layouts since they are not configurable.</p> </note>"
    },
    "CreateRelatedItem":{
      "name":"CreateRelatedItem",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/cases/{caseId}/related-items/",
        "responseCode":200
      },
      "input":{"shape":"CreateRelatedItemRequest"},
      "output":{"shape":"CreateRelatedItemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a related item (comments, tasks, and contacts) and associates it with a case.</p> <p>There's a quota for the number of fields allowed in a Custom type related item. See <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#cases-quotas\">Amazon Connect Cases quotas</a>.</p> <p> <b>Use cases</b> </p> <p>Following are examples of related items that you may want to associate with a case:</p> <ul> <li> <p>Related contacts, such as calls, chats, emails tasks</p> </li> <li> <p>Comments, for agent notes</p> </li> <li> <p>SLAs, to capture target resolution goals</p> </li> <li> <p>Cases, to capture related Amazon Connect Cases</p> </li> <li> <p>Files, such as policy documentation or customer-provided attachments</p> </li> <li> <p>Custom related items, which provide flexibility for you to define related items that such as bookings, orders, products, notices, and more</p> </li> </ul> <p> <b>Important things to know</b> </p> <ul> <li> <p>If you are associating a contact to a case by passing in <code>Contact</code> for a <code>type</code>, you must have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html\">DescribeContact</a> permission on the ARN of the contact that you provide in <code>content.contact.contactArn</code>.</p> </li> <li> <p>A Related Item is a resource that is associated with a case. It may or may not have an external identifier linking it to an external resource (for example, a <code>contactArn</code>). All Related Items have their own internal identifier, the <code>relatedItemArn</code>. Examples of related items include <code>comments</code> and <code>contacts</code>.</p> </li> <li> <p>If you provide a value for <code>performedBy.userArn</code> you must also have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html\">DescribeUser</a> permission on the ARN of the user that you provide.</p> </li> <li> <p>The <code>type</code> field is reserved for internal use only.</p> </li> </ul> <p> <b>Endpoints</b>: See <a href=\"https://docs.aws.amazon.com/general/latest/gr/connect_region.html\">Amazon Connect endpoints and quotas</a>.</p>",
      "idempotent":true
    },
    "CreateTemplate":{
      "name":"CreateTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/templates",
        "responseCode":200
      },
      "input":{"shape":"CreateTemplateRequest"},
      "output":{"shape":"CreateTemplateResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a template in the Cases domain. This template is used to define the case object model (that is, to define what data can be captured on cases) in a Cases domain. A template must have a unique name within a domain, and it must reference existing field IDs and layout IDs. Additionally, multiple fields with same IDs are not allowed within the same Template. A template can be either Active or Inactive, as indicated by its status. Inactive templates cannot be used to create cases.</p> <p> Other template APIs are: </p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html\">DeleteTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetTemplate.html\">GetTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_ListTemplates.html\">ListTemplates</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_UpdateTemplate.html\">UpdateTemplate</a> </p> </li> </ul>",
      "idempotent":true
    },
    "DeleteCase":{
      "name":"DeleteCase",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}/cases/{caseId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteCaseRequest"},
      "output":{"shape":"DeleteCaseResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p> The DeleteCase API permanently deletes a case and all its associated resources from the cases data store. After a successful deletion, you cannot:</p> <ul> <li> <p>Retrieve related items</p> </li> <li> <p>Access audit history</p> </li> <li> <p>Perform any operations that require the CaseID</p> </li> </ul> <important> <p>This action is irreversible. After you delete a case, you cannot recover its data.</p> </important>",
      "idempotent":true
    },
    "DeleteCaseRule":{
      "name":"DeleteCaseRule",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}/case-rules/{caseRuleId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteCaseRuleRequest"},
      "output":{"shape":"DeleteCaseRuleResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Deletes a case rule. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "idempotent":true
    },
    "DeleteDomain":{
      "name":"DeleteDomain",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteDomainRequest"},
      "output":{"shape":"DeleteDomainResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Deletes a Cases domain.</p> <note> <p>After deleting your domain you must disassociate the deleted domain from your Amazon Connect instance with another API call before being able to use Cases again with this Amazon Connect instance. See <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html\">DeleteIntegrationAssociation</a>.</p> </note>",
      "idempotent":true
    },
    "DeleteField":{
      "name":"DeleteField",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}/fields/{fieldId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteFieldRequest"},
      "output":{"shape":"DeleteFieldResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Deletes a field from a cases template.</p> <p>After a field is deleted:</p> <ul> <li> <p>You can still retrieve the field by calling <code>BatchGetField</code>.</p> </li> <li> <p>You cannot update a deleted field by calling <code>UpdateField</code>; it throws a <code>ValidationException</code>.</p> </li> <li> <p>Deleted fields are not included in the <code>ListFields</code> response.</p> </li> <li> <p>Calling <code>CreateCase</code> with a deleted field throws a <code>ValidationException</code> denoting which field identifiers in the request have been deleted.</p> </li> <li> <p>Calling <code>GetCase</code> with a deleted field identifier returns the deleted field's value if one exists.</p> </li> <li> <p>Calling <code>UpdateCase</code> with a deleted field ID throws a <code>ValidationException</code> if the case does not already contain a value for the deleted field. Otherwise it succeeds, allowing you to update or remove (using <code>emptyValue: {}</code>) the field's value from the case.</p> </li> <li> <p> <code>GetTemplate</code> does not return field IDs for deleted fields.</p> </li> <li> <p> <code>GetLayout</code> does not return field IDs for deleted fields.</p> </li> <li> <p>Calling <code>SearchCases</code> with the deleted field ID as a filter returns any cases that have a value for the deleted field that matches the filter criteria.</p> </li> <li> <p>Calling <code>SearchCases</code> with a <code>searchTerm</code> value that matches a deleted field's value on a case returns the case in the response.</p> </li> <li> <p>Calling <code>BatchPutFieldOptions</code> with a deleted field ID throw a <code>ValidationException</code>.</p> </li> <li> <p>Calling <code>GetCaseEventConfiguration</code> does not return field IDs for deleted fields.</p> </li> </ul>",
      "idempotent":true
    },
    "DeleteLayout":{
      "name":"DeleteLayout",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}/layouts/{layoutId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteLayoutRequest"},
      "output":{"shape":"DeleteLayoutResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Deletes a layout from a cases template. You can delete up to 100 layouts per domain.</p> <p>After a layout is deleted:</p> <ul> <li> <p>You can still retrieve the layout by calling <code>GetLayout</code>.</p> </li> <li> <p>You cannot update a deleted layout by calling <code>UpdateLayout</code>; it throws a <code>ValidationException</code>.</p> </li> <li> <p>Deleted layouts are not included in the <code>ListLayouts</code> response.</p> </li> </ul>",
      "idempotent":true
    },
    "DeleteRelatedItem":{
      "name":"DeleteRelatedItem",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}/cases/{caseId}/related-items/{relatedItemId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteRelatedItemRequest"},
      "output":{"shape":"DeleteRelatedItemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes the related item resource under a case.</p> <note> <p>This API cannot be used on a FILE type related attachment. To delete this type of file, use the <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteAttachedFile.html\">DeleteAttachedFile</a> API</p> </note>",
      "idempotent":true
    },
    "DeleteTemplate":{
      "name":"DeleteTemplate",
      "http":{
        "method":"DELETE",
        "requestUri":"/domains/{domainId}/templates/{templateId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteTemplateRequest"},
      "output":{"shape":"DeleteTemplateResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Deletes a cases template. You can delete up to 100 templates per domain.</p> <p>After a cases template is deleted:</p> <ul> <li> <p>You can still retrieve the template by calling <code>GetTemplate</code>.</p> </li> <li> <p>You cannot update the template. </p> </li> <li> <p>You cannot create a case by using the deleted template.</p> </li> <li> <p>Deleted templates are not included in the <code>ListTemplates</code> response.</p> </li> </ul>",
      "idempotent":true
    },
    "GetCase":{
      "name":"GetCase",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/cases/{caseId}",
        "responseCode":200
      },
      "input":{"shape":"GetCaseRequest"},
      "output":{"shape":"GetCaseResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns information about a specific case if it exists. </p>",
      "readonly":true
    },
    "GetCaseAuditEvents":{
      "name":"GetCaseAuditEvents",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/cases/{caseId}/audit-history",
        "responseCode":200
      },
      "input":{"shape":"GetCaseAuditEventsRequest"},
      "output":{"shape":"GetCaseAuditEventsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns the audit history about a specific case if it exists.</p>",
      "readonly":true
    },
    "GetCaseEventConfiguration":{
      "name":"GetCaseEventConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/case-event-configuration",
        "responseCode":200
      },
      "input":{"shape":"GetCaseEventConfigurationRequest"},
      "output":{"shape":"GetCaseEventConfigurationResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns the case event publishing configuration.</p>",
      "readonly":true
    },
    "GetDomain":{
      "name":"GetDomain",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}",
        "responseCode":200
      },
      "input":{"shape":"GetDomainRequest"},
      "output":{"shape":"GetDomainResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns information about a specific domain if it exists. </p>",
      "readonly":true
    },
    "GetLayout":{
      "name":"GetLayout",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/layouts/{layoutId}",
        "responseCode":200
      },
      "input":{"shape":"GetLayoutRequest"},
      "output":{"shape":"GetLayoutResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns the details for the requested layout.</p>",
      "readonly":true
    },
    "GetTemplate":{
      "name":"GetTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/templates/{templateId}",
        "responseCode":200
      },
      "input":{"shape":"GetTemplateRequest"},
      "output":{"shape":"GetTemplateResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Returns the details for the requested template. Other template APIs are: </p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateTemplate.html\">CreateTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html\">DeleteTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_ListTemplates.html\">ListTemplates</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_UpdateTemplate.html\">UpdateTemplate</a> </p> </li> </ul>",
      "readonly":true
    },
    "ListCaseRules":{
      "name":"ListCaseRules",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/rules-list/",
        "responseCode":200
      },
      "input":{"shape":"ListCaseRulesRequest"},
      "output":{"shape":"ListCaseRulesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all case rules in a Cases domain. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "readonly":true
    },
    "ListCasesForContact":{
      "name":"ListCasesForContact",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/list-cases-for-contact",
        "responseCode":200
      },
      "input":{"shape":"ListCasesForContactRequest"},
      "output":{"shape":"ListCasesForContactResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists cases for a given contact.</p>",
      "readonly":true
    },
    "ListDomains":{
      "name":"ListDomains",
      "http":{
        "method":"POST",
        "requestUri":"/domains-list",
        "responseCode":200
      },
      "input":{"shape":"ListDomainsRequest"},
      "output":{"shape":"ListDomainsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all cases domains in the Amazon Web Services account. Each list item is a condensed summary object of the domain.</p>",
      "readonly":true
    },
    "ListFieldOptions":{
      "name":"ListFieldOptions",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/fields/{fieldId}/options-list",
        "responseCode":200
      },
      "input":{"shape":"ListFieldOptionsRequest"},
      "output":{"shape":"ListFieldOptionsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all of the field options for a field identifier in the domain. </p>",
      "readonly":true
    },
    "ListFields":{
      "name":"ListFields",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/fields-list",
        "responseCode":200
      },
      "input":{"shape":"ListFieldsRequest"},
      "output":{"shape":"ListFieldsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all fields in a Cases domain.</p>",
      "readonly":true
    },
    "ListLayouts":{
      "name":"ListLayouts",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/layouts-list",
        "responseCode":200
      },
      "input":{"shape":"ListLayoutsRequest"},
      "output":{"shape":"ListLayoutsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all layouts in the given cases domain. Each list item is a condensed summary object of the layout.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{arn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists tags for a resource.</p>",
      "idempotent":true
    },
    "ListTemplates":{
      "name":"ListTemplates",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/templates-list",
        "responseCode":200
      },
      "input":{"shape":"ListTemplatesRequest"},
      "output":{"shape":"ListTemplatesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all of the templates in a Cases domain. Each list item is a condensed summary object of the template. </p> <p> Other template APIs are: </p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateTemplate.html\">CreateTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html\">DeleteTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetTemplate.html\">GetTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_UpdateTemplate.html\">UpdateTemplate</a> </p> </li> </ul>",
      "readonly":true
    },
    "PutCaseEventConfiguration":{
      "name":"PutCaseEventConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/case-event-configuration",
        "responseCode":200
      },
      "input":{"shape":"PutCaseEventConfigurationRequest"},
      "output":{"shape":"PutCaseEventConfigurationResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Adds case event publishing configuration. For a complete list of fields you can add to the event message, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-fields.html\">Create case fields</a> in the <i>Amazon Connect Administrator Guide</i> </p>"
    },
    "SearchAllRelatedItems":{
      "name":"SearchAllRelatedItems",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/related-items-search",
        "responseCode":200
      },
      "input":{"shape":"SearchAllRelatedItemsRequest"},
      "output":{"shape":"SearchAllRelatedItemsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Searches for related items across all cases within a domain. This is a global search operation that returns related items from multiple cases, unlike the case-specific <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_SearchRelatedItems.html\">SearchRelatedItems</a> API.</p> <p> <b>Use cases</b> </p> <p>Following are common uses cases for this API:</p> <ul> <li> <p>Find cases with similar issues across the domain. For example, search for all cases containing comments about \"product defect\" to identify patterns and existing solutions.</p> </li> <li> <p>Locate all cases associated with specific contacts or orders. For example, find all cases linked to a contactArn to understand the complete customer journey. </p> </li> <li> <p>Monitor SLA compliance across cases. For example, search for all cases with \"Active\" SLA status to prioritize remediation efforts.</p> </li> </ul> <p> <b>Important things to know</b> </p> <ul> <li> <p>This API returns case identifiers, not complete case objects. To retrieve full case details, you must make additional calls to the <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetCase.html\">GetCase</a> API for each returned case ID. </p> </li> <li> <p>This API searches across related items content, not case fields. Use the <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_SearchCases.html\">SearchCases</a> API to search within case field values.</p> </li> </ul> <p> <b>Endpoints</b>: See <a href=\"https://docs.aws.amazon.com/general/latest/gr/connect_region.html\">Amazon Connect endpoints and quotas</a>.</p>",
      "readonly":true
    },
    "SearchCases":{
      "name":"SearchCases",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/cases-search",
        "responseCode":200
      },
      "input":{"shape":"SearchCasesRequest"},
      "output":{"shape":"SearchCasesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Searches for cases within their associated Cases domain. Search results are returned as a paginated list of abridged case documents.</p> <note> <p>For <code>customer_id</code> you must provide the full customer profile ARN in this format: <code> arn:aws:profile:your AWS Region:your AWS account ID:domains/profiles domain name/profiles/profile ID</code>. </p> </note>",
      "readonly":true
    },
    "SearchRelatedItems":{
      "name":"SearchRelatedItems",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/cases/{caseId}/related-items-search",
        "responseCode":200
      },
      "input":{"shape":"SearchRelatedItemsRequest"},
      "output":{"shape":"SearchRelatedItemsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Searches for related items that are associated with a case.</p> <note> <p>If no filters are provided, this returns all related items associated with a case.</p> </note>",
      "readonly":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{arn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Adds tags to a resource.</p>",
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{arn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Untags a resource.</p>",
      "idempotent":true
    },
    "UpdateCase":{
      "name":"UpdateCase",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/cases/{caseId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateCaseRequest"},
      "output":{"shape":"UpdateCaseResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p><note> <p>If you provide a value for <code>PerformedBy.UserArn</code> you must also have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html\">connect:DescribeUser</a> permission on the User ARN resource that you provide</p> </note> <p>Updates the values of fields on a case. Fields to be updated are received as an array of id/value pairs identical to the <code>CreateCase</code> input .</p> <p>If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.</p></p>"
    },
    "UpdateCaseRule":{
      "name":"UpdateCaseRule",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/case-rules/{caseRuleId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateCaseRuleRequest"},
      "output":{"shape":"UpdateCaseRuleResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates a case rule. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "idempotent":true
    },
    "UpdateField":{
      "name":"UpdateField",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/fields/{fieldId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateFieldRequest"},
      "output":{"shape":"UpdateFieldResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Updates the properties of an existing field. </p>",
      "idempotent":true
    },
    "UpdateLayout":{
      "name":"UpdateLayout",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/layouts/{layoutId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateLayoutRequest"},
      "output":{"shape":"UpdateLayoutResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates the attributes of an existing layout.</p> <p>If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.</p> <p>A <code>ValidationException</code> is returned when you add non-existent <code>fieldIds</code> to a layout.</p> <note> <p>Title and Status fields cannot be part of layouts because they are not configurable.</p> </note>",
      "idempotent":true
    },
    "UpdateRelatedItem":{
      "name":"UpdateRelatedItem",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/cases/{caseId}/related-items/{relatedItemId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateRelatedItemRequest"},
      "output":{"shape":"UpdateRelatedItemResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates the content of a related item associated with a case. The following related item types are supported:</p> <ul> <li> <p> <b>Comment</b> - Update the text content of an existing comment</p> </li> <li> <p> <b>Custom</b> - Update the fields of a custom related item. You can add, modify, and remove fields from a custom related item. There's a quota for the number of fields allowed in a Custom type related item. See <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#cases-quotas\">Amazon Connect Cases quotas</a>.</p> </li> </ul> <p> <b>Important things to know</b> </p> <ul> <li> <p>When updating a Custom related item, all existing and new fields, and their associated values should be included in the request. Fields not included as part of this request will be removed.</p> </li> <li> <p>If you provide a value for <code>performedBy.userArn</code> you must also have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html\">DescribeUser</a> permission on the ARN of the user that you provide.</p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-fields.html#system-case-fields\">System case fields</a> cannot be used in a custom related item.</p> </li> </ul> <p> <b>Endpoints</b>: See <a href=\"https://docs.aws.amazon.com/general/latest/gr/connect_region.html\">Amazon Connect endpoints and quotas</a>.</p>",
      "idempotent":true
    },
    "UpdateTemplate":{
      "name":"UpdateTemplate",
      "http":{
        "method":"PUT",
        "requestUri":"/domains/{domainId}/templates/{templateId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateTemplateRequest"},
      "output":{"shape":"UpdateTemplateResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates the attributes of an existing template. The template attributes that can be modified include <code>name</code>, <code>description</code>, <code>layoutConfiguration</code>, <code>requiredFields</code>, and <code>status</code>. At least one of these attributes must not be null. If a null value is provided for a given attribute, that attribute is ignored and its current value is preserved.</p> <p>Other template APIs are:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateTemplate.html\">CreateTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_DeleteTemplate.html\">DeleteTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetTemplate.html\">GetTemplate</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_ListTemplates.html\">ListTemplates</a> </p> </li> </ul>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "Arn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "AssociationTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "AuditEvent":{
      "type":"structure",
      "required":[
        "eventId",
        "type",
        "performedTime",
        "fields"
      ],
      "members":{
        "eventId":{
          "shape":"AuditEventId",
          "documentation":"<p>Unique identifier of a case audit history event.</p>"
        },
        "type":{
          "shape":"AuditEventType",
          "documentation":"<p>The type of audit history event.</p> <p>Valid Values: <code>Case.Created</code> | <code>Case.Updated</code> | <code>RelatedItem.Created</code> | <code>RelatedItem.Updated</code> | <code>RelatedItem.Deleted</code> </p>"
        },
        "relatedItemType":{
          "shape":"RelatedItemType",
          "documentation":"<p>The Type of the related item.</p>"
        },
        "performedTime":{
          "shape":"AuditEventDateTime",
          "documentation":"<p>Time at which an Audit History event took place.</p>"
        },
        "fields":{
          "shape":"AuditEventFieldList",
          "documentation":"<p>A list of Case Audit History event fields.</p>"
        },
        "performedBy":{
          "shape":"AuditEventPerformedBy",
          "documentation":"<p>Information of the user which performed the audit.</p>"
        }
      },
      "documentation":"<p>Represents the content of a particular audit event.</p>"
    },
    "AuditEventDateTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "AuditEventField":{
      "type":"structure",
      "required":[
        "eventFieldId",
        "newValue"
      ],
      "members":{
        "eventFieldId":{
          "shape":"AuditEventFieldId",
          "documentation":"<p>Unique identifier of field in an Audit History entry.</p>"
        },
        "oldValue":{
          "shape":"AuditEventFieldValueUnion",
          "documentation":"<p>Union of potential field value types.</p>"
        },
        "newValue":{
          "shape":"AuditEventFieldValueUnion",
          "documentation":"<p>Union of potential field value types.</p>"
        }
      },
      "documentation":"<p>Fields for audit event.</p>"
    },
    "AuditEventFieldId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "AuditEventFieldList":{
      "type":"list",
      "member":{"shape":"AuditEventField"},
      "sparse":true
    },
    "AuditEventFieldValueUnion":{
      "type":"structure",
      "members":{
        "stringValue":{
          "shape":"AuditEventFieldValueUnionStringValueString",
          "documentation":"<p>Can be either null, or have a String value type. Only one value can be provided.</p>"
        },
        "doubleValue":{
          "shape":"Double",
          "documentation":"<p>Can be either null, or have a Double value type. Only one value can be provided.</p>"
        },
        "booleanValue":{
          "shape":"Boolean",
          "documentation":"<p>Can be either null, or have a Boolean value type. Only one value can be provided.</p>"
        },
        "emptyValue":{"shape":"EmptyFieldValue"},
        "userArnValue":{
          "shape":"String",
          "documentation":"<p>Can be either null, or have a String value type formatted as an ARN. Only one value can be provided.</p>"
        }
      },
      "documentation":"<p>Object to store union of Field values.</p>",
      "union":true
    },
    "AuditEventFieldValueUnionStringValueString":{
      "type":"string",
      "max":4100,
      "min":0
    },
    "AuditEventId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "AuditEventPerformedBy":{
      "type":"structure",
      "required":["iamPrincipalArn"],
      "members":{
        "user":{"shape":"UserUnion"},
        "iamPrincipalArn":{
          "shape":"IamPrincipalArn",
          "documentation":"<p>Unique identifier of an IAM role.</p>"
        }
      },
      "documentation":"<p>Information of the user which performed the audit.</p>"
    },
    "AuditEventType":{
      "type":"string",
      "enum":[
        "Case.Created",
        "Case.Updated",
        "RelatedItem.Created",
        "RelatedItem.Deleted",
        "RelatedItem.Updated"
      ]
    },
    "BasicLayout":{
      "type":"structure",
      "members":{
        "topPanel":{
          "shape":"LayoutSections",
          "documentation":"<p>This represents sections in a panel of the page layout.</p>"
        },
        "moreInfo":{
          "shape":"LayoutSections",
          "documentation":"<p>This represents sections in a tab of the page layout.</p>"
        }
      },
      "documentation":"<p>Content specific to <code>BasicLayout</code> type. It configures fields in the top panel and More Info tab of agent application. </p>"
    },
    "BatchGetCaseRuleRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseRules"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>Unique identifier of a Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseRules":{
          "shape":"CaseRuleIdentifierList",
          "documentation":"<p>A list of case rule identifiers.</p>"
        }
      }
    },
    "BatchGetCaseRuleResponse":{
      "type":"structure",
      "required":[
        "caseRules",
        "errors"
      ],
      "members":{
        "caseRules":{
          "shape":"BatchGetCaseRuleResponseCaseRulesList",
          "documentation":"<p>A list of detailed case rule information.</p>"
        },
        "errors":{
          "shape":"BatchGetCaseRuleResponseErrorsList",
          "documentation":"<p>A list of case rule errors.</p>"
        },
        "unprocessedCaseRules":{
          "shape":"BatchGetCaseRuleResponseUnprocessedCaseRulesList",
          "documentation":"<p>A list of unprocessed case rule identifiers.</p>"
        }
      }
    },
    "BatchGetCaseRuleResponseCaseRulesList":{
      "type":"list",
      "member":{"shape":"GetCaseRuleResponse"},
      "max":50,
      "min":0
    },
    "BatchGetCaseRuleResponseErrorsList":{
      "type":"list",
      "member":{"shape":"CaseRuleError"},
      "max":50,
      "min":0
    },
    "BatchGetCaseRuleResponseUnprocessedCaseRulesList":{
      "type":"list",
      "member":{"shape":"CaseRuleId"},
      "max":50,
      "min":0
    },
    "BatchGetFieldIdentifierList":{
      "type":"list",
      "member":{"shape":"FieldIdentifier"},
      "max":50,
      "min":1
    },
    "BatchGetFieldRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "fields"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "fields":{
          "shape":"BatchGetFieldIdentifierList",
          "documentation":"<p>A list of unique field identifiers. </p>"
        }
      }
    },
    "BatchGetFieldResponse":{
      "type":"structure",
      "required":[
        "fields",
        "errors"
      ],
      "members":{
        "fields":{
          "shape":"BatchGetFieldResponseFieldsList",
          "documentation":"<p>A list of detailed field information. </p>"
        },
        "errors":{
          "shape":"BatchGetFieldResponseErrorsList",
          "documentation":"<p>A list of field errors. </p>"
        }
      }
    },
    "BatchGetFieldResponseErrorsList":{
      "type":"list",
      "member":{"shape":"FieldError"},
      "max":50,
      "min":0
    },
    "BatchGetFieldResponseFieldsList":{
      "type":"list",
      "member":{"shape":"GetFieldResponse"},
      "max":50,
      "min":0
    },
    "BatchPutFieldOptionsRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "fieldId",
        "options"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>The unique identifier of a field.</p>",
          "location":"uri",
          "locationName":"fieldId"
        },
        "options":{
          "shape":"BatchPutFieldOptionsRequestOptionsList",
          "documentation":"<p>A list of <code>FieldOption</code> objects.</p>"
        }
      }
    },
    "BatchPutFieldOptionsRequestOptionsList":{
      "type":"list",
      "member":{"shape":"FieldOption"},
      "max":50,
      "min":0
    },
    "BatchPutFieldOptionsResponse":{
      "type":"structure",
      "members":{
        "errors":{
          "shape":"BatchPutFieldOptionsResponseErrorsList",
          "documentation":"<p>A list of field errors. </p>"
        }
      }
    },
    "BatchPutFieldOptionsResponseErrorsList":{
      "type":"list",
      "member":{"shape":"FieldOptionError"},
      "max":50,
      "min":0
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "BooleanCondition":{
      "type":"structure",
      "members":{
        "equalTo":{
          "shape":"BooleanOperands",
          "documentation":"<p>Tests that operandOne is equal to operandTwo.</p>"
        },
        "notEqualTo":{
          "shape":"BooleanOperands",
          "documentation":"<p>Tests that operandOne is not equal to operandTwo.</p>"
        },
        "andAll":{
          "shape":"CompoundCondition",
          "documentation":"<p>Combines multiple conditions with AND operator. All conditions must be true for the compound condition to be true.</p>"
        },
        "orAll":{
          "shape":"CompoundCondition",
          "documentation":"<p>Combines multiple conditions with OR operator. At least one condition must be true for the compound condition to be true.</p>"
        }
      },
      "documentation":"<p>Boolean condition for a rule. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "union":true
    },
    "BooleanConditionList":{
      "type":"list",
      "member":{"shape":"BooleanCondition"},
      "max":100,
      "min":0
    },
    "BooleanOperands":{
      "type":"structure",
      "required":[
        "operandOne",
        "operandTwo",
        "result"
      ],
      "members":{
        "operandOne":{
          "shape":"OperandOne",
          "documentation":"<p>Represents the left hand operand in the condition.</p>"
        },
        "operandTwo":{
          "shape":"OperandTwo",
          "documentation":"<p>Represents the right hand operand in the condition.</p>"
        },
        "result":{
          "shape":"Boolean",
          "documentation":"<p>The value of the outer rule if the condition evaluates to true.</p>"
        }
      },
      "documentation":"<p>Boolean operands for a condition. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "CaseArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "CaseEventIncludedData":{
      "type":"structure",
      "required":["fields"],
      "members":{
        "fields":{
          "shape":"CaseEventIncludedDataFieldsList",
          "documentation":"<p>List of field identifiers.</p>"
        }
      },
      "documentation":"<p>Details of what case data is published through the case event stream.</p>"
    },
    "CaseEventIncludedDataFieldsList":{
      "type":"list",
      "member":{"shape":"FieldIdentifier"},
      "max":400,
      "min":0
    },
    "CaseFilter":{
      "type":"structure",
      "members":{
        "field":{
          "shape":"FieldFilter",
          "documentation":"<p>A list of fields to filter on.</p>"
        },
        "not":{"shape":"CaseFilter"},
        "tag":{
          "shape":"TagFilter",
          "documentation":"<p>A list of tags to filter on.</p>"
        },
        "andAll":{
          "shape":"CaseFilterAndAllList",
          "documentation":"<p>Provides \"and all\" filtering.</p>"
        },
        "orAll":{
          "shape":"CaseFilterOrAllList",
          "documentation":"<p>Provides \"or all\" filtering.</p>"
        }
      },
      "documentation":"<p>A filter for cases. Only one value can be provided.</p>",
      "union":true
    },
    "CaseFilterAndAllList":{
      "type":"list",
      "member":{"shape":"CaseFilter"},
      "max":10,
      "min":0
    },
    "CaseFilterOrAllList":{
      "type":"list",
      "member":{"shape":"CaseFilter"},
      "max":10,
      "min":0
    },
    "CaseId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "CaseRuleArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "CaseRuleDescription":{
      "type":"string",
      "max":255,
      "min":0
    },
    "CaseRuleDetails":{
      "type":"structure",
      "members":{
        "required":{
          "shape":"RequiredCaseRule",
          "documentation":"<p>Required rule type, used to indicate whether a field is required.</p>"
        },
        "fieldOptions":{
          "shape":"FieldOptionsCaseRule",
          "documentation":"<p>Which options are available in a child field based on the selected value in a parent field.</p>"
        },
        "hidden":{
          "shape":"HiddenCaseRule",
          "documentation":"<p>Whether a field is visible, based on values in other fields.</p>"
        }
      },
      "documentation":"<p>Represents what rule type should take place, under what conditions. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "union":true
    },
    "CaseRuleError":{
      "type":"structure",
      "required":[
        "id",
        "errorCode"
      ],
      "members":{
        "id":{
          "shape":"CaseRuleId",
          "documentation":"<p>The case rule identifier that caused the error.</p>"
        },
        "errorCode":{
          "shape":"String",
          "documentation":"<p>Error code from getting a case rule.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>Error message from getting a case rule.</p>"
        }
      },
      "documentation":"<p>Error for batch describe case rules API failure. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "CaseRuleId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "CaseRuleIdentifier":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>"
        }
      },
      "documentation":"<p>Object containing case rule identifier information.</p>"
    },
    "CaseRuleIdentifierList":{
      "type":"list",
      "member":{"shape":"CaseRuleIdentifier"},
      "max":50,
      "min":1
    },
    "CaseRuleName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "CaseRuleSummary":{
      "type":"structure",
      "required":[
        "caseRuleId",
        "name",
        "caseRuleArn",
        "ruleType"
      ],
      "members":{
        "caseRuleId":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>"
        },
        "name":{
          "shape":"CaseRuleName",
          "documentation":"<p>Name of the case rule.</p>"
        },
        "caseRuleArn":{
          "shape":"CaseRuleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the case rule. </p>"
        },
        "ruleType":{
          "shape":"RuleType",
          "documentation":"<p>Possible types for a rule.</p>"
        },
        "description":{
          "shape":"CaseRuleDescription",
          "documentation":"<p>Description of a case rule.</p>"
        }
      },
      "documentation":"<p>Summary information of this case rule. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "CaseSummary":{
      "type":"structure",
      "required":[
        "caseId",
        "templateId"
      ],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>"
        }
      },
      "documentation":"<p>Case summary information.</p>"
    },
    "Channel":{
      "type":"string",
      "max":100,
      "min":1
    },
    "CommentBody":{
      "type":"string",
      "max":15000,
      "min":1
    },
    "CommentBodyTextType":{
      "type":"string",
      "enum":["Text/Plain"]
    },
    "CommentContent":{
      "type":"structure",
      "required":[
        "body",
        "contentType"
      ],
      "members":{
        "body":{
          "shape":"CommentBody",
          "documentation":"<p>Text in the body of a <code>Comment</code> on a case.</p>"
        },
        "contentType":{
          "shape":"CommentBodyTextType",
          "documentation":"<p>Type of the text in the box of a <code>Comment</code> on a case.</p>"
        }
      },
      "documentation":"<p>Represents the content of a <code>Comment</code> to be returned to agents.</p>"
    },
    "CommentFilter":{
      "type":"structure",
      "members":{},
      "documentation":"<p>A filter for related items of type <code>Comment</code>.</p>"
    },
    "CommentUpdateContent":{
      "type":"structure",
      "required":[
        "body",
        "contentType"
      ],
      "members":{
        "body":{
          "shape":"CommentBody",
          "documentation":"<p>Updated text in the body of a <code>Comment</code> on a case.</p>"
        },
        "contentType":{
          "shape":"CommentBodyTextType",
          "documentation":"<p>Type of the text in the box of a <code>Comment</code> on a case.</p>"
        }
      },
      "documentation":"<p>Represents the updated content of a <code>Comment</code> related item.</p>"
    },
    "CompoundCondition":{
      "type":"structure",
      "required":["conditions"],
      "members":{
        "conditions":{
          "shape":"BooleanConditionList",
          "documentation":"<p>The list of conditions to combine using the logical operator.</p> <note> <p>For API users: A case rule can have a maximum of 5 conditions, spread across a maximum of 2 levels of nesting.</p> </note>"
        }
      },
      "documentation":"<p>A compound condition that combines multiple boolean conditions using logical operators. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "ConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConnectCaseContent":{
      "type":"structure",
      "required":["caseId"],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        }
      },
      "documentation":"<p>Represents the content of a <code>ConnectCase</code> type related item.</p>"
    },
    "ConnectCaseFilter":{
      "type":"structure",
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        }
      },
      "documentation":"<p>A filter for related items of type <code>ConnectCase</code>.</p>"
    },
    "ConnectCaseInputContent":{
      "type":"structure",
      "required":["caseId"],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        }
      },
      "documentation":"<p>Represents the content of a <code>ConnectCase</code> related item.</p>"
    },
    "ConnectedToSystemTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "Contact":{
      "type":"structure",
      "required":["contactArn"],
      "members":{
        "contactArn":{
          "shape":"ContactArn",
          "documentation":"<p>A unique identifier of a contact in Amazon Connect.</p>"
        }
      },
      "documentation":"<p>An object that represents an Amazon Connect contact object. </p>"
    },
    "ContactArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "ContactContent":{
      "type":"structure",
      "required":[
        "contactArn",
        "channel",
        "connectedToSystemTime"
      ],
      "members":{
        "contactArn":{
          "shape":"ContactArn",
          "documentation":"<p>A unique identifier of a contact in Amazon Connect.</p>"
        },
        "channel":{
          "shape":"Channel",
          "documentation":"<p>A list of channels to filter on for related items of type <code>Contact</code>.</p>"
        },
        "connectedToSystemTime":{
          "shape":"ConnectedToSystemTime",
          "documentation":"<p>The difference between the <code>InitiationTimestamp</code> and the <code>DisconnectTimestamp</code> of the contact.</p>"
        }
      },
      "documentation":"<p>An object that represents a content of an Amazon Connect contact object.</p>"
    },
    "ContactFilter":{
      "type":"structure",
      "members":{
        "channel":{
          "shape":"ContactFilterChannelList",
          "documentation":"<p>A list of channels to filter on for related items of type <code>Contact</code>.</p>"
        },
        "contactArn":{
          "shape":"ContactArn",
          "documentation":"<p>A unique identifier of a contact in Amazon Connect.</p>"
        }
      },
      "documentation":"<p>A filter for related items of type <code>Contact</code>.</p>"
    },
    "ContactFilterChannelList":{
      "type":"list",
      "member":{"shape":"Channel"},
      "max":3,
      "min":0
    },
    "CreateCaseRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "templateId",
        "fields"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>"
        },
        "fields":{
          "shape":"CreateCaseRequestFieldsList",
          "documentation":"<p>An array of objects with field ID (matching ListFields/DescribeField) and value union data.</p>"
        },
        "clientToken":{
          "shape":"CreateCaseRequestClientTokenString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href=\"https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/\">Making retries safe with idempotent APIs</a>.</p>",
          "idempotencyToken":true
        },
        "performedBy":{"shape":"UserUnion"},
        "tags":{
          "shape":"MutableTags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "CreateCaseRequestClientTokenString":{
      "type":"string",
      "max":64,
      "min":0
    },
    "CreateCaseRequestFieldsList":{
      "type":"list",
      "member":{"shape":"FieldValue"},
      "max":220,
      "min":0
    },
    "CreateCaseResponse":{
      "type":"structure",
      "required":[
        "caseId",
        "caseArn"
      ],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        },
        "caseArn":{
          "shape":"CaseArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the case.</p>"
        }
      }
    },
    "CreateCaseRuleRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "name",
        "rule"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>Unique identifier of a Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "name":{
          "shape":"CaseRuleName",
          "documentation":"<p>Name of the case rule.</p>"
        },
        "description":{
          "shape":"CaseRuleDescription",
          "documentation":"<p>The description of a case rule.</p>"
        },
        "rule":{
          "shape":"CaseRuleDetails",
          "documentation":"<p>Represents what rule type should take place, under what conditions.</p>"
        }
      }
    },
    "CreateCaseRuleResponse":{
      "type":"structure",
      "required":[
        "caseRuleId",
        "caseRuleArn"
      ],
      "members":{
        "caseRuleId":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>"
        },
        "caseRuleArn":{
          "shape":"CaseRuleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of a case rule.</p>"
        }
      }
    },
    "CreateDomainRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"DomainName",
          "documentation":"<p>The name for your Cases domain. It must be unique for your Amazon Web Services account.</p>"
        }
      }
    },
    "CreateDomainResponse":{
      "type":"structure",
      "required":[
        "domainId",
        "domainArn",
        "domainStatus"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>"
        },
        "domainArn":{
          "shape":"DomainArn",
          "documentation":"<p>The Amazon Resource Name (ARN) for the Cases domain.</p>"
        },
        "domainStatus":{
          "shape":"DomainStatus",
          "documentation":"<p>The status of the domain.</p>"
        }
      }
    },
    "CreateFieldRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "name",
        "type"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "name":{
          "shape":"FieldName",
          "documentation":"<p>The name of the field.</p>"
        },
        "type":{
          "shape":"FieldType",
          "documentation":"<p>Defines the data type, some system constraints, and default display of the field.</p>"
        },
        "description":{
          "shape":"FieldDescription",
          "documentation":"<p>The description of the field.</p>"
        },
        "attributes":{
          "shape":"FieldAttributes",
          "documentation":"<p>Union of field attributes.</p>"
        }
      }
    },
    "CreateFieldResponse":{
      "type":"structure",
      "required":[
        "fieldId",
        "fieldArn"
      ],
      "members":{
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>The unique identifier of a field.</p>"
        },
        "fieldArn":{
          "shape":"FieldArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the field.</p>"
        }
      }
    },
    "CreateLayoutRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "name",
        "content"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "name":{
          "shape":"LayoutName",
          "documentation":"<p>The name of the layout. It must be unique for the Cases domain.</p>"
        },
        "content":{
          "shape":"LayoutContent",
          "documentation":"<p>Information about which fields will be present in the layout, and information about the order of the fields.</p>"
        }
      }
    },
    "CreateLayoutResponse":{
      "type":"structure",
      "required":[
        "layoutId",
        "layoutArn"
      ],
      "members":{
        "layoutId":{
          "shape":"LayoutId",
          "documentation":"<p>The unique identifier of the layout.</p>"
        },
        "layoutArn":{
          "shape":"LayoutArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the newly created layout.</p>"
        }
      }
    },
    "CreateRelatedItemRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseId",
        "type",
        "content"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "type":{
          "shape":"RelatedItemType",
          "documentation":"<p>The type of a related item.</p>"
        },
        "content":{
          "shape":"RelatedItemInputContent",
          "documentation":"<p>The content of a related item to be created.</p>"
        },
        "performedBy":{
          "shape":"UserUnion",
          "documentation":"<p>Represents the creator of the related item.</p>"
        }
      }
    },
    "CreateRelatedItemResponse":{
      "type":"structure",
      "required":[
        "relatedItemId",
        "relatedItemArn"
      ],
      "members":{
        "relatedItemId":{
          "shape":"RelatedItemId",
          "documentation":"<p>The unique identifier of the related item.</p>"
        },
        "relatedItemArn":{
          "shape":"RelatedItemArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the related item.</p>"
        }
      }
    },
    "CreateTemplateRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "name"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "name":{
          "shape":"TemplateName",
          "documentation":"<p>A name for the template. It must be unique per domain.</p>"
        },
        "description":{
          "shape":"TemplateDescription",
          "documentation":"<p>A brief description of the template.</p>"
        },
        "layoutConfiguration":{
          "shape":"LayoutConfiguration",
          "documentation":"<p>Configuration of layouts associated to the template.</p>"
        },
        "requiredFields":{
          "shape":"RequiredFieldList",
          "documentation":"<p>A list of fields that must contain a value for a case to be successfully created with this template.</p>"
        },
        "status":{
          "shape":"TemplateStatus",
          "documentation":"<p>The status of the template.</p>"
        },
        "rules":{
          "shape":"TemplateCaseRuleList",
          "documentation":"<p>A list of case rules (also known as <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">case field conditions</a>) on a template. </p>"
        },
        "tagPropagationConfigurations":{
          "shape":"TagPropagationConfigurationList",
          "documentation":"<p>Defines tag propagation configuration for resources created within a domain. Tags specified here will be automatically applied to resources being created for the specified resource type.</p>"
        }
      }
    },
    "CreateTemplateResponse":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn"
      ],
      "members":{
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>"
        },
        "templateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the newly created template.</p>"
        }
      }
    },
    "CreatedTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "CustomContent":{
      "type":"structure",
      "required":["fields"],
      "members":{
        "fields":{
          "shape":"FieldValueList",
          "documentation":"<p>List of field values for the <code>Custom</code> related item.</p>"
        }
      },
      "documentation":"<p>Represents the content of a <code>Custom</code> type related item.</p>"
    },
    "CustomEntity":{
      "type":"string",
      "max":500,
      "min":1,
      "pattern":"[a-zA-Z0-9_\\-\\.@:/ ]*[a-zA-Z0-9_\\-\\.@:/]",
      "sensitive":true
    },
    "CustomFieldsFilter":{
      "type":"structure",
      "members":{
        "field":{"shape":"FieldFilter"},
        "not":{
          "shape":"CustomFieldsFilter",
          "documentation":"<p>Excludes items matching the filter.</p>"
        },
        "andAll":{
          "shape":"CustomFieldsFilterAndAllList",
          "documentation":"<p>Provides \"and all\" filtering.</p>"
        },
        "orAll":{
          "shape":"CustomFieldsFilterOrAllList",
          "documentation":"<p>Provides \"or all\" filtering.</p>"
        }
      },
      "documentation":"<p>A filter for fields in <code>Custom</code> type related items. Only one value can be provided.</p>",
      "union":true
    },
    "CustomFieldsFilterAndAllList":{
      "type":"list",
      "member":{"shape":"CustomFieldsFilter"},
      "max":10,
      "min":0
    },
    "CustomFieldsFilterOrAllList":{
      "type":"list",
      "member":{"shape":"CustomFieldsFilter"},
      "max":10,
      "min":0
    },
    "CustomFilter":{
      "type":"structure",
      "members":{
        "fields":{
          "shape":"CustomFieldsFilter",
          "documentation":"<p>Filter conditions for custom fields.</p>"
        }
      },
      "documentation":"<p>A filter for related items of type <code>Custom</code>.</p>"
    },
    "CustomInputContent":{
      "type":"structure",
      "required":["fields"],
      "members":{
        "fields":{
          "shape":"CustomInputContentFieldsList",
          "documentation":"<p>List of field values for the <code>Custom</code> related item.</p>"
        }
      },
      "documentation":"<p>Represents the content of a <code>Custom</code> related item.</p>"
    },
    "CustomInputContentFieldsList":{
      "type":"list",
      "member":{"shape":"FieldValue"},
      "max":50,
      "min":1
    },
    "CustomUpdateContent":{
      "type":"structure",
      "required":["fields"],
      "members":{
        "fields":{
          "shape":"CustomUpdateContentFieldsList",
          "documentation":"<p>List of updated field values for the <code>Custom</code> related item. All existing and new fields, and their associated values should be included. Fields not included as part of this request will be removed.</p>"
        }
      },
      "documentation":"<p>Represents the updated content of a <code>Custom</code> related item.</p>"
    },
    "CustomUpdateContentFieldsList":{
      "type":"list",
      "member":{"shape":"FieldValue"},
      "max":50,
      "min":1
    },
    "DeleteCaseRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>A unique identifier of the Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        }
      }
    },
    "DeleteCaseResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteCaseRuleRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseRuleId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>Unique identifier of a Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseRuleId":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>",
          "location":"uri",
          "locationName":"caseRuleId"
        }
      }
    },
    "DeleteCaseRuleResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteDomainRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        }
      }
    },
    "DeleteDomainResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteFieldRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "fieldId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of the field.</p>",
          "location":"uri",
          "locationName":"fieldId"
        }
      }
    },
    "DeleteFieldResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteLayoutRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "layoutId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "layoutId":{
          "shape":"LayoutId",
          "documentation":"<p>The unique identifier of the layout.</p>",
          "location":"uri",
          "locationName":"layoutId"
        }
      }
    },
    "DeleteLayoutResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteRelatedItemRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseId",
        "relatedItemId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>A unique identifier of the Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "relatedItemId":{
          "shape":"RelatedItemId",
          "documentation":"<p>A unique identifier of a related item.</p>",
          "location":"uri",
          "locationName":"relatedItemId"
        }
      }
    },
    "DeleteRelatedItemResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteTemplateRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "templateId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>",
          "location":"uri",
          "locationName":"templateId"
        }
      }
    },
    "DeleteTemplateResponse":{
      "type":"structure",
      "members":{}
    },
    "Deleted":{"type":"boolean"},
    "DomainArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "DomainId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "DomainName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "DomainStatus":{
      "type":"string",
      "enum":[
        "Active",
        "CreationInProgress",
        "CreationFailed"
      ]
    },
    "DomainSummary":{
      "type":"structure",
      "required":[
        "domainId",
        "domainArn",
        "name"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the domain.</p>"
        },
        "domainArn":{
          "shape":"DomainArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the domain.</p>"
        },
        "name":{
          "shape":"DomainName",
          "documentation":"<p>The name of the domain.</p>"
        }
      },
      "documentation":"<p>Object for the summarized details of the domain.</p>"
    },
    "DomainSummaryList":{
      "type":"list",
      "member":{"shape":"DomainSummary"}
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "EmptyFieldValue":{
      "type":"structure",
      "members":{},
      "documentation":"<p>An empty value. You cannot set <code>EmptyFieldValue</code> on a field that is required on a case template.</p> <p>This structure will never have any data members. It signifies an empty value on a case field.</p>"
    },
    "EmptyOperandValue":{
      "type":"structure",
      "members":{},
      "documentation":"<p>Represents an empty operand value. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "EventBridgeConfiguration":{
      "type":"structure",
      "required":["enabled"],
      "members":{
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the to broadcast case event data to the customer.</p>"
        },
        "includedData":{
          "shape":"EventIncludedData",
          "documentation":"<p>Details of what case and related item data is published through the case event stream.</p>"
        }
      },
      "documentation":"<p>Configuration to enable EventBridge case event delivery and determine what data is delivered.</p>"
    },
    "EventIncludedData":{
      "type":"structure",
      "members":{
        "caseData":{
          "shape":"CaseEventIncludedData",
          "documentation":"<p>Details of what case data is published through the case event stream.</p>"
        },
        "relatedItemData":{
          "shape":"RelatedItemEventIncludedData",
          "documentation":"<p>Details of what related item data is published through the case event stream.</p>"
        }
      },
      "documentation":"<p>Details of what case and related item data is published through the case event stream.</p>"
    },
    "FieldArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "FieldAttributes":{
      "type":"structure",
      "members":{
        "text":{
          "shape":"TextAttributes",
          "documentation":"<p>Field attributes for Text field type.</p>"
        }
      },
      "documentation":"<p>Union of field attributes.</p>",
      "union":true
    },
    "FieldDescription":{
      "type":"string",
      "max":255,
      "min":0
    },
    "FieldError":{
      "type":"structure",
      "required":[
        "id",
        "errorCode"
      ],
      "members":{
        "id":{
          "shape":"FieldId",
          "documentation":"<p>The field identifier that caused the error.</p>"
        },
        "errorCode":{
          "shape":"String",
          "documentation":"<p>The error code from getting a field.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>The error message from getting a field.</p>"
        }
      },
      "documentation":"<p>Object for errors on fields.</p>"
    },
    "FieldFilter":{
      "type":"structure",
      "members":{
        "equalTo":{
          "shape":"FieldValue",
          "documentation":"<p>Object containing field identifier and value information.</p>"
        },
        "contains":{
          "shape":"FieldValue",
          "documentation":"<p>Object containing field identifier and value information.</p>"
        },
        "greaterThan":{
          "shape":"FieldValue",
          "documentation":"<p>Object containing field identifier and value information.</p>"
        },
        "greaterThanOrEqualTo":{
          "shape":"FieldValue",
          "documentation":"<p>Object containing field identifier and value information.</p>"
        },
        "lessThan":{
          "shape":"FieldValue",
          "documentation":"<p>Object containing field identifier and value information.</p>"
        },
        "lessThanOrEqualTo":{
          "shape":"FieldValue",
          "documentation":"<p>Object containing field identifier and value information. </p>"
        }
      },
      "documentation":"<p>A filter for fields. Only one value can be provided.</p>",
      "union":true
    },
    "FieldGroup":{
      "type":"structure",
      "required":["fields"],
      "members":{
        "name":{
          "shape":"FieldGroupNameString",
          "documentation":"<p>Name of the field group.</p>"
        },
        "fields":{
          "shape":"FieldGroupFieldsList",
          "documentation":"<p>Represents an ordered list containing field related information.</p>"
        }
      },
      "documentation":"<p>Object for a group of fields and associated properties.</p>"
    },
    "FieldGroupFieldsList":{
      "type":"list",
      "member":{"shape":"FieldItem"},
      "max":220,
      "min":0
    },
    "FieldGroupNameString":{
      "type":"string",
      "max":100,
      "min":0
    },
    "FieldId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "FieldIdentifier":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        }
      },
      "documentation":"<p>Object for unique identifier of a field.</p>"
    },
    "FieldItem":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        }
      },
      "documentation":"<p>Object for field related information.</p>"
    },
    "FieldName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "FieldNamespace":{
      "type":"string",
      "enum":[
        "System",
        "Custom"
      ]
    },
    "FieldOption":{
      "type":"structure",
      "required":[
        "name",
        "value",
        "active"
      ],
      "members":{
        "name":{
          "shape":"FieldOptionName",
          "documentation":"<p> <code>FieldOptionName</code> has max length 100 and disallows trailing spaces.</p>"
        },
        "value":{
          "shape":"FieldOptionValue",
          "documentation":"<p> <code>FieldOptionValue</code> has max length 100 and must be alphanumeric with hyphens and underscores.</p>"
        },
        "active":{
          "shape":"Boolean",
          "documentation":"<p>Describes whether the <code>FieldOption</code> is active (displayed) or inactive.</p>"
        }
      },
      "documentation":"<p>Object for field Options information.</p>"
    },
    "FieldOptionError":{
      "type":"structure",
      "required":[
        "message",
        "errorCode",
        "value"
      ],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Error message from creating or updating field option.</p>"
        },
        "errorCode":{
          "shape":"String",
          "documentation":"<p>Error code from creating or updating field option.</p>"
        },
        "value":{
          "shape":"FieldOptionValue",
          "documentation":"<p>The field option value that caused the error.</p>"
        }
      },
      "documentation":"<p>Object for field Options errors.</p>"
    },
    "FieldOptionName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "FieldOptionValue":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "FieldOptionsCaseRule":{
      "type":"structure",
      "required":["parentChildFieldOptionsMappings"],
      "members":{
        "parentFieldId":{
          "shape":"FieldId",
          "documentation":"<p>The identifier of the parent field that controls options.</p>"
        },
        "childFieldId":{
          "shape":"FieldId",
          "documentation":"<p>The identifier of the child field whose options are controlled.</p>"
        },
        "parentChildFieldOptionsMappings":{
          "shape":"ParentChildFieldOptionsMappingList",
          "documentation":"<p>A mapping between a parent field option value and child field option values.</p>"
        }
      },
      "documentation":"<p>Rules that control which options are available in a child field based on the selected value in a parent field.</p>"
    },
    "FieldOptionsList":{
      "type":"list",
      "member":{"shape":"FieldOption"}
    },
    "FieldSummary":{
      "type":"structure",
      "required":[
        "fieldId",
        "fieldArn",
        "name",
        "type",
        "namespace"
      ],
      "members":{
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>The unique identifier of a field.</p>"
        },
        "fieldArn":{
          "shape":"FieldArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the field.</p>"
        },
        "name":{
          "shape":"FieldName",
          "documentation":"<p>Name of the field.</p>"
        },
        "type":{
          "shape":"FieldType",
          "documentation":"<p>The type of a field.</p>"
        },
        "namespace":{
          "shape":"FieldNamespace",
          "documentation":"<p>The namespace of a field.</p>"
        },
        "attributes":{
          "shape":"FieldAttributes",
          "documentation":"<p>Union of field attributes.</p>"
        }
      },
      "documentation":"<p>Object for the summarized details of the field.</p>"
    },
    "FieldType":{
      "type":"string",
      "enum":[
        "Text",
        "Number",
        "Boolean",
        "DateTime",
        "SingleSelect",
        "Url",
        "User"
      ]
    },
    "FieldValue":{
      "type":"structure",
      "required":[
        "id",
        "value"
      ],
      "members":{
        "id":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        },
        "value":{
          "shape":"FieldValueUnion",
          "documentation":"<p>Union of potential field value types.</p>"
        }
      },
      "documentation":"<p>Object for case field values.</p>"
    },
    "FieldValueList":{
      "type":"list",
      "member":{"shape":"FieldValue"}
    },
    "FieldValueUnion":{
      "type":"structure",
      "members":{
        "stringValue":{
          "shape":"FieldValueUnionStringValueString",
          "documentation":"<p>String value type.</p>"
        },
        "doubleValue":{
          "shape":"Double",
          "documentation":"<p>Can be either null, or have a Double number value type. Only one value can be provided.</p>"
        },
        "booleanValue":{
          "shape":"Boolean",
          "documentation":"<p>Can be either null, or have a Boolean value type. Only one value can be provided.</p>"
        },
        "emptyValue":{
          "shape":"EmptyFieldValue",
          "documentation":"<p>An empty value.</p>"
        },
        "userArnValue":{
          "shape":"String",
          "documentation":"<p>Represents the user that performed the audit.</p>"
        }
      },
      "documentation":"<p>Object to store union of Field values.</p> <note> <p>The <code>Summary</code> system field accepts up to 3000 characters, while all other fields accept up to 4100 characters. If you use multi-byte characters, the effective character limit may be lower.</p> </note>",
      "union":true
    },
    "FieldValueUnionStringValueString":{
      "type":"string",
      "max":4100,
      "min":0
    },
    "FileArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "FileContent":{
      "type":"structure",
      "required":["fileArn"],
      "members":{
        "fileArn":{
          "shape":"FileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of a File in Amazon Connect.</p>"
        }
      },
      "documentation":"<p>An object that represents a content of an Amazon Connect file object.</p>"
    },
    "FileFilter":{
      "type":"structure",
      "members":{
        "fileArn":{
          "shape":"FileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the file.</p>"
        }
      },
      "documentation":"<p>A filter for related items of type <code>File</code>.</p>"
    },
    "GetCaseAuditEventsRequest":{
      "type":"structure",
      "required":[
        "caseId",
        "domainId"
      ],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"GetCaseAuditEventsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of audit events to return. When no value is provided, 25 is the default.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        }
      }
    },
    "GetCaseAuditEventsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":25,
      "min":1
    },
    "GetCaseAuditEventsResponse":{
      "type":"structure",
      "required":["auditEvents"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        },
        "auditEvents":{
          "shape":"GetCaseAuditEventsResponseAuditEventsList",
          "documentation":"<p>A list of case audits where each represents a particular edit of the case.</p>"
        }
      }
    },
    "GetCaseAuditEventsResponseAuditEventsList":{
      "type":"list",
      "member":{"shape":"AuditEvent"},
      "max":25,
      "min":0,
      "sparse":true
    },
    "GetCaseEventConfigurationRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        }
      }
    },
    "GetCaseEventConfigurationResponse":{
      "type":"structure",
      "required":["eventBridge"],
      "members":{
        "eventBridge":{
          "shape":"EventBridgeConfiguration",
          "documentation":"<p>Configuration to enable EventBridge case event delivery and determine what data is delivered.</p>"
        }
      }
    },
    "GetCaseRequest":{
      "type":"structure",
      "required":[
        "caseId",
        "domainId",
        "fields"
      ],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "fields":{
          "shape":"GetCaseRequestFieldsList",
          "documentation":"<p>A list of unique field identifiers. </p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        }
      }
    },
    "GetCaseRequestFieldsList":{
      "type":"list",
      "member":{"shape":"FieldIdentifier"},
      "max":220,
      "min":1
    },
    "GetCaseResponse":{
      "type":"structure",
      "required":[
        "fields",
        "templateId"
      ],
      "members":{
        "fields":{
          "shape":"GetCaseResponseFieldsList",
          "documentation":"<p>A list of detailed field information. </p>"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "GetCaseResponseFieldsList":{
      "type":"list",
      "member":{"shape":"FieldValue"},
      "max":220,
      "min":0
    },
    "GetCaseRuleResponse":{
      "type":"structure",
      "required":[
        "caseRuleId",
        "name",
        "caseRuleArn",
        "rule"
      ],
      "members":{
        "caseRuleId":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>"
        },
        "name":{
          "shape":"CaseRuleName",
          "documentation":"<p>Name of the case rule.</p>"
        },
        "caseRuleArn":{
          "shape":"CaseRuleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the case rule.</p>"
        },
        "rule":{
          "shape":"CaseRuleDetails",
          "documentation":"<p>Represents what rule type should take place, under what conditions.</p>"
        },
        "description":{
          "shape":"CaseRuleDescription",
          "documentation":"<p>Description of a case rule.</p>"
        },
        "deleted":{
          "shape":"Deleted",
          "documentation":"<p>Indicates whether the resource has been deleted.</p>"
        },
        "createdTime":{
          "shape":"CreatedTime",
          "documentation":"<p>Timestamp when the resource was created.</p>"
        },
        "lastModifiedTime":{
          "shape":"LastModifiedTime",
          "documentation":"<p>Timestamp when the resource was created or last modified.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>Detailed case rule information. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "GetDomainRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        }
      }
    },
    "GetDomainResponse":{
      "type":"structure",
      "required":[
        "domainId",
        "domainArn",
        "name",
        "createdTime",
        "domainStatus"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>"
        },
        "domainArn":{
          "shape":"DomainArn",
          "documentation":"<p>The Amazon Resource Name (ARN) for the Cases domain.</p>"
        },
        "name":{
          "shape":"DomainName",
          "documentation":"<p>The name of the Cases domain.</p>"
        },
        "createdTime":{
          "shape":"CreatedTime",
          "documentation":"<p>The timestamp when the Cases domain was created.</p>"
        },
        "domainStatus":{
          "shape":"DomainStatus",
          "documentation":"<p>The status of the Cases domain.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "GetFieldResponse":{
      "type":"structure",
      "required":[
        "fieldId",
        "name",
        "fieldArn",
        "type",
        "namespace"
      ],
      "members":{
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of the field.</p>"
        },
        "name":{
          "shape":"FieldName",
          "documentation":"<p>Name of the field.</p>"
        },
        "fieldArn":{
          "shape":"FieldArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the field.</p>"
        },
        "description":{
          "shape":"FieldDescription",
          "documentation":"<p>Description of the field.</p>"
        },
        "type":{
          "shape":"FieldType",
          "documentation":"<p>Type of the field.</p>"
        },
        "namespace":{
          "shape":"FieldNamespace",
          "documentation":"<p>Namespace of the field.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        },
        "deleted":{
          "shape":"Deleted",
          "documentation":"<p>Denotes whether or not the resource has been deleted.</p>"
        },
        "createdTime":{
          "shape":"CreatedTime",
          "documentation":"<p>Timestamp at which the resource was created.</p>"
        },
        "lastModifiedTime":{
          "shape":"LastModifiedTime",
          "documentation":"<p>Timestamp at which the resource was created or last modified.</p>"
        },
        "attributes":{
          "shape":"FieldAttributes",
          "documentation":"<p>Union of field attributes.</p>"
        }
      },
      "documentation":"<p>Object to store detailed field information.</p>"
    },
    "GetLayoutRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "layoutId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "layoutId":{
          "shape":"LayoutId",
          "documentation":"<p>The unique identifier of the layout.</p>",
          "location":"uri",
          "locationName":"layoutId"
        }
      }
    },
    "GetLayoutResponse":{
      "type":"structure",
      "required":[
        "layoutId",
        "layoutArn",
        "name",
        "content"
      ],
      "members":{
        "layoutId":{
          "shape":"LayoutId",
          "documentation":"<p>The unique identifier of the layout.</p>"
        },
        "layoutArn":{
          "shape":"LayoutArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the newly created layout.</p>"
        },
        "name":{
          "shape":"LayoutName",
          "documentation":"<p>The name of the layout. It must be unique.</p>"
        },
        "content":{
          "shape":"LayoutContent",
          "documentation":"<p>Information about which fields will be present in the layout, the order of the fields, and read-only attribute of the field. </p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        },
        "deleted":{
          "shape":"Deleted",
          "documentation":"<p>Denotes whether or not the resource has been deleted.</p>"
        },
        "createdTime":{
          "shape":"CreatedTime",
          "documentation":"<p>Timestamp at which the resource was created.</p>"
        },
        "lastModifiedTime":{
          "shape":"LastModifiedTime",
          "documentation":"<p>Timestamp at which the resource was created or last modified.</p>"
        }
      }
    },
    "GetTemplateRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "templateId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>",
          "location":"uri",
          "locationName":"templateId"
        }
      }
    },
    "GetTemplateResponse":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "name",
        "status"
      ],
      "members":{
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>"
        },
        "templateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the template.</p>"
        },
        "name":{
          "shape":"TemplateName",
          "documentation":"<p>The name of the template.</p>"
        },
        "description":{
          "shape":"TemplateDescription",
          "documentation":"<p>A brief description of the template.</p>"
        },
        "layoutConfiguration":{
          "shape":"LayoutConfiguration",
          "documentation":"<p>Configuration of layouts associated to the template.</p>"
        },
        "requiredFields":{
          "shape":"RequiredFieldList",
          "documentation":"<p>A list of fields that must contain a value for a case to be successfully created with this template.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        },
        "status":{
          "shape":"TemplateStatus",
          "documentation":"<p>The status of the template.</p>"
        },
        "deleted":{
          "shape":"Deleted",
          "documentation":"<p>Denotes whether or not the resource has been deleted.</p>"
        },
        "createdTime":{
          "shape":"CreatedTime",
          "documentation":"<p>Timestamp at which the resource was created.</p>"
        },
        "lastModifiedTime":{
          "shape":"LastModifiedTime",
          "documentation":"<p>Timestamp at which the resource was created or last modified.</p>"
        },
        "rules":{
          "shape":"TemplateCaseRuleList",
          "documentation":"<p>A list of case rules (also known as <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">case field conditions</a>) on a template. </p>"
        },
        "tagPropagationConfigurations":{
          "shape":"TagPropagationConfigurationList",
          "documentation":"<p>Defines tag propagation configuration for resources created within a domain. Tags specified here will be automatically applied to resources being created for the specified resource type.</p>"
        }
      }
    },
    "HiddenCaseRule":{
      "type":"structure",
      "required":[
        "defaultValue",
        "conditions"
      ],
      "members":{
        "defaultValue":{
          "shape":"Boolean",
          "documentation":"<p>Whether the field is hidden when no conditions match.</p>"
        },
        "conditions":{
          "shape":"BooleanConditionList",
          "documentation":"<p>A list of conditions that determine field visibility.</p>"
        }
      },
      "documentation":"<p>A rule that controls field visibility based on conditions. Fields can be shown or hidden dynamically based on values in other fields.</p>"
    },
    "IamPrincipalArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "retryAfterSeconds":{
          "shape":"Integer",
          "documentation":"<p>Advice to clients on when the call can be safely retried.</p>",
          "location":"header",
          "locationName":"Retry-After"
        }
      },
      "documentation":"<p>We couldn't process your request because of an issue with the server. Try again later.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "LastModifiedTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "LayoutArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "LayoutConfiguration":{
      "type":"structure",
      "members":{
        "defaultLayout":{
          "shape":"LayoutId",
          "documentation":"<p> Unique identifier of a layout. </p>"
        }
      },
      "documentation":"<p>Object to store configuration of layouts associated to the template.</p>"
    },
    "LayoutContent":{
      "type":"structure",
      "members":{
        "basic":{
          "shape":"BasicLayout",
          "documentation":"<p>Content specific to <code>BasicLayout</code> type. It configures fields in the top panel and More Info tab of Cases user interface.</p>"
        }
      },
      "documentation":"<p>Object to store union of different versions of layout content.</p>",
      "union":true
    },
    "LayoutId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "LayoutName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "LayoutSections":{
      "type":"structure",
      "members":{
        "sections":{"shape":"SectionsList"}
      },
      "documentation":"<p>Ordered list containing different kinds of sections that can be added. A LayoutSections object can only contain one section.</p>"
    },
    "LayoutSummary":{
      "type":"structure",
      "required":[
        "layoutId",
        "layoutArn",
        "name"
      ],
      "members":{
        "layoutId":{
          "shape":"LayoutId",
          "documentation":"<p>The unique identifier for of the layout.</p>"
        },
        "layoutArn":{
          "shape":"LayoutArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the layout.</p>"
        },
        "name":{
          "shape":"LayoutName",
          "documentation":"<p>The name of the layout.</p>"
        }
      },
      "documentation":"<p>Object for the summarized details of the layout.</p>"
    },
    "LayoutSummaryList":{
      "type":"list",
      "member":{"shape":"LayoutSummary"}
    },
    "ListCaseRulesRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>Unique identifier of a Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListCaseRulesResponse":{
      "type":"structure",
      "required":["caseRules"],
      "members":{
        "caseRules":{
          "shape":"ListCaseRulesResponseCaseRulesList",
          "documentation":"<p>A list of field summary objects.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListCaseRulesResponseCaseRulesList":{
      "type":"list",
      "member":{"shape":"CaseRuleSummary"},
      "max":100,
      "min":0
    },
    "ListCasesForContactRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "contactArn"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "contactArn":{
          "shape":"ContactArn",
          "documentation":"<p>A unique identifier of a contact in Amazon Connect.</p>"
        },
        "maxResults":{
          "shape":"ListCasesForContactRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return per page.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        }
      }
    },
    "ListCasesForContactRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":1
    },
    "ListCasesForContactResponse":{
      "type":"structure",
      "required":["cases"],
      "members":{
        "cases":{
          "shape":"ListCasesForContactResponseCasesList",
          "documentation":"<p>A list of Case summary information.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListCasesForContactResponseCasesList":{
      "type":"list",
      "member":{"shape":"CaseSummary"},
      "max":10,
      "min":0
    },
    "ListDomainsRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"ListDomainsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListDomainsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":1
    },
    "ListDomainsResponse":{
      "type":"structure",
      "required":["domains"],
      "members":{
        "domains":{
          "shape":"DomainSummaryList",
          "documentation":"<p>The Cases domain.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListFieldOptionsRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "fieldId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>The unique identifier of a field.</p>",
          "location":"uri",
          "locationName":"fieldId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "values":{
          "shape":"ValuesList",
          "documentation":"<p>A list of <code>FieldOption</code> values to filter on for <code>ListFieldOptions</code>.</p>",
          "location":"querystring",
          "locationName":"values"
        }
      }
    },
    "ListFieldOptionsResponse":{
      "type":"structure",
      "required":["options"],
      "members":{
        "options":{
          "shape":"FieldOptionsList",
          "documentation":"<p>A list of <code>FieldOption</code> objects.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListFieldsRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListFieldsResponse":{
      "type":"structure",
      "required":["fields"],
      "members":{
        "fields":{
          "shape":"ListFieldsResponseFieldsList",
          "documentation":"<p>List of detailed field information.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListFieldsResponseFieldsList":{
      "type":"list",
      "member":{"shape":"FieldSummary"},
      "max":100,
      "min":0
    },
    "ListLayoutsRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListLayoutsResponse":{
      "type":"structure",
      "required":["layouts"],
      "members":{
        "layouts":{
          "shape":"LayoutSummaryList",
          "documentation":"<p>The layouts for the domain.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["arn"],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN)</p>",
          "location":"uri",
          "locationName":"arn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "ListTemplatesRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "status":{
          "shape":"TemplateStatusFilters",
          "documentation":"<p>A list of status values to filter on.</p>",
          "location":"querystring",
          "locationName":"status"
        }
      }
    },
    "ListTemplatesResponse":{
      "type":"structure",
      "required":["templates"],
      "members":{
        "templates":{
          "shape":"ListTemplatesResponseTemplatesList",
          "documentation":"<p>List of template summary objects.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        }
      }
    },
    "ListTemplatesResponseTemplatesList":{
      "type":"list",
      "member":{"shape":"TemplateSummary"},
      "max":100,
      "min":0
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "MutableTagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"(?![aA][wW][sS]:)[a-zA-Z0-9 _.:/=+\\-@]+"
    },
    "MutableTags":{
      "type":"map",
      "key":{"shape":"MutableTagKey"},
      "value":{"shape":"TagValueString"},
      "max":50,
      "min":0
    },
    "NextToken":{
      "type":"string",
      "max":9000,
      "min":0
    },
    "OperandOne":{
      "type":"structure",
      "members":{
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>The field ID that this operand should take the value of.</p>"
        }
      },
      "documentation":"<p>Represents the left hand operand in the condition. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "union":true
    },
    "OperandTwo":{
      "type":"structure",
      "members":{
        "stringValue":{
          "shape":"OperandTwoStringValueString",
          "documentation":"<p>String value type.</p>"
        },
        "booleanValue":{
          "shape":"Boolean",
          "documentation":"<p>Boolean value type.</p>"
        },
        "doubleValue":{
          "shape":"Double",
          "documentation":"<p>Double value type.</p>"
        },
        "emptyValue":{
          "shape":"EmptyOperandValue",
          "documentation":"<p>Empty value type.</p>"
        }
      },
      "documentation":"<p>Represents the right hand operand in the condition. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>",
      "union":true
    },
    "OperandTwoStringValueString":{
      "type":"string",
      "max":1500,
      "min":1
    },
    "Order":{
      "type":"string",
      "enum":[
        "Asc",
        "Desc"
      ]
    },
    "ParentChildFieldOptionValue":{
      "type":"string",
      "max":100,
      "min":0,
      "pattern":"$|^.*[\\S]"
    },
    "ParentChildFieldOptionsMapping":{
      "type":"structure",
      "required":[
        "parentFieldOptionValue",
        "childFieldOptionValues"
      ],
      "members":{
        "parentFieldOptionValue":{
          "shape":"ParentChildFieldOptionValue",
          "documentation":"<p>The value in the parent field.</p>"
        },
        "childFieldOptionValues":{
          "shape":"ParentChildFieldOptionsMappingChildFieldOptionValuesList",
          "documentation":"<p>A list of allowed values in the child field.</p>"
        }
      },
      "documentation":"<p>A mapping between a parent field option value and child field option values.</p>"
    },
    "ParentChildFieldOptionsMappingChildFieldOptionValuesList":{
      "type":"list",
      "member":{"shape":"ParentChildFieldOptionValue"},
      "max":1500,
      "min":0
    },
    "ParentChildFieldOptionsMappingList":{
      "type":"list",
      "member":{"shape":"ParentChildFieldOptionsMapping"},
      "max":200,
      "min":1
    },
    "PutCaseEventConfigurationRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "eventBridge"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "eventBridge":{
          "shape":"EventBridgeConfiguration",
          "documentation":"<p>Configuration to enable EventBridge case event delivery and determine what data is delivered.</p>"
        }
      }
    },
    "PutCaseEventConfigurationResponse":{
      "type":"structure",
      "members":{}
    },
    "RelatedItemArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "RelatedItemContent":{
      "type":"structure",
      "members":{
        "contact":{
          "shape":"ContactContent",
          "documentation":"<p>Represents the content of a contact to be returned to agents.</p>"
        },
        "comment":{
          "shape":"CommentContent",
          "documentation":"<p>Represents the content of a comment to be returned to agents.</p>"
        },
        "file":{
          "shape":"FileContent",
          "documentation":"<p>Represents the content of a File to be returned to agents.</p>"
        },
        "sla":{
          "shape":"SlaContent",
          "documentation":"<p>Represents the content of an SLA to be returned to agents.</p>"
        },
        "connectCase":{
          "shape":"ConnectCaseContent",
          "documentation":"<p>Represents the Amazon Connect case to be created as a related item.</p>"
        },
        "custom":{
          "shape":"CustomContent",
          "documentation":"<p>Represents the content of a <code>Custom</code> type related item.</p>"
        }
      },
      "documentation":"<p>Represents the content of a particular type of related item.</p>",
      "union":true
    },
    "RelatedItemEventIncludedData":{
      "type":"structure",
      "required":["includeContent"],
      "members":{
        "includeContent":{
          "shape":"Boolean",
          "documentation":"<p>Details of what related item data is published through the case event stream.</p>"
        }
      },
      "documentation":"<p>Details of what related item data is published through the case event stream.</p>"
    },
    "RelatedItemId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "RelatedItemInputContent":{
      "type":"structure",
      "members":{
        "contact":{
          "shape":"Contact",
          "documentation":"<p>Object representing a contact in Amazon Connect as an API request field.</p>"
        },
        "comment":{
          "shape":"CommentContent",
          "documentation":"<p>Represents the content of a comment to be returned to agents.</p>"
        },
        "file":{
          "shape":"FileContent",
          "documentation":"<p>A file of related items.</p>"
        },
        "sla":{
          "shape":"SlaInputContent",
          "documentation":"<p>Represents the content of an SLA to be created.</p>"
        },
        "connectCase":{
          "shape":"ConnectCaseInputContent",
          "documentation":"<p>Represents the Amazon Connect case to be created as a related item.</p>"
        },
        "custom":{
          "shape":"CustomInputContent",
          "documentation":"<p>Represents the content of a <code>Custom</code> type related item.</p>"
        }
      },
      "documentation":"<p>Represents the content of a related item to be created.</p>",
      "union":true
    },
    "RelatedItemType":{
      "type":"string",
      "enum":[
        "Contact",
        "Comment",
        "File",
        "Sla",
        "ConnectCase",
        "Custom"
      ]
    },
    "RelatedItemTypeFilter":{
      "type":"structure",
      "members":{
        "contact":{
          "shape":"ContactFilter",
          "documentation":"<p>A filter for related items of type <code>Contact</code>.</p>"
        },
        "comment":{
          "shape":"CommentFilter",
          "documentation":"<p>A filter for related items of type <code>Comment</code>.</p>"
        },
        "file":{
          "shape":"FileFilter",
          "documentation":"<p>A filter for related items of this type of <code>File</code>.</p>"
        },
        "sla":{
          "shape":"SlaFilter",
          "documentation":"<p> Filter for related items of type <code>SLA</code>.</p>"
        },
        "connectCase":{
          "shape":"ConnectCaseFilter",
          "documentation":"<p>Represents the Amazon Connect case to be created as a related item.</p>"
        },
        "custom":{
          "shape":"CustomFilter",
          "documentation":"<p>Represents the content of a <code>Custom</code> type related item.</p>"
        }
      },
      "documentation":"<p>The list of types of related items and their parameters to use for filtering.</p>",
      "union":true
    },
    "RelatedItemUpdateContent":{
      "type":"structure",
      "members":{
        "comment":{"shape":"CommentUpdateContent"},
        "custom":{"shape":"CustomUpdateContent"}
      },
      "documentation":"<p>Represents the content of a related item to be updated. This is a union type that can contain either comment content or custom content.</p>",
      "union":true
    },
    "RequiredCaseRule":{
      "type":"structure",
      "required":[
        "defaultValue",
        "conditions"
      ],
      "members":{
        "defaultValue":{
          "shape":"Boolean",
          "documentation":"<p>The value of the rule (that is, whether the field is required) should none of the conditions evaluate to true.</p>"
        },
        "conditions":{
          "shape":"BooleanConditionList",
          "documentation":"<p>List of conditions for the required rule; the first condition to evaluate to true dictates the value of the rule.</p>"
        }
      },
      "documentation":"<p>Required rule type, used to indicate whether a field is required. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "RequiredField":{
      "type":"structure",
      "required":["fieldId"],
      "members":{
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        }
      },
      "documentation":"<p>List of fields that must have a value provided to create a case.</p>"
    },
    "RequiredFieldList":{
      "type":"list",
      "member":{"shape":"RequiredField"},
      "max":100,
      "min":0
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":[
        "message",
        "resourceId",
        "resourceType"
      ],
      "members":{
        "message":{"shape":"String"},
        "resourceId":{
          "shape":"String",
          "documentation":"<p>Unique identifier of the resource affected.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>Type of the resource affected.</p>"
        }
      },
      "documentation":"<p>We couldn't find the requested resource. Check that your resources exists and were created in the same Amazon Web Services Region as your request, and try your request again.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "RuleType":{
      "type":"string",
      "enum":[
        "Required",
        "Hidden",
        "FieldOptions"
      ]
    },
    "SearchAllRelatedItemsRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"SearchAllRelatedItemsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return per page.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        },
        "filters":{
          "shape":"SearchAllRelatedItemsRequestFiltersList",
          "documentation":"<p>The list of types of related items and their parameters to use for filtering. The filters work as an OR condition: caller gets back related items that match any of the specified filter types.</p>"
        },
        "sorts":{
          "shape":"SearchAllRelatedItemsRequestSortsList",
          "documentation":"<p>A structured set of sort terms to specify the order in which related items should be returned. Supports sorting by association time or case ID. The sorts work in the order specified: first sort term takes precedence over subsequent terms.</p>"
        }
      }
    },
    "SearchAllRelatedItemsRequestFiltersList":{
      "type":"list",
      "member":{"shape":"RelatedItemTypeFilter"},
      "max":10,
      "min":0
    },
    "SearchAllRelatedItemsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":25,
      "min":1
    },
    "SearchAllRelatedItemsRequestSortsList":{
      "type":"list",
      "member":{"shape":"SearchAllRelatedItemsSort"},
      "max":2,
      "min":0
    },
    "SearchAllRelatedItemsResponse":{
      "type":"structure",
      "required":["relatedItems"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        },
        "relatedItems":{
          "shape":"SearchAllRelatedItemsResponseRelatedItemsList",
          "documentation":"<p>A list of items related to a case.</p>"
        }
      }
    },
    "SearchAllRelatedItemsResponseItem":{
      "type":"structure",
      "required":[
        "relatedItemId",
        "caseId",
        "type",
        "associationTime",
        "content"
      ],
      "members":{
        "relatedItemId":{
          "shape":"RelatedItemId",
          "documentation":"<p>Unique identifier of a related item.</p>"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        },
        "type":{
          "shape":"RelatedItemType",
          "documentation":"<p>Type of a related item.</p>"
        },
        "associationTime":{
          "shape":"AssociationTime",
          "documentation":"<p>Time at which a related item was associated with a case.</p>"
        },
        "content":{"shape":"RelatedItemContent"},
        "performedBy":{"shape":"UserUnion"},
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>A list of items that represent RelatedItems. This data type is similar to <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_SearchRelatedItemsResponseItem.html\">SearchRelatedItemsResponseItem</a> except Search<b>All</b>RelatedItemsResponseItem has a caseId field.</p>"
    },
    "SearchAllRelatedItemsResponseRelatedItemsList":{
      "type":"list",
      "member":{"shape":"SearchAllRelatedItemsResponseItem"},
      "max":25,
      "min":0,
      "sparse":true
    },
    "SearchAllRelatedItemsSort":{
      "type":"structure",
      "required":[
        "sortProperty",
        "sortOrder"
      ],
      "members":{
        "sortProperty":{
          "shape":"SearchAllRelatedItemsSortProperty",
          "documentation":"<p>Whether related items should be sorted in ascending or descending order. </p>"
        },
        "sortOrder":{
          "shape":"Order",
          "documentation":"<p>Whether related items should be sorted by association time or case ID. </p>"
        }
      },
      "documentation":"<p>The order in which all returned related items should be sorted.</p>"
    },
    "SearchAllRelatedItemsSortProperty":{
      "type":"string",
      "enum":[
        "AssociationTime",
        "CaseId"
      ]
    },
    "SearchCasesRequest":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"SearchCasesRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of cases to return. When no value is provided, 25 is the default.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        },
        "searchTerm":{
          "shape":"SearchCasesRequestSearchTermString",
          "documentation":"<p>A word or phrase used to perform a quick search.</p>"
        },
        "filter":{
          "shape":"CaseFilter",
          "documentation":"<p>A list of filter objects.</p>"
        },
        "sorts":{
          "shape":"SearchCasesRequestSortsList",
          "documentation":"<p>A list of sorts where each sort specifies a field and their sort order to be applied to the results. </p>"
        },
        "fields":{
          "shape":"SearchCasesRequestFieldsList",
          "documentation":"<p>The list of field identifiers to be returned as part of the response.</p>"
        }
      }
    },
    "SearchCasesRequestFieldsList":{
      "type":"list",
      "member":{"shape":"FieldIdentifier"},
      "max":25,
      "min":0
    },
    "SearchCasesRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "SearchCasesRequestSearchTermString":{
      "type":"string",
      "max":255,
      "min":0
    },
    "SearchCasesRequestSortsList":{
      "type":"list",
      "member":{"shape":"Sort"},
      "max":2,
      "min":0
    },
    "SearchCasesResponse":{
      "type":"structure",
      "required":["cases"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        },
        "cases":{
          "shape":"SearchCasesResponseCasesList",
          "documentation":"<p>A list of case documents where each case contains the properties <code>CaseId</code> and <code>Fields</code> where each field is a complex union structure. </p>"
        },
        "totalCount":{
          "shape":"TotalCount",
          "documentation":"<p>The total number of cases that matched the search criteria.</p>"
        }
      }
    },
    "SearchCasesResponseCasesList":{
      "type":"list",
      "member":{"shape":"SearchCasesResponseItem"},
      "max":100,
      "min":0,
      "sparse":true
    },
    "SearchCasesResponseItem":{
      "type":"structure",
      "required":[
        "caseId",
        "templateId",
        "fields"
      ],
      "members":{
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier of a template.</p>"
        },
        "fields":{
          "shape":"SearchCasesResponseItemFieldsList",
          "documentation":"<p>List of case field values.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>A list of items that represent cases.</p>"
    },
    "SearchCasesResponseItemFieldsList":{
      "type":"list",
      "member":{"shape":"FieldValue"},
      "max":25,
      "min":0
    },
    "SearchRelatedItemsRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "maxResults":{
          "shape":"SearchRelatedItemsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return per page.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        },
        "filters":{
          "shape":"SearchRelatedItemsRequestFiltersList",
          "documentation":"<p>The list of types of related items and their parameters to use for filtering.</p>"
        }
      }
    },
    "SearchRelatedItemsRequestFiltersList":{
      "type":"list",
      "member":{"shape":"RelatedItemTypeFilter"},
      "max":10,
      "min":0
    },
    "SearchRelatedItemsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":25,
      "min":1
    },
    "SearchRelatedItemsResponse":{
      "type":"structure",
      "required":["relatedItems"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. This is null if there are no more results to return.</p>"
        },
        "relatedItems":{
          "shape":"SearchRelatedItemsResponseRelatedItemsList",
          "documentation":"<p>A list of items related to a case. </p>"
        }
      }
    },
    "SearchRelatedItemsResponseItem":{
      "type":"structure",
      "required":[
        "relatedItemId",
        "type",
        "associationTime",
        "content"
      ],
      "members":{
        "relatedItemId":{
          "shape":"RelatedItemId",
          "documentation":"<p>Unique identifier of a related item.</p>"
        },
        "type":{
          "shape":"RelatedItemType",
          "documentation":"<p>Type of a related item.</p>"
        },
        "associationTime":{
          "shape":"AssociationTime",
          "documentation":"<p>Time at which a related item was associated with a case.</p>"
        },
        "content":{
          "shape":"RelatedItemContent",
          "documentation":"<p>Represents the content of a particular type of related item.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        },
        "performedBy":{
          "shape":"UserUnion",
          "documentation":"<p>Represents the creator of the related item.</p>"
        }
      },
      "documentation":"<p>A list of items that represent RelatedItems.</p>"
    },
    "SearchRelatedItemsResponseRelatedItemsList":{
      "type":"list",
      "member":{"shape":"SearchRelatedItemsResponseItem"},
      "max":25,
      "min":0,
      "sparse":true
    },
    "SearchTagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9 _.:/=+\\-@]+"
    },
    "Section":{
      "type":"structure",
      "members":{
        "fieldGroup":{
          "shape":"FieldGroup",
          "documentation":"<p>Consists of a group of fields and associated properties.</p>"
        }
      },
      "documentation":"<p>This represents a sections within a panel or tab of the page layout.</p>",
      "union":true
    },
    "SectionsList":{
      "type":"list",
      "member":{"shape":"Section"},
      "documentation":"<p>Ordered list containing different kinds of sections that can be added.</p>",
      "max":1,
      "min":0
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The service quota has been exceeded. For a list of service quotas, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html\">Amazon Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SlaCompletionTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "SlaConfiguration":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "status",
        "targetTime"
      ],
      "members":{
        "name":{
          "shape":"SlaName",
          "documentation":"<p>Name of an SLA.</p>"
        },
        "type":{
          "shape":"SlaType",
          "documentation":"<p>Type of SLA.</p>"
        },
        "status":{
          "shape":"SlaStatus",
          "documentation":"<p>Status of an SLA.</p>"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        },
        "targetFieldValues":{
          "shape":"SlaFieldValueUnionList",
          "documentation":"<p>Represents a list of target field values for the fieldId specified in SlaConfiguration.</p>"
        },
        "targetTime":{
          "shape":"SlaTargetTime",
          "documentation":"<p>Target time by which an SLA should be completed.</p>"
        },
        "completionTime":{
          "shape":"SlaCompletionTime",
          "documentation":"<p>Time at which an SLA was completed.</p>"
        }
      },
      "documentation":"<p>Represents an SLA configuration.</p>"
    },
    "SlaContent":{
      "type":"structure",
      "required":["slaConfiguration"],
      "members":{
        "slaConfiguration":{
          "shape":"SlaConfiguration",
          "documentation":"<p>Represents an SLA configuration.</p>"
        }
      },
      "documentation":"<p>Represents the content of an SLA to be returned to agents.</p>"
    },
    "SlaFieldValueUnionList":{
      "type":"list",
      "member":{"shape":"FieldValueUnion"},
      "max":1,
      "min":1
    },
    "SlaFilter":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"SlaName",
          "documentation":"<p>Name of an SLA.</p>"
        },
        "status":{
          "shape":"SlaStatus",
          "documentation":"<p>Status of an SLA.</p>"
        }
      },
      "documentation":"<p>A filter for related items of type <code>SLA</code>.</p>"
    },
    "SlaInputConfiguration":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "targetSlaMinutes"
      ],
      "members":{
        "name":{
          "shape":"SlaName",
          "documentation":"<p>Name of an SLA.</p>"
        },
        "type":{
          "shape":"SlaType",
          "documentation":"<p>Type of SLA.</p>"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        },
        "targetFieldValues":{
          "shape":"SlaFieldValueUnionList",
          "documentation":"<p>Represents a list of target field values for the fieldId specified in SlaInputConfiguration. The SLA is considered met if any one of these target field values matches the actual field value.</p>"
        },
        "targetSlaMinutes":{
          "shape":"TargetSlaMinutes",
          "documentation":"<p>Target duration in minutes within which an SLA should be completed.</p>"
        }
      },
      "documentation":"<p>Represents the input configuration of an SLA being created.</p>"
    },
    "SlaInputContent":{
      "type":"structure",
      "members":{
        "slaInputConfiguration":{
          "shape":"SlaInputConfiguration",
          "documentation":"<p>Represents an input SLA configuration.</p>"
        }
      },
      "documentation":"<p>Represents the content of an SLA.</p>",
      "union":true
    },
    "SlaName":{
      "type":"string",
      "max":500,
      "min":1,
      "pattern":".*[\\S]",
      "sensitive":true
    },
    "SlaStatus":{
      "type":"string",
      "enum":[
        "Active",
        "Overdue",
        "Met",
        "NotMet"
      ]
    },
    "SlaTargetTime":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "SlaType":{
      "type":"string",
      "enum":["CaseField"]
    },
    "Sort":{
      "type":"structure",
      "required":[
        "fieldId",
        "sortOrder"
      ],
      "members":{
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        },
        "sortOrder":{
          "shape":"Order",
          "documentation":"<p>A structured set of sort terms</p>"
        }
      },
      "documentation":"<p>A structured set of sort terms.</p>"
    },
    "String":{"type":"string"},
    "TagFilter":{
      "type":"structure",
      "members":{
        "equalTo":{
          "shape":"TagValue",
          "documentation":"<p>Object containing tag key and value information.</p>"
        }
      },
      "documentation":"<p>A filter for tags. Only one value can be provided.</p>",
      "union":true
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"(?!aws:)[a-zA-Z+-=._:/]+"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":0
    },
    "TagPropagationConfiguration":{
      "type":"structure",
      "required":[
        "resourceType",
        "tagMap"
      ],
      "members":{
        "resourceType":{
          "shape":"TagPropagationResourceType",
          "documentation":"<p>Supported resource types for tag propagation. Determines which resources will receive automatically propagated tags.</p>"
        },
        "tagMap":{
          "shape":"TagPropagationConfigurationTagMapMap",
          "documentation":"<p>The tags that will be applied to the created resource.</p>"
        }
      },
      "documentation":"<p>Defines tag propagation configuration for resources created within a domain. Tags specified here will be automatically applied to resources being created for the specified resource type.</p>"
    },
    "TagPropagationConfigurationList":{
      "type":"list",
      "member":{"shape":"TagPropagationConfiguration"},
      "max":1,
      "min":0
    },
    "TagPropagationConfigurationTagMapMap":{
      "type":"map",
      "key":{"shape":"MutableTagKey"},
      "value":{"shape":"TagValueString"},
      "max":10,
      "min":0
    },
    "TagPropagationResourceType":{
      "type":"string",
      "enum":["Cases"]
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "arn",
        "tags"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN)</p>",
          "location":"uri",
          "locationName":"arn"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "TagValue":{
      "type":"structure",
      "members":{
        "key":{
          "shape":"SearchTagKey",
          "documentation":"<p>The tag key in the tag filter value.</p>"
        },
        "value":{
          "shape":"TagValueString",
          "documentation":"<p>The tag value in the tag filter value.</p>"
        }
      },
      "documentation":"<p>Object for case tag filter values.</p>"
    },
    "TagValueString":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"([a-zA-Z0-9 _.:/=+\\-@]*)"
    },
    "Tags":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"},
      "sparse":true
    },
    "TargetSlaMinutes":{
      "type":"long",
      "box":true,
      "max":1051200,
      "min":1
    },
    "TemplateArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "TemplateCaseRuleList":{
      "type":"list",
      "member":{"shape":"TemplateRule"},
      "max":50,
      "min":0
    },
    "TemplateDescription":{
      "type":"string",
      "max":255,
      "min":0
    },
    "TemplateId":{
      "type":"string",
      "max":500,
      "min":1
    },
    "TemplateName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":".*[\\S]"
    },
    "TemplateRule":{
      "type":"structure",
      "required":["caseRuleId"],
      "members":{
        "caseRuleId":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>Unique identifier of a field.</p>"
        }
      },
      "documentation":"<p>An association representing a case rule acting upon a field. In the Amazon Connect admin website, case rules are known as <i>case field conditions</i>. For more information about case field conditions, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">Add case field conditions to a case template</a>.</p>"
    },
    "TemplateStatus":{
      "type":"string",
      "enum":[
        "Active",
        "Inactive"
      ]
    },
    "TemplateStatusFilters":{
      "type":"list",
      "member":{"shape":"TemplateStatus"},
      "max":2,
      "min":1
    },
    "TemplateSummary":{
      "type":"structure",
      "required":[
        "templateId",
        "templateArn",
        "name",
        "status"
      ],
      "members":{
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>The unique identifier for the template.</p>"
        },
        "templateArn":{
          "shape":"TemplateArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the template.</p>"
        },
        "name":{
          "shape":"TemplateName",
          "documentation":"<p>The template name.</p>"
        },
        "status":{
          "shape":"TemplateStatus",
          "documentation":"<p>The status of the template.</p>"
        },
        "tagPropagationConfigurations":{
          "shape":"TagPropagationConfigurationList",
          "documentation":"<p>Defines tag propagation configuration for resources created within a domain. Tags specified here will be automatically applied to resources being created for the specified resource type.</p>"
        }
      },
      "documentation":"<p>Template summary information.</p>"
    },
    "TextAttributes":{
      "type":"structure",
      "required":["isMultiline"],
      "members":{
        "isMultiline":{
          "shape":"Boolean",
          "documentation":"<p>Attribute that defines rendering component and validation.</p>"
        }
      },
      "documentation":"<p>Field attributes for Text field type.</p>"
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The rate has been exceeded for this API. Please try again after a few minutes.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "TotalCount":{
      "type":"long",
      "min":0
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "arn",
        "tagKeys"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN)</p>",
          "location":"uri",
          "locationName":"arn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>List of tag keys.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UpdateCaseRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseId",
        "fields"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "fields":{
          "shape":"UpdateCaseRequestFieldsList",
          "documentation":"<p>An array of objects with <code>fieldId</code> (matching ListFields/DescribeField) and value union data, structured identical to <code>CreateCase</code>.</p>"
        },
        "performedBy":{"shape":"UserUnion"}
      }
    },
    "UpdateCaseRequestFieldsList":{
      "type":"list",
      "member":{"shape":"FieldValue"},
      "max":220,
      "min":0
    },
    "UpdateCaseResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateCaseRuleRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseRuleId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>Unique identifier of a Cases domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseRuleId":{
          "shape":"CaseRuleId",
          "documentation":"<p>Unique identifier of a case rule.</p>",
          "location":"uri",
          "locationName":"caseRuleId"
        },
        "name":{
          "shape":"CaseRuleName",
          "documentation":"<p>Name of the case rule.</p>"
        },
        "description":{
          "shape":"CaseRuleDescription",
          "documentation":"<p>Description of a case rule.</p>"
        },
        "rule":{
          "shape":"CaseRuleDetails",
          "documentation":"<p>Represents what rule type should take place, under what conditions.</p>"
        }
      }
    },
    "UpdateCaseRuleResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateFieldRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "fieldId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "fieldId":{
          "shape":"FieldId",
          "documentation":"<p>The unique identifier of a field.</p>",
          "location":"uri",
          "locationName":"fieldId"
        },
        "name":{
          "shape":"FieldName",
          "documentation":"<p>The name of the field.</p>"
        },
        "description":{
          "shape":"FieldDescription",
          "documentation":"<p>The description of a field.</p>"
        },
        "attributes":{
          "shape":"FieldAttributes",
          "documentation":"<p>Union of field attributes.</p>"
        }
      }
    },
    "UpdateFieldResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateLayoutRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "layoutId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "layoutId":{
          "shape":"LayoutId",
          "documentation":"<p>The unique identifier of the layout.</p>",
          "location":"uri",
          "locationName":"layoutId"
        },
        "name":{
          "shape":"LayoutName",
          "documentation":"<p>The name of the layout. It must be unique per domain.</p>"
        },
        "content":{
          "shape":"LayoutContent",
          "documentation":"<p>Information about which fields will be present in the layout, the order of the fields.</p>"
        }
      }
    },
    "UpdateLayoutResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateRelatedItemRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "caseId",
        "relatedItemId",
        "content"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "caseId":{
          "shape":"CaseId",
          "documentation":"<p>A unique identifier of the case.</p>",
          "location":"uri",
          "locationName":"caseId"
        },
        "relatedItemId":{
          "shape":"RelatedItemId",
          "documentation":"<p>Unique identifier of a related item.</p>",
          "location":"uri",
          "locationName":"relatedItemId"
        },
        "content":{
          "shape":"RelatedItemUpdateContent",
          "documentation":"<p>The content of a related item to be updated.</p>"
        },
        "performedBy":{
          "shape":"UserUnion",
          "documentation":"<p>Represents the user who performed the update of the related item.</p>"
        }
      }
    },
    "UpdateRelatedItemResponse":{
      "type":"structure",
      "required":[
        "relatedItemId",
        "relatedItemArn",
        "type",
        "content",
        "associationTime"
      ],
      "members":{
        "relatedItemId":{
          "shape":"RelatedItemId",
          "documentation":"<p>The unique identifier of the updated related item.</p>"
        },
        "relatedItemArn":{
          "shape":"RelatedItemArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the updated related item.</p>"
        },
        "type":{
          "shape":"RelatedItemType",
          "documentation":"<p>Type of the updated related item.</p>"
        },
        "content":{
          "shape":"RelatedItemContent",
          "documentation":"<p>Represents the content of the updated related item.</p>"
        },
        "associationTime":{
          "shape":"AssociationTime",
          "documentation":"<p>Time at which the related item was associated with the case.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.</p>"
        },
        "lastUpdatedUser":{
          "shape":"UserUnion",
          "documentation":"<p>Represents the last user that updated the related item.</p>"
        },
        "createdBy":{
          "shape":"UserUnion",
          "documentation":"<p>Represents the creator of the related item.</p>"
        }
      }
    },
    "UpdateTemplateRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "templateId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Cases domain. </p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "templateId":{
          "shape":"TemplateId",
          "documentation":"<p>A unique identifier for the template.</p>",
          "location":"uri",
          "locationName":"templateId"
        },
        "name":{
          "shape":"TemplateName",
          "documentation":"<p>The name of the template. It must be unique per domain.</p>"
        },
        "description":{
          "shape":"TemplateDescription",
          "documentation":"<p>A brief description of the template.</p>"
        },
        "layoutConfiguration":{
          "shape":"LayoutConfiguration",
          "documentation":"<p>Configuration of layouts associated to the template.</p>"
        },
        "requiredFields":{
          "shape":"RequiredFieldList",
          "documentation":"<p>A list of fields that must contain a value for a case to be successfully created with this template.</p>"
        },
        "status":{
          "shape":"TemplateStatus",
          "documentation":"<p>The status of the template.</p>"
        },
        "rules":{
          "shape":"TemplateCaseRuleList",
          "documentation":"<p>A list of case rules (also known as <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html\">case field conditions</a>) on a template.</p>"
        },
        "tagPropagationConfigurations":{
          "shape":"TagPropagationConfigurationList",
          "documentation":"<p>Defines tag propagation configuration for resources created within a domain. Tags specified here will be automatically applied to resources being created for the specified resource type.</p>"
        }
      }
    },
    "UpdateTemplateResponse":{
      "type":"structure",
      "members":{}
    },
    "UserArn":{
      "type":"string",
      "max":500,
      "min":1
    },
    "UserUnion":{
      "type":"structure",
      "members":{
        "userArn":{
          "shape":"UserArn",
          "documentation":"<p>Represents the Amazon Connect ARN of the user.</p>"
        },
        "customEntity":{
          "shape":"CustomEntity",
          "documentation":"<p>Any provided entity.</p>"
        }
      },
      "documentation":"<p>Represents the entity that performed the action.</p>",
      "union":true
    },
    "ValidationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request isn't valid. Check the syntax and try again.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Value":{
      "type":"string",
      "max":100,
      "min":0
    },
    "ValuesList":{
      "type":"list",
      "member":{"shape":"Value"},
      "max":1,
      "min":0
    }
  },
  "documentation":"<ul> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_Connect_Cases.html\">Cases actions</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_Types_Amazon_Connect_Cases.html\">Cases data types</a> </p> </li> </ul> <p>With Amazon Connect Cases, your agents can track and manage customer issues that require multiple interactions, follow-up tasks, and teams in your contact center. A case represents a customer issue. It records the issue, the steps and interactions taken to resolve the issue, and the outcome. For more information, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/cases.html\">Amazon Connect Cases</a> in the <i>Amazon Connect Administrator Guide</i>.</p>"
}
