{
  "openapi": "3.0.0",
  "info": {
    "version": "2021-04-20",
    "x-release": "v4",
    "title": "Amazon Chime SDK Identity",
    "description": "The Amazon Chime SDK Identity APIs in this section allow software developers to create and manage unique instances of their messaging applications. These APIs provide the overarching framework for creating and sending messages. For more information about the identity APIs, refer to <a href=\"https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Identity.html\">Amazon Chime SDK identity</a>.",
    "x-logo": {
      "url": "https://twitter.com/awscloud/profile_image?size=original",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "chime-sdk-identity",
    "x-aws-signingName": "chime",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/chime-sdk-identity-2021-04-20.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/identity-chime/"
  },
  "servers": [
    {
      "url": "http://identity-chime.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The Amazon Chime SDK Identity multi-region endpoint"
    },
    {
      "url": "https://identity-chime.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The Amazon Chime SDK Identity multi-region endpoint"
    },
    {
      "url": "http://identity-chime.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The Amazon Chime SDK Identity endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://identity-chime.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The Amazon Chime SDK Identity endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/app-instances": {
      "post": {
        "operationId": "CreateAppInstance",
        "description": "<p>Creates an Amazon Chime SDK messaging <code>AppInstance</code> under an AWS account. Only SDK messaging customers use this API. <code>CreateAppInstance</code> supports idempotency behavior as described in the AWS API Standard.</p> <p>identity</p>",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAppInstanceResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Name",
                  "ClientRequestToken"
                ],
                "properties": {
                  "Name": {
                    "description": "The name of the <code>AppInstance</code>.",
                    "type": "string",
                    "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*",
                    "minLength": 1,
                    "maxLength": 256,
                    "format": "password"
                  },
                  "Metadata": {
                    "description": "The metadata of the <code>AppInstance</code>. Limited to a 1KB string in UTF-8.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1024,
                    "format": "password"
                  },
                  "ClientRequestToken": {
                    "description": "The unique ID of the request. Use different tokens to create different <code>AppInstances</code>.",
                    "type": "string",
                    "pattern": "[-_a-zA-Z0-9]*",
                    "minLength": 2,
                    "maxLength": 64
                  },
                  "Tags": {
                    "description": "Tags assigned to the <code>AppInstance</code>.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Tag"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListAppInstances",
        "description": "Lists all Amazon Chime <code>AppInstance</code>s created under a single AWS account.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppInstancesResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "max-results",
            "in": "query",
            "required": false,
            "description": "The maximum number of <code>AppInstance</code>s that you want to return.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          },
          {
            "name": "next-token",
            "in": "query",
            "required": false,
            "description": "The token passed by previous API requests until you reach the maximum number of <code>AppInstances</code>.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 2048,
              "format": "password"
            }
          },
          {
            "name": "MaxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "NextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ]
      }
    },
    "/app-instances/{appInstanceArn}/admins": {
      "post": {
        "operationId": "CreateAppInstanceAdmin",
        "description": "<p>Promotes an <code>AppInstanceUser</code> or <code>AppInstanceBot</code> to an <code>AppInstanceAdmin</code>. The promoted entity can perform the following actions. </p> <ul> <li> <p> <code>ChannelModerator</code> actions across all channels in the <code>AppInstance</code>.</p> </li> <li> <p> <code>DeleteChannelMessage</code> actions.</p> </li> </ul> <p>Only an <code>AppInstanceUser</code> and <code>AppInstanceBot</code> can be promoted to an <code>AppInstanceAdmin</code> role.</p>",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAppInstanceAdminResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "AppInstanceAdminArn"
                ],
                "properties": {
                  "AppInstanceAdminArn": {
                    "description": "The ARN of the administrator of the current <code>AppInstance</code>.",
                    "type": "string",
                    "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
                    "minLength": 5,
                    "maxLength": 1600
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListAppInstanceAdmins",
        "description": "Returns a list of the administrators in the <code>AppInstance</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppInstanceAdminsResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          },
          {
            "name": "max-results",
            "in": "query",
            "required": false,
            "description": "The maximum number of administrators that you want to return.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          },
          {
            "name": "next-token",
            "in": "query",
            "required": false,
            "description": "The token returned from previous API requests until the number of administrators is reached.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 2048,
              "format": "password"
            }
          },
          {
            "name": "MaxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "NextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ]
      }
    },
    "/app-instance-bots": {
      "post": {
        "operationId": "CreateAppInstanceBot",
        "description": "Creates a bot under an Amazon Chime <code>AppInstance</code>. The request consists of a unique <code>Configuration</code> and <code>Name</code> for that bot.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAppInstanceBotResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "AppInstanceArn",
                  "ClientRequestToken",
                  "Configuration"
                ],
                "properties": {
                  "AppInstanceArn": {
                    "description": "The ARN of the <code>AppInstance</code> request.",
                    "type": "string",
                    "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
                    "minLength": 5,
                    "maxLength": 1600
                  },
                  "Name": {
                    "description": "The user's name.",
                    "type": "string",
                    "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*",
                    "minLength": 0,
                    "maxLength": 256,
                    "format": "password"
                  },
                  "Metadata": {
                    "description": "The request metadata. Limited to a 1KB string in UTF-8.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1024,
                    "format": "password"
                  },
                  "ClientRequestToken": {
                    "description": "The unique ID for the client making the request. Use different tokens for different <code>AppInstanceBots</code>.",
                    "type": "string",
                    "pattern": "[-_a-zA-Z0-9]*",
                    "minLength": 2,
                    "maxLength": 64
                  },
                  "Tags": {
                    "description": "The tags assigned to the <code>AppInstanceBot</code>.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Tag"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  },
                  "Configuration": {
                    "description": "A structure that contains configuration data.",
                    "type": "object",
                    "properties": {
                      "Lex": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/LexConfiguration"
                          },
                          {
                            "description": "The configuration for an Amazon Lex V2 bot."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/app-instance-users": {
      "post": {
        "operationId": "CreateAppInstanceUser",
        "description": "Creates a user under an Amazon Chime <code>AppInstance</code>. The request consists of a unique <code>appInstanceUserId</code> and <code>Name</code> for that user.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAppInstanceUserResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "AppInstanceArn",
                  "AppInstanceUserId",
                  "Name",
                  "ClientRequestToken"
                ],
                "properties": {
                  "AppInstanceArn": {
                    "description": "The ARN of the <code>AppInstance</code> request.",
                    "type": "string",
                    "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
                    "minLength": 5,
                    "maxLength": 1600
                  },
                  "AppInstanceUserId": {
                    "description": "The user ID of the <code>AppInstance</code>.",
                    "type": "string",
                    "pattern": "[A-Za-z0-9]([A-Za-z0-9\\:\\-\\_\\.\\@]{0,62}[A-Za-z0-9])?",
                    "minLength": 1,
                    "maxLength": 64,
                    "format": "password"
                  },
                  "Name": {
                    "description": "The user's name.",
                    "type": "string",
                    "pattern": ".*\\S.*",
                    "minLength": 1,
                    "maxLength": 100,
                    "format": "password"
                  },
                  "Metadata": {
                    "description": "The request's metadata. Limited to a 1KB string in UTF-8.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1024,
                    "format": "password"
                  },
                  "ClientRequestToken": {
                    "description": "The unique ID of the request. Use different tokens to request additional <code>AppInstances</code>.",
                    "type": "string",
                    "pattern": "[-_a-zA-Z0-9]*",
                    "minLength": 2,
                    "maxLength": 64
                  },
                  "Tags": {
                    "description": "Tags assigned to the <code>AppInstanceUser</code>.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Tag"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  },
                  "ExpirationSettings": {
                    "description": "Determines the interval after which an <code>AppInstanceUser</code> is automatically deleted.",
                    "type": "object",
                    "properties": {
                      "ExpirationDays": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExpirationDays"
                          },
                          {
                            "description": "The period in days after which an <code>AppInstanceUser</code> will be automatically deleted."
                          }
                        ]
                      },
                      "ExpirationCriterion": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExpirationCriterion"
                          },
                          {
                            "description": "Specifies the conditions under which an <code>AppInstanceUser</code> will expire."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/app-instances/{appInstanceArn}": {
      "delete": {
        "operationId": "DeleteAppInstance",
        "description": "Deletes an <code>AppInstance</code> and all associated data asynchronously.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeAppInstance",
        "description": "Returns the full details of an <code>AppInstance</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeAppInstanceResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateAppInstance",
        "description": "Updates <code>AppInstance</code> metadata.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAppInstanceResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Name",
                  "Metadata"
                ],
                "properties": {
                  "Name": {
                    "description": "The name that you want to change.",
                    "type": "string",
                    "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*",
                    "minLength": 1,
                    "maxLength": 256,
                    "format": "password"
                  },
                  "Metadata": {
                    "description": "The metadata that you want to change.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1024,
                    "format": "password"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/app-instances/{appInstanceArn}/admins/{appInstanceAdminArn}": {
      "delete": {
        "operationId": "DeleteAppInstanceAdmin",
        "description": "Demotes an <code>AppInstanceAdmin</code> to an <code>AppInstanceUser</code> or <code>AppInstanceBot</code>. This action does not delete the user.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceAdminArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>'s administrator.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          },
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeAppInstanceAdmin",
        "description": "Returns the full details of an <code>AppInstanceAdmin</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeAppInstanceAdminResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceAdminArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceAdmin</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          },
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      }
    },
    "/app-instance-bots/{appInstanceBotArn}": {
      "delete": {
        "operationId": "DeleteAppInstanceBot",
        "description": "Deletes an <code>AppInstanceBot</code>.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceBotArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceBot</code> being deleted.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeAppInstanceBot",
        "description": "The <code>AppInstanceBot's</code> information.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeAppInstanceBotResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceBotArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceBot</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateAppInstanceBot",
        "description": "Updates the name and metadata of an <code>AppInstanceBot</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAppInstanceBotResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceBotArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceBot</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Name",
                  "Metadata"
                ],
                "properties": {
                  "Name": {
                    "description": "The name of the <code>AppInstanceBot</code>.",
                    "type": "string",
                    "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*",
                    "minLength": 0,
                    "maxLength": 256,
                    "format": "password"
                  },
                  "Metadata": {
                    "description": "The metadata of the <code>AppInstanceBot</code>.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1024,
                    "format": "password"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/app-instance-users/{appInstanceUserArn}": {
      "delete": {
        "operationId": "DeleteAppInstanceUser",
        "description": "Deletes an <code>AppInstanceUser</code>.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the user request being deleted.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeAppInstanceUser",
        "description": "Returns the full details of an <code>AppInstanceUser</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeAppInstanceUserResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateAppInstanceUser",
        "description": "Updates the details of an <code>AppInstanceUser</code>. You can update names and metadata.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAppInstanceUserResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Name",
                  "Metadata"
                ],
                "properties": {
                  "Name": {
                    "description": "The name of the <code>AppInstanceUser</code>.",
                    "type": "string",
                    "pattern": ".*\\S.*",
                    "minLength": 1,
                    "maxLength": 100,
                    "format": "password"
                  },
                  "Metadata": {
                    "description": "The metadata of the <code>AppInstanceUser</code>.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1024,
                    "format": "password"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/app-instance-users/{appInstanceUserArn}/endpoints/{endpointId}": {
      "delete": {
        "operationId": "DeregisterAppInstanceUserEndpoint",
        "description": "Deregisters an <code>AppInstanceUserEndpoint</code>.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600,
              "format": "password"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 64,
              "format": "password"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "DescribeAppInstanceUserEndpoint",
        "description": "Returns the full details of an <code>AppInstanceUserEndpoint</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeAppInstanceUserEndpointResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 1600,
              "format": "password"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 64,
              "format": "password"
            }
          }
        ]
      },
      "put": {
        "operationId": "UpdateAppInstanceUserEndpoint",
        "description": "Updates the details of an <code>AppInstanceUserEndpoint</code>. You can update the name and <code>AllowMessage</code> values.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAppInstanceUserEndpointResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600,
              "format": "password"
            }
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 64,
              "format": "password"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Name": {
                    "description": "The name of the <code>AppInstanceUserEndpoint</code>.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1600,
                    "format": "password"
                  },
                  "AllowMessages": {
                    "description": "Boolean that controls whether the <code>AppInstanceUserEndpoint</code> is opted in to receive messages. <code>ALL</code> indicates the endpoint will receive all messages. <code>NONE</code> indicates the endpoint will receive no messages.",
                    "type": "string",
                    "enum": [
                      "ALL",
                      "NONE"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/app-instances/{appInstanceArn}/retention-settings": {
      "get": {
        "operationId": "GetAppInstanceRetentionSettings",
        "description": "Gets the retention settings for an <code>AppInstance</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAppInstanceRetentionSettingsResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "put": {
        "operationId": "PutAppInstanceRetentionSettings",
        "description": "Sets the amount of time in days that a given <code>AppInstance</code> retains data.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutAppInstanceRetentionSettingsResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "AppInstanceRetentionSettings"
                ],
                "properties": {
                  "AppInstanceRetentionSettings": {
                    "description": "The details of the data-retention settings for an <code>AppInstance</code>.",
                    "type": "object",
                    "properties": {
                      "ChannelRetentionSettings": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ChannelRetentionSettings"
                          },
                          {
                            "description": "The length of time in days to retain the messages in a channel."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/app-instance-bots#app-instance-arn": {
      "get": {
        "operationId": "ListAppInstanceBots",
        "description": "Lists all <code>AppInstanceBots</code> created under a single <code>AppInstance</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppInstanceBotsResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "app-instance-arn",
            "in": "query",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          },
          {
            "name": "max-results",
            "in": "query",
            "required": false,
            "description": "The maximum number of requests to return.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          },
          {
            "name": "next-token",
            "in": "query",
            "required": false,
            "description": "The token passed by previous API calls until all requested bots are returned.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 2048,
              "format": "password"
            }
          },
          {
            "name": "MaxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "NextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/app-instance-users/{appInstanceUserArn}/endpoints": {
      "get": {
        "operationId": "ListAppInstanceUserEndpoints",
        "description": "Lists all the <code>AppInstanceUserEndpoints</code> created under a single <code>AppInstanceUser</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppInstanceUserEndpointsResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600,
              "format": "password"
            }
          },
          {
            "name": "max-results",
            "in": "query",
            "required": false,
            "description": "The maximum number of endpoints that you want to return.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          },
          {
            "name": "next-token",
            "in": "query",
            "required": false,
            "description": "The token passed by previous API calls until all requested endpoints are returned.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 2048,
              "format": "password"
            }
          },
          {
            "name": "MaxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "NextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "RegisterAppInstanceUserEndpoint",
        "description": "Registers an endpoint under an Amazon Chime <code>AppInstanceUser</code>. The endpoint receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterAppInstanceUserEndpointResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "487": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600,
              "format": "password"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "Type",
                  "ResourceArn",
                  "EndpointAttributes",
                  "ClientRequestToken"
                ],
                "properties": {
                  "Name": {
                    "description": "The name of the <code>AppInstanceUserEndpoint</code>.",
                    "type": "string",
                    "pattern": ".*",
                    "minLength": 0,
                    "maxLength": 1600,
                    "format": "password"
                  },
                  "Type": {
                    "description": "<p>The type of the <code>AppInstanceUserEndpoint</code>. Supported types:</p> <ul> <li> <p> <code>APNS</code>: The mobile notification service for an Apple device.</p> </li> <li> <p> <code>APNS_SANDBOX</code>: The sandbox environment of the mobile notification service for an Apple device.</p> </li> <li> <p> <code>GCM</code>: The mobile notification service for an Android device.</p> </li> </ul> <p>Populate the <code>ResourceArn</code> value of each type as <code>PinpointAppArn</code>.</p>",
                    "type": "string",
                    "enum": [
                      "APNS",
                      "APNS_SANDBOX",
                      "GCM"
                    ]
                  },
                  "ResourceArn": {
                    "description": "The ARN of the resource to which the endpoint belongs.",
                    "type": "string",
                    "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
                    "minLength": 5,
                    "maxLength": 1600
                  },
                  "EndpointAttributes": {
                    "description": "The attributes of an <code>Endpoint</code>.",
                    "type": "object",
                    "properties": {
                      "DeviceToken": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/NonEmptySensitiveString1600"
                          },
                          {
                            "description": "The device token for the GCM, APNS, and APNS_SANDBOX endpoint types."
                          }
                        ]
                      },
                      "VoipDeviceToken": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/NonEmptySensitiveString1600"
                          },
                          {
                            "description": "The VOIP device token for the APNS and APNS_SANDBOX endpoint types."
                          }
                        ]
                      }
                    }
                  },
                  "ClientRequestToken": {
                    "description": "The unique ID assigned to the request. Use different tokens to register other endpoints.",
                    "type": "string",
                    "pattern": "[-_a-zA-Z0-9]*",
                    "minLength": 2,
                    "maxLength": 64
                  },
                  "AllowMessages": {
                    "description": "Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. <code>ALL</code> indicates the endpoint receives all messages. <code>NONE</code> indicates the endpoint receives no messages.",
                    "type": "string",
                    "enum": [
                      "ALL",
                      "NONE"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/app-instance-users#app-instance-arn": {
      "get": {
        "operationId": "ListAppInstanceUsers",
        "description": "List all <code>AppInstanceUsers</code> created under a single <code>AppInstance</code>.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppInstanceUsersResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "483": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "app-instance-arn",
            "in": "query",
            "required": true,
            "description": "The ARN of the <code>AppInstance</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          },
          {
            "name": "max-results",
            "in": "query",
            "required": false,
            "description": "The maximum number of requests that you want returned.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          },
          {
            "name": "next-token",
            "in": "query",
            "required": false,
            "description": "The token passed by previous API calls until all requested users are returned.",
            "schema": {
              "type": "string",
              "pattern": ".*",
              "minLength": 0,
              "maxLength": 2048,
              "format": "password"
            }
          },
          {
            "name": "MaxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "NextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags#arn": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": "Lists the tags applied to an Amazon Chime SDK identity resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "arn",
            "in": "query",
            "required": true,
            "description": "The ARN of the resource.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/app-instance-users/{appInstanceUserArn}/expiration-settings": {
      "put": {
        "operationId": "PutAppInstanceUserExpirationSettings",
        "description": "<p>Sets the number of days before the <code>AppInstanceUser</code> is automatically deleted.</p> <note> <p>A background process deletes expired <code>AppInstanceUsers</code> within 6 hours of expiration. Actual deletion times may vary.</p> <p>Expired <code>AppInstanceUsers</code> that have not yet been deleted appear as active, and you can update their expiration settings. The system honors the new settings.</p> </note>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutAppInstanceUserExpirationSettingsResponse"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appInstanceUserArn",
            "in": "path",
            "required": true,
            "description": "The ARN of the <code>AppInstanceUser</code>.",
            "schema": {
              "type": "string",
              "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
              "minLength": 5,
              "maxLength": 1600
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ExpirationSettings": {
                    "description": "Determines the interval after which an <code>AppInstanceUser</code> is automatically deleted.",
                    "type": "object",
                    "properties": {
                      "ExpirationDays": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExpirationDays"
                          },
                          {
                            "description": "The period in days after which an <code>AppInstanceUser</code> will be automatically deleted."
                          }
                        ]
                      },
                      "ExpirationCriterion": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExpirationCriterion"
                          },
                          {
                            "description": "Specifies the conditions under which an <code>AppInstanceUser</code> will expire."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags#operation=tag-resource": {
      "post": {
        "operationId": "TagResource",
        "description": "Applies the specified tags to the specified Amazon Chime SDK identity resource.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceLimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "486": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "operation",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "tag-resource"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ResourceARN",
                  "Tags"
                ],
                "properties": {
                  "ResourceARN": {
                    "description": "The resource ARN.",
                    "type": "string",
                    "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
                    "minLength": 5,
                    "maxLength": 1600
                  },
                  "Tags": {
                    "description": "The tag key-value pairs.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Tag"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags#operation=untag-resource": {
      "post": {
        "operationId": "UntagResource",
        "description": "Removes the specified tags from the specified Amazon Chime SDK identity resource.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedClientException"
                }
              }
            }
          },
          "483": {
            "description": "ThrottledClientException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottledClientException"
                }
              }
            }
          },
          "484": {
            "description": "ServiceUnavailableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableException"
                }
              }
            }
          },
          "485": {
            "description": "ServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "operation",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "untag-resource"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ResourceARN",
                  "TagKeys"
                ],
                "properties": {
                  "ResourceARN": {
                    "description": "The resource ARN.",
                    "type": "string",
                    "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
                    "minLength": 5,
                    "maxLength": 1600
                  },
                  "TagKeys": {
                    "description": "The tag keys.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/TagKey"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "CreateAppInstanceResponse": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The Amazon Resource Number (ARN) of the <code>AppInstance</code>."
              }
            ]
          }
        }
      },
      "Tag": {
        "type": "object",
        "required": [
          "Key",
          "Value"
        ],
        "properties": {
          "Key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagKey"
              },
              {
                "description": "The key in a tag."
              }
            ]
          },
          "Value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagValue"
              },
              {
                "description": "The value in a tag."
              }
            ]
          }
        },
        "description": "A tag object containing a key-value pair."
      },
      "BadRequestException": {},
      "ConflictException": {},
      "ForbiddenException": {},
      "ResourceLimitExceededException": {},
      "ThrottledClientException": {},
      "UnauthorizedClientException": {},
      "ServiceUnavailableException": {},
      "ServiceFailureException": {},
      "CreateAppInstanceAdminResponse": {
        "type": "object",
        "properties": {
          "AppInstanceAdmin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Identity"
              },
              {
                "description": "The ARN and name of the administrator, the ARN of the <code>AppInstance</code>, and the created and last-updated timestamps. All timestamps use epoch milliseconds."
              }
            ]
          },
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the of the admin for the <code>AppInstance</code>."
              }
            ]
          }
        }
      },
      "CreateAppInstanceBotResponse": {
        "type": "object",
        "properties": {
          "AppInstanceBotArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppinstanceBot</code>."
              }
            ]
          }
        }
      },
      "LexConfiguration": {
        "type": "object",
        "required": [
          "RespondsTo",
          "LexBotAliasArn",
          "LocaleId"
        ],
        "properties": {
          "RespondsTo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RespondsTo"
              },
              {
                "description": "Determines whether the Amazon Lex V2 bot responds to all standard messages. Control messages are not supported."
              }
            ]
          },
          "LexBotAliasArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LexBotAliasArn"
              },
              {
                "description": "The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: <code>arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS</code> "
              }
            ]
          },
          "LocaleId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/String"
              },
              {
                "description": "Identifies the Amazon Lex V2 bot's language and locale. The string must match one of the supported locales in Amazon Lex V2. All of the intents, slot types, and slots used in the bot must have the same locale. For more information, see <a href=\"https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html\">Supported languages</a> in the <i>Amazon Lex V2 Developer Guide</i>."
              }
            ]
          },
          "WelcomeIntent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LexIntentName"
              },
              {
                "description": "The name of the welcome intent configured in the Amazon Lex V2 bot."
              }
            ]
          }
        },
        "description": "The configuration for an Amazon Lex V2 bot."
      },
      "CreateAppInstanceUserResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The user's ARN."
              }
            ]
          }
        }
      },
      "ExpirationDays": {
        "type": "integer",
        "minimum": 1,
        "maximum": 5475
      },
      "ExpirationCriterion": {
        "type": "string",
        "enum": [
          "CREATED_TIMESTAMP"
        ]
      },
      "DescribeAppInstanceResponse": {
        "type": "object",
        "properties": {
          "AppInstance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstance"
              },
              {
                "description": "The ARN, metadata, created and last-updated timestamps, and the name of the <code>AppInstance</code>. All timestamps use epoch milliseconds."
              }
            ]
          }
        }
      },
      "DescribeAppInstanceAdminResponse": {
        "type": "object",
        "properties": {
          "AppInstanceAdmin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceAdmin"
              },
              {
                "description": "The ARN and name of the <code>AppInstanceUser</code>, the ARN of the <code>AppInstance</code>, and the created and last-updated timestamps. All timestamps use epoch milliseconds."
              }
            ]
          }
        }
      },
      "DescribeAppInstanceBotResponse": {
        "type": "object",
        "properties": {
          "AppInstanceBot": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceBot"
              },
              {
                "description": "The detials of the <code>AppInstanceBot</code>."
              }
            ]
          }
        }
      },
      "NotFoundException": {},
      "DescribeAppInstanceUserResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUser": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUser"
              },
              {
                "description": "The name of the <code>AppInstanceUser</code>."
              }
            ]
          }
        }
      },
      "DescribeAppInstanceUserEndpointResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserEndpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUserEndpoint"
              },
              {
                "description": "The full details of an <code>AppInstanceUserEndpoint</code>: the <code>AppInstanceUserArn</code>, ID, name, type, resource ARN, attributes, allow messages, state, and created and last updated timestamps. All timestamps use epoch milliseconds."
              }
            ]
          }
        }
      },
      "GetAppInstanceRetentionSettingsResponse": {
        "type": "object",
        "properties": {
          "AppInstanceRetentionSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceRetentionSettings"
              },
              {
                "description": "The retention settings for the <code>AppInstance</code>."
              }
            ]
          },
          "InitiateDeletionTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The timestamp representing the time at which the specified items are retained, in Epoch Seconds."
              }
            ]
          }
        }
      },
      "ListAppInstanceAdminsResponse": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstance</code>."
              }
            ]
          },
          "AppInstanceAdmins": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceAdminList"
              },
              {
                "description": "The information for each administrator."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token returned from previous API requests until the number of administrators is reached."
              }
            ]
          }
        }
      },
      "ListAppInstanceBotsResponse": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the AppInstance."
              }
            ]
          },
          "AppInstanceBots": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceBotList"
              },
              {
                "description": "The information for each requested <code>AppInstanceBot</code>."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token passed by previous API calls until all requested bots are returned."
              }
            ]
          }
        }
      },
      "ListAppInstanceUserEndpointsResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserEndpoints": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUserEndpointSummaryList"
              },
              {
                "description": "The information for each requested <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token passed by previous API calls until all requested endpoints are returned."
              }
            ]
          }
        }
      },
      "ListAppInstanceUsersResponse": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstance</code>."
              }
            ]
          },
          "AppInstanceUsers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUserList"
              },
              {
                "description": "The information for each requested <code>AppInstanceUser</code>."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token passed by previous API calls until all requested users are returned."
              }
            ]
          }
        }
      },
      "ListAppInstancesResponse": {
        "type": "object",
        "properties": {
          "AppInstances": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceList"
              },
              {
                "description": "The information for each <code>AppInstance</code>."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token passed by previous API requests until the maximum number of <code>AppInstance</code>s is reached."
              }
            ]
          }
        }
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagList"
              },
              {
                "description": "The tag key-value pairs."
              }
            ]
          }
        }
      },
      "PutAppInstanceRetentionSettingsResponse": {
        "type": "object",
        "properties": {
          "AppInstanceRetentionSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceRetentionSettings"
              },
              {
                "description": "The time in days to retain data. Data type: number."
              }
            ]
          },
          "InitiateDeletionTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which the API deletes data."
              }
            ]
          }
        }
      },
      "ChannelRetentionSettings": {
        "type": "object",
        "properties": {
          "RetentionDays": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RetentionDays"
              },
              {
                "description": "The time in days to retain the messages in a channel."
              }
            ]
          }
        },
        "description": "The details of the retention settings for a channel."
      },
      "PutAppInstanceUserExpirationSettingsResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "ExpirationSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpirationSettings"
              },
              {
                "description": "Settings that control the interval after which an <code>AppInstanceUser</code> is automatically deleted."
              }
            ]
          }
        }
      },
      "RegisterAppInstanceUserEndpointResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "EndpointId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString64"
              },
              {
                "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          }
        }
      },
      "NonEmptySensitiveString1600": {
        "type": "string",
        "pattern": ".*",
        "minLength": 1,
        "maxLength": 1600,
        "format": "password"
      },
      "TagKey": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "format": "password"
      },
      "UpdateAppInstanceResponse": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstance</code>."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceBotResponse": {
        "type": "object",
        "properties": {
          "AppInstanceBotArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceBot</code>."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceUserResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceUserEndpointResponse": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "EndpointId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString64"
              },
              {
                "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          }
        }
      },
      "AllowMessages": {
        "type": "string",
        "enum": [
          "ALL",
          "NONE"
        ]
      },
      "ChimeArn": {
        "type": "string",
        "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
        "minLength": 5,
        "maxLength": 1600
      },
      "NonEmptyResourceName": {
        "type": "string",
        "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*",
        "minLength": 1,
        "maxLength": 256,
        "format": "password"
      },
      "Timestamp": {
        "type": "string",
        "format": "date-time"
      },
      "Metadata": {
        "type": "string",
        "pattern": ".*",
        "minLength": 0,
        "maxLength": 1024,
        "format": "password"
      },
      "AppInstance": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the messaging instance."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NonEmptyResourceName"
              },
              {
                "description": "The name of an <code>AppInstance</code>."
              }
            ]
          },
          "CreatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which an <code>AppInstance</code> was created. In epoch milliseconds."
              }
            ]
          },
          "LastUpdatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time an <code>AppInstance</code> was last updated. In epoch milliseconds."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of an <code>AppInstance</code>."
              }
            ]
          }
        },
        "description": "The details of an <code>AppInstance</code>, an instance of an Amazon Chime SDK messaging application."
      },
      "Identity": {
        "type": "object",
        "properties": {
          "Arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN in an Identity."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceName"
              },
              {
                "description": "The name in an Identity."
              }
            ]
          }
        },
        "description": "The details of a user or bot."
      },
      "AppInstanceAdmin": {
        "type": "object",
        "properties": {
          "Admin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Identity"
              },
              {
                "description": "The <code>AppInstanceAdmin</code> data."
              }
            ]
          },
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstance</code> for which the user is an administrator."
              }
            ]
          },
          "CreatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which an administrator was created."
              }
            ]
          }
        },
        "description": "The name and ARN of the admin for the <code>AppInstance</code>."
      },
      "AppInstanceAdminSummary": {
        "type": "object",
        "properties": {
          "Admin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Identity"
              },
              {
                "description": "The details of the <code>AppInstanceAdmin</code>."
              }
            ]
          }
        },
        "description": "Summary of the details of an <code>AppInstanceAdmin</code>."
      },
      "AppInstanceAdminList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppInstanceAdminSummary"
        }
      },
      "ResourceName": {
        "type": "string",
        "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*",
        "minLength": 0,
        "maxLength": 256,
        "format": "password"
      },
      "Configuration": {
        "type": "object",
        "required": [
          "Lex"
        ],
        "properties": {
          "Lex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LexConfiguration"
              },
              {
                "description": "The configuration for an Amazon Lex V2 bot."
              }
            ]
          }
        },
        "description": "A structure that contains configuration data."
      },
      "AppInstanceBot": {
        "type": "object",
        "properties": {
          "AppInstanceBotArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the AppInstanceBot."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceName"
              },
              {
                "description": "The name of the AppInstanceBot."
              }
            ]
          },
          "Configuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Configuration"
              },
              {
                "description": "The data processing instructions for an AppInstanceBot."
              }
            ]
          },
          "CreatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which the <code>AppInstanceBot</code> was created."
              }
            ]
          },
          "LastUpdatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which the <code>AppInstanceBot</code> was last updated."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata for an AppInstanceBot."
              }
            ]
          }
        },
        "description": "An Amazon Lex V2 chat bot created under an <code>AppInstance</code>."
      },
      "AppInstanceBotSummary": {
        "type": "object",
        "properties": {
          "AppInstanceBotArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the AppInstanceBot."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceName"
              },
              {
                "description": "The name of the AppInstanceBox."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the AppInstanceBot."
              }
            ]
          }
        },
        "description": "High-level information about an AppInstanceBot."
      },
      "AppInstanceBotList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppInstanceBotSummary"
        }
      },
      "AppInstanceSummary": {
        "type": "object",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The <code>AppInstance</code> ARN."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NonEmptyResourceName"
              },
              {
                "description": "The name of the <code>AppInstance</code>."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the <code>AppInstance</code>."
              }
            ]
          }
        },
        "description": "Summary of the data for an <code>AppInstance</code>."
      },
      "AppInstanceList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppInstanceSummary"
        }
      },
      "AppInstanceRetentionSettings": {
        "type": "object",
        "properties": {
          "ChannelRetentionSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChannelRetentionSettings"
              },
              {
                "description": "The length of time in days to retain the messages in a channel."
              }
            ]
          }
        },
        "description": "The details of the data-retention settings for an <code>AppInstance</code>."
      },
      "UserName": {
        "type": "string",
        "pattern": ".*\\S.*",
        "minLength": 1,
        "maxLength": 100,
        "format": "password"
      },
      "ExpirationSettings": {
        "type": "object",
        "required": [
          "ExpirationDays",
          "ExpirationCriterion"
        ],
        "properties": {
          "ExpirationDays": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpirationDays"
              },
              {
                "description": "The period in days after which an <code>AppInstanceUser</code> will be automatically deleted."
              }
            ]
          },
          "ExpirationCriterion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpirationCriterion"
              },
              {
                "description": "Specifies the conditions under which an <code>AppInstanceUser</code> will expire."
              }
            ]
          }
        },
        "description": "Determines the interval after which an <code>AppInstanceUser</code> is automatically deleted."
      },
      "AppInstanceUser": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserName"
              },
              {
                "description": "The name of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "CreatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which the <code>AppInstanceUser</code> was created."
              }
            ]
          },
          "LastUpdatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which the <code>AppInstanceUser</code> was last updated."
              }
            ]
          },
          "ExpirationSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpirationSettings"
              },
              {
                "description": "The interval after which an <code>AppInstanceUser</code> is automatically deleted."
              }
            ]
          }
        },
        "description": "The details of an <code>AppInstanceUser</code>."
      },
      "SensitiveChimeArn": {
        "type": "string",
        "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
        "minLength": 5,
        "maxLength": 1600,
        "format": "password"
      },
      "SensitiveString64": {
        "type": "string",
        "pattern": ".*",
        "minLength": 0,
        "maxLength": 64,
        "format": "password"
      },
      "SensitiveString1600": {
        "type": "string",
        "pattern": ".*",
        "minLength": 0,
        "maxLength": 1600,
        "format": "password"
      },
      "AppInstanceUserEndpointType": {
        "type": "string",
        "enum": [
          "APNS",
          "APNS_SANDBOX",
          "GCM"
        ]
      },
      "EndpointAttributes": {
        "type": "object",
        "required": [
          "DeviceToken"
        ],
        "properties": {
          "DeviceToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NonEmptySensitiveString1600"
              },
              {
                "description": "The device token for the GCM, APNS, and APNS_SANDBOX endpoint types."
              }
            ]
          },
          "VoipDeviceToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NonEmptySensitiveString1600"
              },
              {
                "description": "The VOIP device token for the APNS and APNS_SANDBOX endpoint types."
              }
            ]
          }
        },
        "description": "The attributes of an <code>Endpoint</code>."
      },
      "EndpointState": {
        "type": "object",
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointStatus"
              },
              {
                "description": "Enum that indicates the Status of an <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "StatusReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointStatusReason"
              },
              {
                "description": "The reason for the <code>EndpointStatus</code>."
              }
            ]
          }
        },
        "description": "<p>A read-only field that represents the state of an <code>AppInstanceUserEndpoint</code>. Supported values:</p> <ul> <li> <p> <code>ACTIVE</code>: The <code>AppInstanceUserEndpoint</code> is active and able to receive messages. When <code>ACTIVE</code>, the <code>EndpointStatusReason</code> remains empty.</p> </li> <li> <p> <code>INACTIVE</code>: The <code>AppInstanceUserEndpoint</code> is inactive and can't receive message. When INACTIVE, the corresponding reason will be conveyed through EndpointStatusReason.</p> </li> <li> <p> <code>INVALID_DEVICE_TOKEN</code> indicates that an <code>AppInstanceUserEndpoint</code> is <code>INACTIVE</code> due to invalid device token</p> </li> <li> <p> <code>INVALID_PINPOINT_ARN</code> indicates that an <code>AppInstanceUserEndpoint</code> is <code>INACTIVE</code> due to an invalid pinpoint ARN that was input through the <code>ResourceArn</code> field.</p> </li> </ul>"
      },
      "AppInstanceUserEndpoint": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "EndpointId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString64"
              },
              {
                "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString1600"
              },
              {
                "description": "The name of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUserEndpointType"
              },
              {
                "description": "The type of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "ResourceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the resource to which the endpoint belongs."
              }
            ]
          },
          "EndpointAttributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointAttributes"
              },
              {
                "description": "The attributes of an <code>Endpoint</code>."
              }
            ]
          },
          "CreatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which an <code>AppInstanceUserEndpoint</code> was created."
              }
            ]
          },
          "LastUpdatedTimestamp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "description": "The time at which an <code>AppInstanceUserEndpoint</code> was last updated."
              }
            ]
          },
          "AllowMessages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AllowMessages"
              },
              {
                "description": "Boolean that controls whether the <code>AppInstanceUserEndpoint</code> is opted in to receive messages. <code>ALL</code> indicates the endpoint will receive all messages. <code>NONE</code> indicates the endpoint will receive no messages."
              }
            ]
          },
          "EndpointState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointState"
              },
              {
                "description": "<p>A read-only field that represents the state of an <code>AppInstanceUserEndpoint</code>. Supported values:</p> <ul> <li> <p> <code>ACTIVE</code>: The <code>AppInstanceUserEndpoint</code> is active and able to receive messages. When <code>ACTIVE</code>, the <code>EndpointStatusReason</code> remains empty.</p> </li> <li> <p> <code>INACTIVE</code>: The <code>AppInstanceUserEndpoint</code> is inactive and can't receive message. When <code>INACTIVE</code>, the corresponding reason will be conveyed through <code>EndpointStatusReason</code>.</p> </li> <li> <p> <code>INVALID_DEVICE_TOKEN</code> indicates that an <code>AppInstanceUserEndpoint</code> is <code>INACTIVE</code> due to invalid device token</p> </li> <li> <p> <code>INVALID_PINPOINT_ARN</code> indicates that an <code>AppInstanceUserEndpoint</code> is <code>INACTIVE</code> due to an invalid pinpoint ARN that was input through the <code>ResourceArn</code> field.</p> </li> </ul>"
              }
            ]
          }
        },
        "description": "An endpoint under an Amazon Chime <code>AppInstanceUser</code> that receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user."
      },
      "AppInstanceUserEndpointSummary": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "EndpointId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString64"
              },
              {
                "description": "The unique identifier of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString1600"
              },
              {
                "description": "The name of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUserEndpointType"
              },
              {
                "description": "The type of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "AllowMessages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AllowMessages"
              },
              {
                "description": "BBoolean that controls whether the <code>AppInstanceUserEndpoint</code> is opted in to receive messages. <code>ALL</code> indicates the endpoint will receive all messages. <code>NONE</code> indicates the endpoint will receive no messages."
              }
            ]
          },
          "EndpointState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointState"
              },
              {
                "description": "A read-only field that represent the state of an <code>AppInstanceUserEndpoint</code>."
              }
            ]
          }
        },
        "description": "Summary of the details of an <code>AppInstanceUserEndpoint</code>."
      },
      "AppInstanceUserEndpointSummaryList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppInstanceUserEndpointSummary"
        }
      },
      "AppInstanceUserSummary": {
        "type": "object",
        "properties": {
          "AppInstanceUserArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserName"
              },
              {
                "description": "The name of an <code>AppInstanceUser</code>."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the <code>AppInstanceUser</code>."
              }
            ]
          }
        },
        "description": "Summary of the details of an <code>AppInstanceUser</code>."
      },
      "AppInstanceUserList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppInstanceUserSummary"
        }
      },
      "RetentionDays": {
        "type": "integer",
        "minimum": 1,
        "maximum": 5475
      },
      "ClientRequestToken": {
        "type": "string",
        "pattern": "[-_a-zA-Z0-9]*",
        "minLength": 2,
        "maxLength": 64
      },
      "CreateAppInstanceAdminRequest": {
        "type": "object",
        "required": [
          "AppInstanceAdminArn"
        ],
        "title": "CreateAppInstanceAdminRequest",
        "properties": {
          "AppInstanceAdminArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the administrator of the current <code>AppInstance</code>."
              }
            ]
          }
        }
      },
      "TagList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Tag"
        },
        "minItems": 1,
        "maxItems": 50
      },
      "CreateAppInstanceBotRequest": {
        "type": "object",
        "required": [
          "AppInstanceArn",
          "ClientRequestToken",
          "Configuration"
        ],
        "title": "CreateAppInstanceBotRequest",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstance</code> request."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceName"
              },
              {
                "description": "The user's name."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The request metadata. Limited to a 1KB string in UTF-8."
              }
            ]
          },
          "ClientRequestToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientRequestToken"
              },
              {
                "description": "The unique ID for the client making the request. Use different tokens for different <code>AppInstanceBots</code>."
              }
            ]
          },
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagList"
              },
              {
                "description": "The tags assigned to the <code>AppInstanceBot</code>."
              }
            ]
          },
          "Configuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Configuration"
              },
              {
                "description": "Configuration information about the Amazon Lex V2 V2 bot."
              }
            ]
          }
        }
      },
      "CreateAppInstanceRequest": {
        "type": "object",
        "required": [
          "Name",
          "ClientRequestToken"
        ],
        "title": "CreateAppInstanceRequest",
        "properties": {
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NonEmptyResourceName"
              },
              {
                "description": "The name of the <code>AppInstance</code>."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the <code>AppInstance</code>. Limited to a 1KB string in UTF-8."
              }
            ]
          },
          "ClientRequestToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientRequestToken"
              },
              {
                "description": "The unique ID of the request. Use different tokens to create different <code>AppInstances</code>."
              }
            ]
          },
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagList"
              },
              {
                "description": "Tags assigned to the <code>AppInstance</code>."
              }
            ]
          }
        }
      },
      "UserId": {
        "type": "string",
        "pattern": "[A-Za-z0-9]([A-Za-z0-9\\:\\-\\_\\.\\@]{0,62}[A-Za-z0-9])?",
        "minLength": 1,
        "maxLength": 64,
        "format": "password"
      },
      "CreateAppInstanceUserRequest": {
        "type": "object",
        "required": [
          "AppInstanceArn",
          "AppInstanceUserId",
          "Name",
          "ClientRequestToken"
        ],
        "title": "CreateAppInstanceUserRequest",
        "properties": {
          "AppInstanceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the <code>AppInstance</code> request."
              }
            ]
          },
          "AppInstanceUserId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserId"
              },
              {
                "description": "The user ID of the <code>AppInstance</code>."
              }
            ]
          },
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserName"
              },
              {
                "description": "The user's name."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The request's metadata. Limited to a 1KB string in UTF-8."
              }
            ]
          },
          "ClientRequestToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientRequestToken"
              },
              {
                "description": "The unique ID of the request. Use different tokens to request additional <code>AppInstances</code>."
              }
            ]
          },
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagList"
              },
              {
                "description": "Tags assigned to the <code>AppInstanceUser</code>."
              }
            ]
          },
          "ExpirationSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpirationSettings"
              },
              {
                "description": "Settings that control the interval after which the <code>AppInstanceUser</code> is automatically deleted."
              }
            ]
          }
        }
      },
      "DeleteAppInstanceAdminRequest": {
        "type": "object",
        "title": "DeleteAppInstanceAdminRequest",
        "properties": {}
      },
      "DeleteAppInstanceBotRequest": {
        "type": "object",
        "title": "DeleteAppInstanceBotRequest",
        "properties": {}
      },
      "DeleteAppInstanceRequest": {
        "type": "object",
        "title": "DeleteAppInstanceRequest",
        "properties": {}
      },
      "DeleteAppInstanceUserRequest": {
        "type": "object",
        "title": "DeleteAppInstanceUserRequest",
        "properties": {}
      },
      "DeregisterAppInstanceUserEndpointRequest": {
        "type": "object",
        "title": "DeregisterAppInstanceUserEndpointRequest",
        "properties": {}
      },
      "DescribeAppInstanceAdminRequest": {
        "type": "object",
        "title": "DescribeAppInstanceAdminRequest",
        "properties": {}
      },
      "DescribeAppInstanceBotRequest": {
        "type": "object",
        "title": "DescribeAppInstanceBotRequest",
        "properties": {}
      },
      "DescribeAppInstanceRequest": {
        "type": "object",
        "title": "DescribeAppInstanceRequest",
        "properties": {}
      },
      "DescribeAppInstanceUserEndpointRequest": {
        "type": "object",
        "title": "DescribeAppInstanceUserEndpointRequest",
        "properties": {}
      },
      "DescribeAppInstanceUserRequest": {
        "type": "object",
        "title": "DescribeAppInstanceUserRequest",
        "properties": {}
      },
      "EndpointStatus": {
        "type": "string",
        "enum": [
          "ACTIVE",
          "INACTIVE"
        ]
      },
      "EndpointStatusReason": {
        "type": "string",
        "enum": [
          "INVALID_DEVICE_TOKEN",
          "INVALID_PINPOINT_ARN"
        ]
      },
      "GetAppInstanceRetentionSettingsRequest": {
        "type": "object",
        "title": "GetAppInstanceRetentionSettingsRequest",
        "properties": {}
      },
      "LexBotAliasArn": {
        "type": "string",
        "pattern": "arn:aws:lex:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:bot-alias/[A-Z0-9]{10}/[A-Z0-9]{10}",
        "minLength": 15,
        "maxLength": 2048
      },
      "RespondsTo": {
        "type": "string",
        "enum": [
          "STANDARD_MESSAGES"
        ]
      },
      "String": {
        "type": "string"
      },
      "LexIntentName": {
        "type": "string",
        "pattern": "^([A-Za-z]_?)+$",
        "minLength": 1,
        "maxLength": 100
      },
      "MaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 50
      },
      "NextToken": {
        "type": "string",
        "pattern": ".*",
        "minLength": 0,
        "maxLength": 2048,
        "format": "password"
      },
      "ListAppInstanceAdminsRequest": {
        "type": "object",
        "title": "ListAppInstanceAdminsRequest",
        "properties": {}
      },
      "ListAppInstanceBotsRequest": {
        "type": "object",
        "title": "ListAppInstanceBotsRequest",
        "properties": {}
      },
      "ListAppInstanceUserEndpointsRequest": {
        "type": "object",
        "title": "ListAppInstanceUserEndpointsRequest",
        "properties": {}
      },
      "ListAppInstanceUsersRequest": {
        "type": "object",
        "title": "ListAppInstanceUsersRequest",
        "properties": {}
      },
      "ListAppInstancesRequest": {
        "type": "object",
        "title": "ListAppInstancesRequest",
        "properties": {}
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {}
      },
      "PutAppInstanceRetentionSettingsRequest": {
        "type": "object",
        "required": [
          "AppInstanceRetentionSettings"
        ],
        "title": "PutAppInstanceRetentionSettingsRequest",
        "properties": {
          "AppInstanceRetentionSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceRetentionSettings"
              },
              {
                "description": "The time in days to retain data. Data type: number."
              }
            ]
          }
        }
      },
      "PutAppInstanceUserExpirationSettingsRequest": {
        "type": "object",
        "title": "PutAppInstanceUserExpirationSettingsRequest",
        "properties": {
          "ExpirationSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpirationSettings"
              },
              {
                "description": "Settings that control the interval after which an <code>AppInstanceUser</code> is automatically deleted."
              }
            ]
          }
        }
      },
      "RegisterAppInstanceUserEndpointRequest": {
        "type": "object",
        "required": [
          "Type",
          "ResourceArn",
          "EndpointAttributes",
          "ClientRequestToken"
        ],
        "title": "RegisterAppInstanceUserEndpointRequest",
        "properties": {
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString1600"
              },
              {
                "description": "The name of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppInstanceUserEndpointType"
              },
              {
                "description": "<p>The type of the <code>AppInstanceUserEndpoint</code>. Supported types:</p> <ul> <li> <p> <code>APNS</code>: The mobile notification service for an Apple device.</p> </li> <li> <p> <code>APNS_SANDBOX</code>: The sandbox environment of the mobile notification service for an Apple device.</p> </li> <li> <p> <code>GCM</code>: The mobile notification service for an Android device.</p> </li> </ul> <p>Populate the <code>ResourceArn</code> value of each type as <code>PinpointAppArn</code>.</p>"
              }
            ]
          },
          "ResourceArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The ARN of the resource to which the endpoint belongs."
              }
            ]
          },
          "EndpointAttributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndpointAttributes"
              },
              {
                "description": "The attributes of an <code>Endpoint</code>."
              }
            ]
          },
          "ClientRequestToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientRequestToken"
              },
              {
                "description": "The unique ID assigned to the request. Use different tokens to register other endpoints."
              }
            ]
          },
          "AllowMessages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AllowMessages"
              },
              {
                "description": "Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. <code>ALL</code> indicates the endpoint receives all messages. <code>NONE</code> indicates the endpoint receives no messages."
              }
            ]
          }
        }
      },
      "TagValue": {
        "type": "string",
        "minLength": 1,
        "maxLength": 256,
        "format": "password"
      },
      "TagKeyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TagKey"
        },
        "minItems": 1,
        "maxItems": 50
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "ResourceARN",
          "Tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "ResourceARN": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The resource ARN."
              }
            ]
          },
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagList"
              },
              {
                "description": "The tag key-value pairs."
              }
            ]
          }
        }
      },
      "UntagResourceRequest": {
        "type": "object",
        "required": [
          "ResourceARN",
          "TagKeys"
        ],
        "title": "UntagResourceRequest",
        "properties": {
          "ResourceARN": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChimeArn"
              },
              {
                "description": "The resource ARN."
              }
            ]
          },
          "TagKeys": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagKeyList"
              },
              {
                "description": "The tag keys."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceBotRequest": {
        "type": "object",
        "required": [
          "Name",
          "Metadata"
        ],
        "title": "UpdateAppInstanceBotRequest",
        "properties": {
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceName"
              },
              {
                "description": "The name of the <code>AppInstanceBot</code>."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the <code>AppInstanceBot</code>."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceRequest": {
        "type": "object",
        "required": [
          "Name",
          "Metadata"
        ],
        "title": "UpdateAppInstanceRequest",
        "properties": {
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NonEmptyResourceName"
              },
              {
                "description": "The name that you want to change."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata that you want to change."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceUserEndpointRequest": {
        "type": "object",
        "title": "UpdateAppInstanceUserEndpointRequest",
        "properties": {
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensitiveString1600"
              },
              {
                "description": "The name of the <code>AppInstanceUserEndpoint</code>."
              }
            ]
          },
          "AllowMessages": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AllowMessages"
              },
              {
                "description": "Boolean that controls whether the <code>AppInstanceUserEndpoint</code> is opted in to receive messages. <code>ALL</code> indicates the endpoint will receive all messages. <code>NONE</code> indicates the endpoint will receive no messages."
              }
            ]
          }
        }
      },
      "UpdateAppInstanceUserRequest": {
        "type": "object",
        "required": [
          "Name",
          "Metadata"
        ],
        "title": "UpdateAppInstanceUserRequest",
        "properties": {
          "Name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserName"
              },
              {
                "description": "The name of the <code>AppInstanceUser</code>."
              }
            ]
          },
          "Metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "description": "The metadata of the <code>AppInstanceUser</code>."
              }
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}