{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2015-07-09",
    "endpointPrefix":"apigateway",
    "protocol":"rest-json",
    "serviceFullName":"Amazon API Gateway",
    "signatureVersion":"v4"
  },
  "operations":{
    "CreateApiKey":{
      "name":"CreateApiKey",
      "http":{
        "method":"POST",
        "requestUri":"/apikeys",
        "responseCode":201
      },
      "input":{"shape":"CreateApiKeyRequest"},
      "output":{"shape":"ApiKey"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"}
      ]
    },
    "CreateAuthorizer":{
      "name":"CreateAuthorizer",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/authorizers",
        "responseCode":201
      },
      "input":{"shape":"CreateAuthorizerRequest"},
      "output":{"shape":"Authorizer"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"LimitExceededException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "CreateBasePathMapping":{
      "name":"CreateBasePathMapping",
      "http":{
        "method":"POST",
        "requestUri":"/domainnames/{domain_name}/basepathmappings",
        "responseCode":201
      },
      "input":{"shape":"CreateBasePathMappingRequest"},
      "output":{"shape":"BasePathMapping"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"BadRequestException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "CreateDeployment":{
      "name":"CreateDeployment",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/deployments",
        "responseCode":201
      },
      "input":{"shape":"CreateDeploymentRequest"},
      "output":{"shape":"Deployment"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"BadRequestException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ServiceUnavailableException"}
      ]
    },
    "CreateDomainName":{
      "name":"CreateDomainName",
      "http":{
        "method":"POST",
        "requestUri":"/domainnames",
        "responseCode":201
      },
      "input":{"shape":"CreateDomainNameRequest"},
      "output":{"shape":"DomainName"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "CreateModel":{
      "name":"CreateModel",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/models",
        "responseCode":201
      },
      "input":{"shape":"CreateModelRequest"},
      "output":{"shape":"Model"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "CreateResource":{
      "name":"CreateResource",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/resources/{parent_id}",
        "responseCode":201
      },
      "input":{"shape":"CreateResourceRequest"},
      "output":{"shape":"Resource"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "CreateRestApi":{
      "name":"CreateRestApi",
      "http":{
        "method":"POST",
        "requestUri":"/restapis",
        "responseCode":201
      },
      "input":{"shape":"CreateRestApiRequest"},
      "output":{"shape":"RestApi"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "CreateStage":{
      "name":"CreateStage",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/stages",
        "responseCode":201
      },
      "input":{"shape":"CreateStageRequest"},
      "output":{"shape":"Stage"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"BadRequestException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteApiKey":{
      "name":"DeleteApiKey",
      "http":{
        "method":"DELETE",
        "requestUri":"/apikeys/{api_Key}",
        "responseCode":202
      },
      "input":{"shape":"DeleteApiKeyRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteAuthorizer":{
      "name":"DeleteAuthorizer",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}",
        "responseCode":202
      },
      "input":{"shape":"DeleteAuthorizerRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"}
      ]
    },
    "DeleteBasePathMapping":{
      "name":"DeleteBasePathMapping",
      "http":{
        "method":"DELETE",
        "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}",
        "responseCode":202
      },
      "input":{"shape":"DeleteBasePathMappingRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteClientCertificate":{
      "name":"DeleteClientCertificate",
      "http":{
        "method":"DELETE",
        "requestUri":"/clientcertificates/{clientcertificate_id}",
        "responseCode":202
      },
      "input":{"shape":"DeleteClientCertificateRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"},
        {"shape":"NotFoundException"}
      ]
    },
    "DeleteDeployment":{
      "name":"DeleteDeployment",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}",
        "responseCode":202
      },
      "input":{"shape":"DeleteDeploymentRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteDomainName":{
      "name":"DeleteDomainName",
      "http":{
        "method":"DELETE",
        "requestUri":"/domainnames/{domain_name}",
        "responseCode":202
      },
      "input":{"shape":"DeleteDomainNameRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteIntegration":{
      "name":"DeleteIntegration",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
        "responseCode":204
      },
      "input":{"shape":"DeleteIntegrationRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteIntegrationResponse":{
      "name":"DeleteIntegrationResponse",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
        "responseCode":204
      },
      "input":{"shape":"DeleteIntegrationResponseRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"}
      ]
    },
    "DeleteMethod":{
      "name":"DeleteMethod",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
        "responseCode":204
      },
      "input":{"shape":"DeleteMethodRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteMethodResponse":{
      "name":"DeleteMethodResponse",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode":204
      },
      "input":{"shape":"DeleteMethodResponseRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"}
      ]
    },
    "DeleteModel":{
      "name":"DeleteModel",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}",
        "responseCode":202
      },
      "input":{"shape":"DeleteModelRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"}
      ]
    },
    "DeleteResource":{
      "name":"DeleteResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}",
        "responseCode":202
      },
      "input":{"shape":"DeleteResourceRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "DeleteRestApi":{
      "name":"DeleteRestApi",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}",
        "responseCode":202
      },
      "input":{"shape":"DeleteRestApiRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"}
      ]
    },
    "DeleteStage":{
      "name":"DeleteStage",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}",
        "responseCode":202
      },
      "input":{"shape":"DeleteStageRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"}
      ]
    },
    "FlushStageAuthorizersCache":{
      "name":"FlushStageAuthorizersCache",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers",
        "responseCode":202
      },
      "input":{"shape":"FlushStageAuthorizersCacheRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "FlushStageCache":{
      "name":"FlushStageCache",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/cache/data",
        "responseCode":202
      },
      "input":{"shape":"FlushStageCacheRequest"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GenerateClientCertificate":{
      "name":"GenerateClientCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/clientcertificates",
        "responseCode":201
      },
      "input":{"shape":"GenerateClientCertificateRequest"},
      "output":{"shape":"ClientCertificate"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"LimitExceededException"}
      ]
    },
    "GetAccount":{
      "name":"GetAccount",
      "http":{
        "method":"GET",
        "requestUri":"/account"
      },
      "input":{"shape":"GetAccountRequest"},
      "output":{"shape":"Account"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetApiKey":{
      "name":"GetApiKey",
      "http":{
        "method":"GET",
        "requestUri":"/apikeys/{api_Key}"
      },
      "input":{"shape":"GetApiKeyRequest"},
      "output":{"shape":"ApiKey"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetApiKeys":{
      "name":"GetApiKeys",
      "http":{
        "method":"GET",
        "requestUri":"/apikeys"
      },
      "input":{"shape":"GetApiKeysRequest"},
      "output":{"shape":"ApiKeys"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetAuthorizer":{
      "name":"GetAuthorizer",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}"
      },
      "input":{"shape":"GetAuthorizerRequest"},
      "output":{"shape":"Authorizer"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetAuthorizers":{
      "name":"GetAuthorizers",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/authorizers"
      },
      "input":{"shape":"GetAuthorizersRequest"},
      "output":{"shape":"Authorizers"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetBasePathMapping":{
      "name":"GetBasePathMapping",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}"
      },
      "input":{"shape":"GetBasePathMappingRequest"},
      "output":{"shape":"BasePathMapping"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetBasePathMappings":{
      "name":"GetBasePathMappings",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames/{domain_name}/basepathmappings"
      },
      "input":{"shape":"GetBasePathMappingsRequest"},
      "output":{"shape":"BasePathMappings"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetClientCertificate":{
      "name":"GetClientCertificate",
      "http":{
        "method":"GET",
        "requestUri":"/clientcertificates/{clientcertificate_id}"
      },
      "input":{"shape":"GetClientCertificateRequest"},
      "output":{"shape":"ClientCertificate"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetClientCertificates":{
      "name":"GetClientCertificates",
      "http":{
        "method":"GET",
        "requestUri":"/clientcertificates"
      },
      "input":{"shape":"GetClientCertificatesRequest"},
      "output":{"shape":"ClientCertificates"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetDeployment":{
      "name":"GetDeployment",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}"
      },
      "input":{"shape":"GetDeploymentRequest"},
      "output":{"shape":"Deployment"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ServiceUnavailableException"}
      ]
    },
    "GetDeployments":{
      "name":"GetDeployments",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/deployments"
      },
      "input":{"shape":"GetDeploymentsRequest"},
      "output":{"shape":"Deployments"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ServiceUnavailableException"}
      ]
    },
    "GetDomainName":{
      "name":"GetDomainName",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames/{domain_name}"
      },
      "input":{"shape":"GetDomainNameRequest"},
      "output":{"shape":"DomainName"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetDomainNames":{
      "name":"GetDomainNames",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames"
      },
      "input":{"shape":"GetDomainNamesRequest"},
      "output":{"shape":"DomainNames"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetExport":{
      "name":"GetExport",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
        "responseCode":200
      },
      "input":{"shape":"GetExportRequest"},
      "output":{"shape":"ExportResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetIntegration":{
      "name":"GetIntegration",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
      },
      "input":{"shape":"GetIntegrationRequest"},
      "output":{"shape":"Integration"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetIntegrationResponse":{
      "name":"GetIntegrationResponse",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
      },
      "input":{"shape":"GetIntegrationResponseRequest"},
      "output":{"shape":"IntegrationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetMethod":{
      "name":"GetMethod",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input":{"shape":"GetMethodRequest"},
      "output":{"shape":"Method"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetMethodResponse":{
      "name":"GetMethodResponse",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}"
      },
      "input":{"shape":"GetMethodResponseRequest"},
      "output":{"shape":"MethodResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetModel":{
      "name":"GetModel",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}"
      },
      "input":{"shape":"GetModelRequest"},
      "output":{"shape":"Model"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetModelTemplate":{
      "name":"GetModelTemplate",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}/default_template"
      },
      "input":{"shape":"GetModelTemplateRequest"},
      "output":{"shape":"Template"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetModels":{
      "name":"GetModels",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/models"
      },
      "input":{"shape":"GetModelsRequest"},
      "output":{"shape":"Models"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetResource":{
      "name":"GetResource",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}"
      },
      "input":{"shape":"GetResourceRequest"},
      "output":{"shape":"Resource"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetResources":{
      "name":"GetResources",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources"
      },
      "input":{"shape":"GetResourcesRequest"},
      "output":{"shape":"Resources"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetRestApi":{
      "name":"GetRestApi",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}"
      },
      "input":{"shape":"GetRestApiRequest"},
      "output":{"shape":"RestApi"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetRestApis":{
      "name":"GetRestApis",
      "http":{
        "method":"GET",
        "requestUri":"/restapis"
      },
      "input":{"shape":"GetRestApisRequest"},
      "output":{"shape":"RestApis"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetSdk":{
      "name":"GetSdk",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
        "responseCode":200
      },
      "input":{"shape":"GetSdkRequest"},
      "output":{"shape":"SdkResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetStage":{
      "name":"GetStage",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}"
      },
      "input":{"shape":"GetStageRequest"},
      "output":{"shape":"Stage"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "GetStages":{
      "name":"GetStages",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages"
      },
      "input":{"shape":"GetStagesRequest"},
      "output":{"shape":"Stages"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "ImportRestApi":{
      "name":"ImportRestApi",
      "http":{
        "method":"POST",
        "requestUri":"/restapis?mode=import",
        "responseCode":201
      },
      "input":{"shape":"ImportRestApiRequest"},
      "output":{"shape":"RestApi"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "PutIntegration":{
      "name":"PutIntegration",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
        "responseCode":201
      },
      "input":{"shape":"PutIntegrationRequest"},
      "output":{"shape":"Integration"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "PutIntegrationResponse":{
      "name":"PutIntegrationResponse",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
        "responseCode":201
      },
      "input":{"shape":"PutIntegrationResponseRequest"},
      "output":{"shape":"IntegrationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ConflictException"}
      ]
    },
    "PutMethod":{
      "name":"PutMethod",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
        "responseCode":201
      },
      "input":{"shape":"PutMethodRequest"},
      "output":{"shape":"Method"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "PutMethodResponse":{
      "name":"PutMethodResponse",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode":201
      },
      "input":{"shape":"PutMethodResponseRequest"},
      "output":{"shape":"MethodResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "PutRestApi":{
      "name":"PutRestApi",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}"
      },
      "input":{"shape":"PutRestApiRequest"},
      "output":{"shape":"RestApi"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"LimitExceededException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ConflictException"}
      ]
    },
    "TestInvokeAuthorizer":{
      "name":"TestInvokeAuthorizer",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}"
      },
      "input":{"shape":"TestInvokeAuthorizerRequest"},
      "output":{"shape":"TestInvokeAuthorizerResponse"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "TestInvokeMethod":{
      "name":"TestInvokeMethod",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input":{"shape":"TestInvokeMethodRequest"},
      "output":{"shape":"TestInvokeMethodResponse"},
      "errors":[
        {"shape":"BadRequestException"},
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateAccount":{
      "name":"UpdateAccount",
      "http":{
        "method":"PATCH",
        "requestUri":"/account"
      },
      "input":{"shape":"UpdateAccountRequest"},
      "output":{"shape":"Account"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"BadRequestException"},
        {"shape":"NotFoundException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateApiKey":{
      "name":"UpdateApiKey",
      "http":{
        "method":"PATCH",
        "requestUri":"/apikeys/{api_Key}"
      },
      "input":{"shape":"UpdateApiKeyRequest"},
      "output":{"shape":"ApiKey"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateAuthorizer":{
      "name":"UpdateAuthorizer",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}"
      },
      "input":{"shape":"UpdateAuthorizerRequest"},
      "output":{"shape":"Authorizer"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateBasePathMapping":{
      "name":"UpdateBasePathMapping",
      "http":{
        "method":"PATCH",
        "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}"
      },
      "input":{"shape":"UpdateBasePathMappingRequest"},
      "output":{"shape":"BasePathMapping"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateClientCertificate":{
      "name":"UpdateClientCertificate",
      "http":{
        "method":"PATCH",
        "requestUri":"/clientcertificates/{clientcertificate_id}"
      },
      "input":{"shape":"UpdateClientCertificateRequest"},
      "output":{"shape":"ClientCertificate"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"BadRequestException"},
        {"shape":"NotFoundException"}
      ]
    },
    "UpdateDeployment":{
      "name":"UpdateDeployment",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}"
      },
      "input":{"shape":"UpdateDeploymentRequest"},
      "output":{"shape":"Deployment"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ServiceUnavailableException"}
      ]
    },
    "UpdateDomainName":{
      "name":"UpdateDomainName",
      "http":{
        "method":"PATCH",
        "requestUri":"/domainnames/{domain_name}"
      },
      "input":{"shape":"UpdateDomainNameRequest"},
      "output":{"shape":"DomainName"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateIntegration":{
      "name":"UpdateIntegration",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
      },
      "input":{"shape":"UpdateIntegrationRequest"},
      "output":{"shape":"Integration"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"},
        {"shape":"ConflictException"}
      ]
    },
    "UpdateIntegrationResponse":{
      "name":"UpdateIntegrationResponse",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
      },
      "input":{"shape":"UpdateIntegrationResponseRequest"},
      "output":{"shape":"IntegrationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateMethod":{
      "name":"UpdateMethod",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input":{"shape":"UpdateMethodRequest"},
      "output":{"shape":"Method"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateMethodResponse":{
      "name":"UpdateMethodResponse",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode":201
      },
      "input":{"shape":"UpdateMethodResponseRequest"},
      "output":{"shape":"MethodResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateModel":{
      "name":"UpdateModel",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}"
      },
      "input":{"shape":"UpdateModelRequest"},
      "output":{"shape":"Model"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"BadRequestException"},
        {"shape":"ConflictException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateResource":{
      "name":"UpdateResource",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}"
      },
      "input":{"shape":"UpdateResourceRequest"},
      "output":{"shape":"Resource"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateRestApi":{
      "name":"UpdateRestApi",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}"
      },
      "input":{"shape":"UpdateRestApiRequest"},
      "output":{"shape":"RestApi"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    },
    "UpdateStage":{
      "name":"UpdateStage",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}"
      },
      "input":{"shape":"UpdateStageRequest"},
      "output":{"shape":"Stage"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"NotFoundException"},
        {"shape":"ConflictException"},
        {"shape":"BadRequestException"},
        {"shape":"TooManyRequestsException"}
      ]
    }
  },
  "shapes":{
    "Account":{
      "type":"structure",
      "members":{
        "cloudwatchRoleArn":{"shape":"String"},
        "throttleSettings":{"shape":"ThrottleSettings"}
      }
    },
    "ApiKey":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "name":{"shape":"String"},
        "description":{"shape":"String"},
        "enabled":{"shape":"Boolean"},
        "stageKeys":{"shape":"ListOfString"},
        "createdDate":{"shape":"Timestamp"},
        "lastUpdatedDate":{"shape":"Timestamp"}
      }
    },
    "ApiKeys":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfApiKey",
          "locationName":"item"
        }
      }
    },
    "Authorizer":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "name":{"shape":"String"},
        "type":{"shape":"AuthorizerType"},
        "providerARNs":{"shape":"ListOfARNs"},
        "authType":{"shape":"String"},
        "authorizerUri":{"shape":"String"},
        "authorizerCredentials":{"shape":"String"},
        "identitySource":{"shape":"String"},
        "identityValidationExpression":{"shape":"String"},
        "authorizerResultTtlInSeconds":{"shape":"NullableInteger"}
      }
    },
    "AuthorizerType":{
      "type":"string",
      "enum":[
        "TOKEN",
        "COGNITO_USER_POOLS"
      ]
    },
    "Authorizers":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfAuthorizer",
          "locationName":"item"
        }
      }
    },
    "BadRequestException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "BasePathMapping":{
      "type":"structure",
      "members":{
        "basePath":{"shape":"String"},
        "restApiId":{"shape":"String"},
        "stage":{"shape":"String"}
      }
    },
    "BasePathMappings":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfBasePathMapping",
          "locationName":"item"
        }
      }
    },
    "Blob":{"type":"blob"},
    "Boolean":{"type":"boolean"},
    "CacheClusterSize":{
      "type":"string",
      "enum":[
        "0.5",
        "1.6",
        "6.1",
        "13.5",
        "28.4",
        "58.2",
        "118",
        "237"
      ]
    },
    "CacheClusterStatus":{
      "type":"string",
      "enum":[
        "CREATE_IN_PROGRESS",
        "AVAILABLE",
        "DELETE_IN_PROGRESS",
        "NOT_AVAILABLE",
        "FLUSH_IN_PROGRESS"
      ]
    },
    "ClientCertificate":{
      "type":"structure",
      "members":{
        "clientCertificateId":{"shape":"String"},
        "description":{"shape":"String"},
        "pemEncodedCertificate":{"shape":"String"},
        "createdDate":{"shape":"Timestamp"},
        "expirationDate":{"shape":"Timestamp"}
      }
    },
    "ClientCertificates":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfClientCertificate",
          "locationName":"item"
        }
      }
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":409},
      "exception":true
    },
    "CreateApiKeyRequest":{
      "type":"structure",
      "members":{
        "name":{"shape":"String"},
        "description":{"shape":"String"},
        "enabled":{"shape":"Boolean"},
        "stageKeys":{"shape":"ListOfStageKeys"}
      }
    },
    "CreateAuthorizerRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "name",
        "type",
        "identitySource"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "name":{"shape":"String"},
        "type":{"shape":"AuthorizerType"},
        "providerARNs":{"shape":"ListOfARNs"},
        "authType":{"shape":"String"},
        "authorizerUri":{"shape":"String"},
        "authorizerCredentials":{"shape":"String"},
        "identitySource":{"shape":"String"},
        "identityValidationExpression":{"shape":"String"},
        "authorizerResultTtlInSeconds":{"shape":"NullableInteger"}
      }
    },
    "CreateBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "restApiId"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        },
        "basePath":{"shape":"String"},
        "restApiId":{"shape":"String"},
        "stage":{"shape":"String"}
      }
    },
    "CreateDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{"shape":"String"},
        "stageDescription":{"shape":"String"},
        "description":{"shape":"String"},
        "cacheClusterEnabled":{"shape":"NullableBoolean"},
        "cacheClusterSize":{"shape":"CacheClusterSize"},
        "variables":{"shape":"MapOfStringToString"}
      }
    },
    "CreateDomainNameRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "certificateName",
        "certificateBody",
        "certificatePrivateKey",
        "certificateChain"
      ],
      "members":{
        "domainName":{"shape":"String"},
        "certificateName":{"shape":"String"},
        "certificateBody":{"shape":"String"},
        "certificatePrivateKey":{"shape":"String"},
        "certificateChain":{"shape":"String"}
      }
    },
    "CreateModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "name",
        "contentType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "name":{"shape":"String"},
        "description":{"shape":"String"},
        "schema":{"shape":"String"},
        "contentType":{"shape":"String"}
      }
    },
    "CreateResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "parentId",
        "pathPart"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "parentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"parent_id"
        },
        "pathPart":{"shape":"String"}
      }
    },
    "CreateRestApiRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{"shape":"String"},
        "description":{"shape":"String"},
        "cloneFrom":{"shape":"String"}
      }
    },
    "CreateStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{"shape":"String"},
        "deploymentId":{"shape":"String"},
        "description":{"shape":"String"},
        "cacheClusterEnabled":{"shape":"Boolean"},
        "cacheClusterSize":{"shape":"CacheClusterSize"},
        "variables":{"shape":"MapOfStringToString"}
      }
    },
    "DeleteApiKeyRequest":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"String",
          "location":"uri",
          "locationName":"api_Key"
        }
      }
    },
    "DeleteAuthorizerRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "authorizerId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "authorizerId":{
          "shape":"String",
          "location":"uri",
          "locationName":"authorizer_id"
        }
      }
    },
    "DeleteBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "basePath"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        },
        "basePath":{
          "shape":"String",
          "location":"uri",
          "locationName":"base_path"
        }
      }
    },
    "DeleteClientCertificateRequest":{
      "type":"structure",
      "required":["clientCertificateId"],
      "members":{
        "clientCertificateId":{
          "shape":"String",
          "location":"uri",
          "locationName":"clientcertificate_id"
        }
      }
    },
    "DeleteDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "deploymentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"deployment_id"
        }
      }
    },
    "DeleteDomainNameRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        }
      }
    },
    "DeleteIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        }
      }
    },
    "DeleteIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        }
      }
    },
    "DeleteMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        }
      }
    },
    "DeleteMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        }
      }
    },
    "DeleteModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name"
        }
      }
    },
    "DeleteResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        }
      }
    },
    "DeleteRestApiRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        }
      }
    },
    "DeleteStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        }
      }
    },
    "Deployment":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "description":{"shape":"String"},
        "createdDate":{"shape":"Timestamp"},
        "apiSummary":{"shape":"PathToMapOfMethodSnapshot"}
      }
    },
    "Deployments":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfDeployment",
          "locationName":"item"
        }
      }
    },
    "DomainName":{
      "type":"structure",
      "members":{
        "domainName":{"shape":"String"},
        "certificateName":{"shape":"String"},
        "certificateUploadDate":{"shape":"Timestamp"},
        "distributionDomainName":{"shape":"String"}
      }
    },
    "DomainNames":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfDomainName",
          "locationName":"item"
        }
      }
    },
    "Double":{"type":"double"},
    "ExportResponse":{
      "type":"structure",
      "members":{
        "contentType":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Type"
        },
        "contentDisposition":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Disposition"
        },
        "body":{"shape":"Blob"}
      },
      "payload":"body"
    },
    "FlushStageAuthorizersCacheRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        }
      }
    },
    "FlushStageCacheRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        }
      }
    },
    "GenerateClientCertificateRequest":{
      "type":"structure",
      "members":{
        "description":{"shape":"String"}
      }
    },
    "GetAccountRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetApiKeyRequest":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"String",
          "location":"uri",
          "locationName":"api_Key"
        }
      }
    },
    "GetApiKeysRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetAuthorizerRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "authorizerId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "authorizerId":{
          "shape":"String",
          "location":"uri",
          "locationName":"authorizer_id"
        }
      }
    },
    "GetAuthorizersRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "basePath"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        },
        "basePath":{
          "shape":"String",
          "location":"uri",
          "locationName":"base_path"
        }
      }
    },
    "GetBasePathMappingsRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetClientCertificateRequest":{
      "type":"structure",
      "required":["clientCertificateId"],
      "members":{
        "clientCertificateId":{
          "shape":"String",
          "location":"uri",
          "locationName":"clientcertificate_id"
        }
      }
    },
    "GetClientCertificatesRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "deploymentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"deployment_id"
        }
      }
    },
    "GetDeploymentsRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetDomainNameRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        }
      }
    },
    "GetDomainNamesRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetExportRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName",
        "exportType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        },
        "exportType":{
          "shape":"String",
          "location":"uri",
          "locationName":"export_type"
        },
        "parameters":{
          "shape":"MapOfStringToString",
          "location":"querystring"
        },
        "accepts":{
          "shape":"String",
          "location":"header",
          "locationName":"Accept"
        }
      }
    },
    "GetIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        }
      }
    },
    "GetIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        }
      }
    },
    "GetMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        }
      }
    },
    "GetMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        }
      }
    },
    "GetModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name"
        },
        "flatten":{
          "shape":"Boolean",
          "location":"querystring",
          "locationName":"flatten"
        }
      }
    },
    "GetModelTemplateRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name"
        }
      }
    },
    "GetModelsRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        }
      }
    },
    "GetResourcesRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetRestApiRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        }
      }
    },
    "GetRestApisRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetSdkRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName",
        "sdkType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        },
        "sdkType":{
          "shape":"String",
          "location":"uri",
          "locationName":"sdk_type"
        },
        "parameters":{
          "shape":"MapOfStringToString",
          "location":"querystring"
        }
      }
    },
    "GetStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        }
      }
    },
    "GetStagesRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "deploymentId":{
          "shape":"String",
          "location":"querystring",
          "locationName":"deploymentId"
        }
      }
    },
    "ImportRestApiRequest":{
      "type":"structure",
      "required":["body"],
      "members":{
        "failOnWarnings":{
          "shape":"Boolean",
          "location":"querystring",
          "locationName":"failonwarnings"
        },
        "parameters":{
          "shape":"MapOfStringToString",
          "location":"querystring"
        },
        "body":{"shape":"Blob"}
      },
      "payload":"body"
    },
    "Integer":{"type":"integer"},
    "Integration":{
      "type":"structure",
      "members":{
        "type":{"shape":"IntegrationType"},
        "httpMethod":{"shape":"String"},
        "uri":{"shape":"String"},
        "credentials":{"shape":"String"},
        "requestParameters":{"shape":"MapOfStringToString"},
        "requestTemplates":{"shape":"MapOfStringToString"},
        "passthroughBehavior":{"shape":"String"},
        "cacheNamespace":{"shape":"String"},
        "cacheKeyParameters":{"shape":"ListOfString"},
        "integrationResponses":{"shape":"MapOfIntegrationResponse"}
      }
    },
    "IntegrationResponse":{
      "type":"structure",
      "members":{
        "statusCode":{"shape":"StatusCode"},
        "selectionPattern":{"shape":"String"},
        "responseParameters":{"shape":"MapOfStringToString"},
        "responseTemplates":{"shape":"MapOfStringToString"}
      }
    },
    "IntegrationType":{
      "type":"string",
      "enum":[
        "HTTP",
        "AWS",
        "MOCK"
      ]
    },
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "retryAfterSeconds":{
          "shape":"String",
          "location":"header",
          "locationName":"Retry-After"
        },
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "ListOfARNs":{
      "type":"list",
      "member":{"shape":"ProviderARN"}
    },
    "ListOfApiKey":{
      "type":"list",
      "member":{"shape":"ApiKey"}
    },
    "ListOfAuthorizer":{
      "type":"list",
      "member":{"shape":"Authorizer"}
    },
    "ListOfBasePathMapping":{
      "type":"list",
      "member":{"shape":"BasePathMapping"}
    },
    "ListOfClientCertificate":{
      "type":"list",
      "member":{"shape":"ClientCertificate"}
    },
    "ListOfDeployment":{
      "type":"list",
      "member":{"shape":"Deployment"}
    },
    "ListOfDomainName":{
      "type":"list",
      "member":{"shape":"DomainName"}
    },
    "ListOfModel":{
      "type":"list",
      "member":{"shape":"Model"}
    },
    "ListOfPatchOperation":{
      "type":"list",
      "member":{"shape":"PatchOperation"}
    },
    "ListOfResource":{
      "type":"list",
      "member":{"shape":"Resource"}
    },
    "ListOfRestApi":{
      "type":"list",
      "member":{"shape":"RestApi"}
    },
    "ListOfStage":{
      "type":"list",
      "member":{"shape":"Stage"}
    },
    "ListOfStageKeys":{
      "type":"list",
      "member":{"shape":"StageKey"}
    },
    "ListOfString":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "Long":{"type":"long"},
    "MapOfHeaderValues":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "MapOfIntegrationResponse":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"IntegrationResponse"}
    },
    "MapOfMethod":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"Method"}
    },
    "MapOfMethodResponse":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MethodResponse"}
    },
    "MapOfMethodSettings":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MethodSetting"}
    },
    "MapOfMethodSnapshot":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MethodSnapshot"}
    },
    "MapOfStringToBoolean":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"NullableBoolean"}
    },
    "MapOfStringToList":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"ListOfString"}
    },
    "MapOfStringToString":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "Method":{
      "type":"structure",
      "members":{
        "httpMethod":{"shape":"String"},
        "authorizationType":{"shape":"String"},
        "authorizerId":{"shape":"String"},
        "apiKeyRequired":{"shape":"NullableBoolean"},
        "requestParameters":{"shape":"MapOfStringToBoolean"},
        "requestModels":{"shape":"MapOfStringToString"},
        "methodResponses":{"shape":"MapOfMethodResponse"},
        "methodIntegration":{"shape":"Integration"}
      }
    },
    "MethodResponse":{
      "type":"structure",
      "members":{
        "statusCode":{"shape":"StatusCode"},
        "responseParameters":{"shape":"MapOfStringToBoolean"},
        "responseModels":{"shape":"MapOfStringToString"}
      }
    },
    "MethodSetting":{
      "type":"structure",
      "members":{
        "metricsEnabled":{"shape":"Boolean"},
        "loggingLevel":{"shape":"String"},
        "dataTraceEnabled":{"shape":"Boolean"},
        "throttlingBurstLimit":{"shape":"Integer"},
        "throttlingRateLimit":{"shape":"Double"},
        "cachingEnabled":{"shape":"Boolean"},
        "cacheTtlInSeconds":{"shape":"Integer"},
        "cacheDataEncrypted":{"shape":"Boolean"},
        "requireAuthorizationForCacheControl":{"shape":"Boolean"},
        "unauthorizedCacheControlHeaderStrategy":{"shape":"UnauthorizedCacheControlHeaderStrategy"}
      }
    },
    "MethodSnapshot":{
      "type":"structure",
      "members":{
        "authorizationType":{"shape":"String"},
        "apiKeyRequired":{"shape":"Boolean"}
      }
    },
    "Model":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "name":{"shape":"String"},
        "description":{"shape":"String"},
        "schema":{"shape":"String"},
        "contentType":{"shape":"String"}
      }
    },
    "Models":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfModel",
          "locationName":"item"
        }
      }
    },
    "NotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":404},
      "exception":true
    },
    "NullableBoolean":{"type":"boolean"},
    "NullableInteger":{"type":"integer"},
    "PatchOperation":{
      "type":"structure",
      "members":{
        "op":{"shape":"op"},
        "path":{"shape":"String"},
        "value":{"shape":"String"},
        "from":{"shape":"String"}
      }
    },
    "PathToMapOfMethodSnapshot":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MapOfMethodSnapshot"}
    },
    "ProviderARN":{"type":"string"},
    "PutIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "type"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "type":{"shape":"IntegrationType"},
        "integrationHttpMethod":{
          "shape":"String",
          "locationName":"httpMethod"
        },
        "uri":{"shape":"String"},
        "credentials":{"shape":"String"},
        "requestParameters":{"shape":"MapOfStringToString"},
        "requestTemplates":{"shape":"MapOfStringToString"},
        "passthroughBehavior":{"shape":"String"},
        "cacheNamespace":{"shape":"String"},
        "cacheKeyParameters":{"shape":"ListOfString"}
      }
    },
    "PutIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        },
        "selectionPattern":{"shape":"String"},
        "responseParameters":{"shape":"MapOfStringToString"},
        "responseTemplates":{"shape":"MapOfStringToString"}
      }
    },
    "PutMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "authorizationType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "authorizationType":{"shape":"String"},
        "authorizerId":{"shape":"String"},
        "apiKeyRequired":{"shape":"Boolean"},
        "requestParameters":{"shape":"MapOfStringToBoolean"},
        "requestModels":{"shape":"MapOfStringToString"}
      }
    },
    "PutMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        },
        "responseParameters":{"shape":"MapOfStringToBoolean"},
        "responseModels":{"shape":"MapOfStringToString"}
      }
    },
    "PutMode":{
      "type":"string",
      "enum":[
        "merge",
        "overwrite"
      ]
    },
    "PutRestApiRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "body"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "mode":{
          "shape":"PutMode",
          "location":"querystring",
          "locationName":"mode"
        },
        "failOnWarnings":{
          "shape":"Boolean",
          "location":"querystring",
          "locationName":"failonwarnings"
        },
        "parameters":{
          "shape":"MapOfStringToString",
          "location":"querystring"
        },
        "body":{"shape":"Blob"}
      },
      "payload":"body"
    },
    "Resource":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "parentId":{"shape":"String"},
        "pathPart":{"shape":"String"},
        "path":{"shape":"String"},
        "resourceMethods":{"shape":"MapOfMethod"}
      }
    },
    "Resources":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfResource",
          "locationName":"item"
        }
      }
    },
    "RestApi":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "name":{"shape":"String"},
        "description":{"shape":"String"},
        "createdDate":{"shape":"Timestamp"},
        "warnings":{"shape":"ListOfString"}
      }
    },
    "RestApis":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfRestApi",
          "locationName":"item"
        }
      }
    },
    "SdkResponse":{
      "type":"structure",
      "members":{
        "contentType":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Type"
        },
        "contentDisposition":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Disposition"
        },
        "body":{"shape":"Blob"}
      },
      "payload":"body"
    },
    "ServiceUnavailableException":{
      "type":"structure",
      "members":{
        "retryAfterSeconds":{
          "shape":"String",
          "location":"header",
          "locationName":"Retry-After"
        },
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":503},
      "exception":true,
      "fault":true
    },
    "Stage":{
      "type":"structure",
      "members":{
        "deploymentId":{"shape":"String"},
        "clientCertificateId":{"shape":"String"},
        "stageName":{"shape":"String"},
        "description":{"shape":"String"},
        "cacheClusterEnabled":{"shape":"Boolean"},
        "cacheClusterSize":{"shape":"CacheClusterSize"},
        "cacheClusterStatus":{"shape":"CacheClusterStatus"},
        "methodSettings":{"shape":"MapOfMethodSettings"},
        "variables":{"shape":"MapOfStringToString"},
        "createdDate":{"shape":"Timestamp"},
        "lastUpdatedDate":{"shape":"Timestamp"}
      }
    },
    "StageKey":{
      "type":"structure",
      "members":{
        "restApiId":{"shape":"String"},
        "stageName":{"shape":"String"}
      }
    },
    "Stages":{
      "type":"structure",
      "members":{
        "item":{"shape":"ListOfStage"}
      }
    },
    "StatusCode":{
      "type":"string",
      "pattern":"[1-5]\\d\\d"
    },
    "String":{"type":"string"},
    "Template":{
      "type":"structure",
      "members":{
        "value":{"shape":"String"}
      }
    },
    "TestInvokeAuthorizerRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "authorizerId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "authorizerId":{
          "shape":"String",
          "location":"uri",
          "locationName":"authorizer_id"
        },
        "headers":{"shape":"MapOfHeaderValues"},
        "pathWithQueryString":{"shape":"String"},
        "body":{"shape":"String"},
        "stageVariables":{"shape":"MapOfStringToString"},
        "additionalContext":{"shape":"MapOfStringToString"}
      }
    },
    "TestInvokeAuthorizerResponse":{
      "type":"structure",
      "members":{
        "clientStatus":{"shape":"Integer"},
        "log":{"shape":"String"},
        "latency":{"shape":"Long"},
        "principalId":{"shape":"String"},
        "policy":{"shape":"String"},
        "authorization":{"shape":"MapOfStringToList"},
        "claims":{"shape":"MapOfStringToString"}
      }
    },
    "TestInvokeMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "pathWithQueryString":{"shape":"String"},
        "body":{"shape":"String"},
        "headers":{"shape":"MapOfHeaderValues"},
        "clientCertificateId":{"shape":"String"},
        "stageVariables":{"shape":"MapOfStringToString"}
      }
    },
    "TestInvokeMethodResponse":{
      "type":"structure",
      "members":{
        "status":{"shape":"Integer"},
        "body":{"shape":"String"},
        "headers":{"shape":"MapOfHeaderValues"},
        "log":{"shape":"String"},
        "latency":{"shape":"Long"}
      }
    },
    "ThrottleSettings":{
      "type":"structure",
      "members":{
        "burstLimit":{"shape":"Integer"},
        "rateLimit":{"shape":"Double"}
      }
    },
    "Timestamp":{"type":"timestamp"},
    "TooManyRequestsException":{
      "type":"structure",
      "members":{
        "retryAfterSeconds":{
          "shape":"String",
          "location":"header",
          "locationName":"Retry-After"
        },
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "UnauthorizedCacheControlHeaderStrategy":{
      "type":"string",
      "enum":[
        "FAIL_WITH_403",
        "SUCCEED_WITH_RESPONSE_HEADER",
        "SUCCEED_WITHOUT_RESPONSE_HEADER"
      ]
    },
    "UnauthorizedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":401},
      "exception":true
    },
    "UpdateAccountRequest":{
      "type":"structure",
      "members":{
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateApiKeyRequest":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"String",
          "location":"uri",
          "locationName":"api_Key"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateAuthorizerRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "authorizerId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "authorizerId":{
          "shape":"String",
          "location":"uri",
          "locationName":"authorizer_id"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "basePath"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        },
        "basePath":{
          "shape":"String",
          "location":"uri",
          "locationName":"base_path"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateClientCertificateRequest":{
      "type":"structure",
      "required":["clientCertificateId"],
      "members":{
        "clientCertificateId":{
          "shape":"String",
          "location":"uri",
          "locationName":"clientcertificate_id"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "deploymentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"deployment_id"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateDomainNameRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateRestApiRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "UpdateStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        },
        "patchOperations":{"shape":"ListOfPatchOperation"}
      }
    },
    "op":{
      "type":"string",
      "enum":[
        "add",
        "remove",
        "replace",
        "move",
        "copy",
        "test"
      ]
    }
  }
}
