{
  "metadata": {
    "apiVersion": "2018-11-29",
    "endpointPrefix": "apigateway",
    "signingName": "apigateway",
    "serviceFullName": "AmazonApiGatewayV2",
    "serviceId": "ApiGatewayV2",
    "protocol": "rest-json",
    "jsonVersion": "1.1",
    "uid": "apigatewayv2-2018-11-29",
    "signatureVersion": "v4"
  },
  "operations": {
    "CreateApi": {
      "http": {
        "requestUri": "/v2/apis",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiKeySelectionExpression": {
            "locationName": "apiKeySelectionExpression"
          },
          "Description": {
            "locationName": "description"
          },
          "DisableSchemaValidation": {
            "locationName": "disableSchemaValidation",
            "type": "boolean"
          },
          "Name": {
            "locationName": "name"
          },
          "ProtocolType": {
            "locationName": "protocolType"
          },
          "RouteSelectionExpression": {
            "locationName": "routeSelectionExpression"
          },
          "Version": {
            "locationName": "version"
          }
        },
        "required": [
          "RouteSelectionExpression",
          "ProtocolType",
          "Name"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiEndpoint": {
            "locationName": "apiEndpoint"
          },
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiKeySelectionExpression": {
            "locationName": "apiKeySelectionExpression"
          },
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "Description": {
            "locationName": "description"
          },
          "DisableSchemaValidation": {
            "locationName": "disableSchemaValidation",
            "type": "boolean"
          },
          "Name": {
            "locationName": "name"
          },
          "ProtocolType": {
            "locationName": "protocolType"
          },
          "RouteSelectionExpression": {
            "locationName": "routeSelectionExpression"
          },
          "Version": {
            "locationName": "version"
          },
          "Warnings": {
            "shape": "Sc",
            "locationName": "warnings"
          }
        }
      }
    },
    "CreateApiMapping": {
      "http": {
        "requestUri": "/v2/domainnames/{domainName}/apimappings",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiMappingKey": {
            "locationName": "apiMappingKey"
          },
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          },
          "Stage": {
            "locationName": "stage"
          }
        },
        "required": [
          "DomainName",
          "Stage",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "locationName": "apiMappingId"
          },
          "ApiMappingKey": {
            "locationName": "apiMappingKey"
          },
          "Stage": {
            "locationName": "stage"
          }
        }
      }
    },
    "CreateAuthorizer": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/authorizers",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "AuthorizerCredentialsArn": {
            "locationName": "authorizerCredentialsArn"
          },
          "AuthorizerResultTtlInSeconds": {
            "locationName": "authorizerResultTtlInSeconds",
            "type": "integer"
          },
          "AuthorizerType": {
            "locationName": "authorizerType"
          },
          "AuthorizerUri": {
            "locationName": "authorizerUri"
          },
          "IdentitySource": {
            "shape": "Sl",
            "locationName": "identitySource"
          },
          "IdentityValidationExpression": {
            "locationName": "identityValidationExpression"
          },
          "Name": {
            "locationName": "name"
          },
          "ProviderArns": {
            "shape": "Sm",
            "locationName": "providerArns"
          }
        },
        "required": [
          "ApiId",
          "AuthorizerUri",
          "AuthorizerType",
          "IdentitySource",
          "Name"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "AuthorizerCredentialsArn": {
            "locationName": "authorizerCredentialsArn"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "AuthorizerResultTtlInSeconds": {
            "locationName": "authorizerResultTtlInSeconds",
            "type": "integer"
          },
          "AuthorizerType": {
            "locationName": "authorizerType"
          },
          "AuthorizerUri": {
            "locationName": "authorizerUri"
          },
          "IdentitySource": {
            "shape": "Sl",
            "locationName": "identitySource"
          },
          "IdentityValidationExpression": {
            "locationName": "identityValidationExpression"
          },
          "Name": {
            "locationName": "name"
          },
          "ProviderArns": {
            "shape": "Sm",
            "locationName": "providerArns"
          }
        }
      }
    },
    "CreateDeployment": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/deployments",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "Description": {
            "locationName": "description"
          },
          "StageName": {
            "locationName": "stageName"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "DeploymentStatus": {
            "locationName": "deploymentStatus"
          },
          "DeploymentStatusMessage": {
            "locationName": "deploymentStatusMessage"
          },
          "Description": {
            "locationName": "description"
          }
        }
      }
    },
    "CreateDomainName": {
      "http": {
        "requestUri": "/v2/domainnames",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "DomainName": {
            "locationName": "domainName"
          },
          "DomainNameConfigurations": {
            "shape": "St",
            "locationName": "domainNameConfigurations"
          }
        },
        "required": [
          "DomainName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiMappingSelectionExpression": {
            "locationName": "apiMappingSelectionExpression"
          },
          "DomainName": {
            "locationName": "domainName"
          },
          "DomainNameConfigurations": {
            "shape": "St",
            "locationName": "domainNameConfigurations"
          }
        }
      }
    },
    "CreateIntegration": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/integrations",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ConnectionId": {
            "locationName": "connectionId"
          },
          "ConnectionType": {
            "locationName": "connectionType"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "CredentialsArn": {
            "locationName": "credentialsArn"
          },
          "Description": {
            "locationName": "description"
          },
          "IntegrationMethod": {
            "locationName": "integrationMethod"
          },
          "IntegrationType": {
            "locationName": "integrationType"
          },
          "IntegrationUri": {
            "locationName": "integrationUri"
          },
          "PassthroughBehavior": {
            "locationName": "passthroughBehavior"
          },
          "RequestParameters": {
            "shape": "S13",
            "locationName": "requestParameters"
          },
          "RequestTemplates": {
            "shape": "S14",
            "locationName": "requestTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          },
          "TimeoutInMillis": {
            "locationName": "timeoutInMillis",
            "type": "integer"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ConnectionId": {
            "locationName": "connectionId"
          },
          "ConnectionType": {
            "locationName": "connectionType"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "CredentialsArn": {
            "locationName": "credentialsArn"
          },
          "Description": {
            "locationName": "description"
          },
          "IntegrationId": {
            "locationName": "integrationId"
          },
          "IntegrationMethod": {
            "locationName": "integrationMethod"
          },
          "IntegrationResponseSelectionExpression": {
            "locationName": "integrationResponseSelectionExpression"
          },
          "IntegrationType": {
            "locationName": "integrationType"
          },
          "IntegrationUri": {
            "locationName": "integrationUri"
          },
          "PassthroughBehavior": {
            "locationName": "passthroughBehavior"
          },
          "RequestParameters": {
            "shape": "S13",
            "locationName": "requestParameters"
          },
          "RequestTemplates": {
            "shape": "S14",
            "locationName": "requestTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          },
          "TimeoutInMillis": {
            "locationName": "timeoutInMillis",
            "type": "integer"
          }
        }
      }
    },
    "CreateIntegrationResponse": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          },
          "IntegrationResponseKey": {
            "locationName": "integrationResponseKey"
          },
          "ResponseParameters": {
            "shape": "S13",
            "locationName": "responseParameters"
          },
          "ResponseTemplates": {
            "shape": "S14",
            "locationName": "responseTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          }
        },
        "required": [
          "ApiId",
          "IntegrationId",
          "IntegrationResponseKey"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "IntegrationResponseId": {
            "locationName": "integrationResponseId"
          },
          "IntegrationResponseKey": {
            "locationName": "integrationResponseKey"
          },
          "ResponseParameters": {
            "shape": "S13",
            "locationName": "responseParameters"
          },
          "ResponseTemplates": {
            "shape": "S14",
            "locationName": "responseTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          }
        }
      }
    },
    "CreateModel": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/models",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ContentType": {
            "locationName": "contentType"
          },
          "Description": {
            "locationName": "description"
          },
          "Name": {
            "locationName": "name"
          },
          "Schema": {
            "locationName": "schema"
          }
        },
        "required": [
          "ApiId",
          "Name"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ContentType": {
            "locationName": "contentType"
          },
          "Description": {
            "locationName": "description"
          },
          "ModelId": {
            "locationName": "modelId"
          },
          "Name": {
            "locationName": "name"
          },
          "Schema": {
            "locationName": "schema"
          }
        }
      }
    },
    "CreateRoute": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/routes",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ApiKeyRequired": {
            "locationName": "apiKeyRequired",
            "type": "boolean"
          },
          "AuthorizationScopes": {
            "shape": "S1e",
            "locationName": "authorizationScopes"
          },
          "AuthorizationType": {
            "locationName": "authorizationType"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "OperationName": {
            "locationName": "operationName"
          },
          "RequestModels": {
            "shape": "S1g",
            "locationName": "requestModels"
          },
          "RequestParameters": {
            "shape": "S1h",
            "locationName": "requestParameters"
          },
          "RouteKey": {
            "locationName": "routeKey"
          },
          "RouteResponseSelectionExpression": {
            "locationName": "routeResponseSelectionExpression"
          },
          "Target": {
            "locationName": "target"
          }
        },
        "required": [
          "ApiId",
          "RouteKey"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiKeyRequired": {
            "locationName": "apiKeyRequired",
            "type": "boolean"
          },
          "AuthorizationScopes": {
            "shape": "S1e",
            "locationName": "authorizationScopes"
          },
          "AuthorizationType": {
            "locationName": "authorizationType"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "OperationName": {
            "locationName": "operationName"
          },
          "RequestModels": {
            "shape": "S1g",
            "locationName": "requestModels"
          },
          "RequestParameters": {
            "shape": "S1h",
            "locationName": "requestParameters"
          },
          "RouteId": {
            "locationName": "routeId"
          },
          "RouteKey": {
            "locationName": "routeKey"
          },
          "RouteResponseSelectionExpression": {
            "locationName": "routeResponseSelectionExpression"
          },
          "Target": {
            "locationName": "target"
          }
        }
      }
    },
    "CreateRouteResponse": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}/routeresponses",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "ResponseModels": {
            "shape": "S1g",
            "locationName": "responseModels"
          },
          "ResponseParameters": {
            "shape": "S1h",
            "locationName": "responseParameters"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          },
          "RouteResponseKey": {
            "locationName": "routeResponseKey"
          }
        },
        "required": [
          "ApiId",
          "RouteId",
          "RouteResponseKey"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "ResponseModels": {
            "shape": "S1g",
            "locationName": "responseModels"
          },
          "ResponseParameters": {
            "shape": "S1h",
            "locationName": "responseParameters"
          },
          "RouteResponseId": {
            "locationName": "routeResponseId"
          },
          "RouteResponseKey": {
            "locationName": "routeResponseKey"
          }
        }
      }
    },
    "CreateStage": {
      "http": {
        "requestUri": "/v2/apis/{apiId}/stages",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "AccessLogSettings": {
            "shape": "S1n",
            "locationName": "accessLogSettings"
          },
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ClientCertificateId": {
            "locationName": "clientCertificateId"
          },
          "DefaultRouteSettings": {
            "shape": "S1o",
            "locationName": "defaultRouteSettings"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "Description": {
            "locationName": "description"
          },
          "RouteSettings": {
            "shape": "S1s",
            "locationName": "routeSettings"
          },
          "StageName": {
            "locationName": "stageName"
          },
          "StageVariables": {
            "shape": "S1t",
            "locationName": "stageVariables"
          }
        },
        "required": [
          "ApiId",
          "StageName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "AccessLogSettings": {
            "shape": "S1n",
            "locationName": "accessLogSettings"
          },
          "ClientCertificateId": {
            "locationName": "clientCertificateId"
          },
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "DefaultRouteSettings": {
            "shape": "S1o",
            "locationName": "defaultRouteSettings"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "Description": {
            "locationName": "description"
          },
          "LastUpdatedDate": {
            "shape": "Sb",
            "locationName": "lastUpdatedDate"
          },
          "RouteSettings": {
            "shape": "S1s",
            "locationName": "routeSettings"
          },
          "StageName": {
            "locationName": "stageName"
          },
          "StageVariables": {
            "shape": "S1t",
            "locationName": "stageVariables"
          }
        }
      }
    },
    "DeleteApi": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          }
        },
        "required": [
          "ApiId"
        ]
      }
    },
    "DeleteApiMapping": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "querystring",
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "location": "uri",
            "locationName": "apiMappingId"
          },
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          }
        },
        "required": [
          "ApiMappingId",
          "ApiId",
          "DomainName"
        ]
      }
    },
    "DeleteAuthorizer": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/authorizers/{authorizerId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "AuthorizerId": {
            "location": "uri",
            "locationName": "authorizerId"
          }
        },
        "required": [
          "AuthorizerId",
          "ApiId"
        ]
      }
    },
    "DeleteDeployment": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/deployments/{deploymentId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "DeploymentId": {
            "location": "uri",
            "locationName": "deploymentId"
          }
        },
        "required": [
          "ApiId",
          "DeploymentId"
        ]
      }
    },
    "DeleteDomainName": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/domainnames/{domainName}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          }
        },
        "required": [
          "DomainName"
        ]
      }
    },
    "DeleteIntegration": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          }
        },
        "required": [
          "ApiId",
          "IntegrationId"
        ]
      }
    },
    "DeleteIntegrationResponse": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          },
          "IntegrationResponseId": {
            "location": "uri",
            "locationName": "integrationResponseId"
          }
        },
        "required": [
          "ApiId",
          "IntegrationResponseId",
          "IntegrationId"
        ]
      }
    },
    "DeleteModel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/models/{modelId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ModelId": {
            "location": "uri",
            "locationName": "modelId"
          }
        },
        "required": [
          "ModelId",
          "ApiId"
        ]
      }
    },
    "DeleteRoute": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          }
        },
        "required": [
          "ApiId",
          "RouteId"
        ]
      }
    },
    "DeleteRouteResponse": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          },
          "RouteResponseId": {
            "location": "uri",
            "locationName": "routeResponseId"
          }
        },
        "required": [
          "RouteResponseId",
          "ApiId",
          "RouteId"
        ]
      }
    },
    "DeleteStage": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v2/apis/{apiId}/stages/{stageName}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "StageName": {
            "location": "uri",
            "locationName": "stageName"
          }
        },
        "required": [
          "StageName",
          "ApiId"
        ]
      }
    },
    "GetApi": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiEndpoint": {
            "locationName": "apiEndpoint"
          },
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiKeySelectionExpression": {
            "locationName": "apiKeySelectionExpression"
          },
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "Description": {
            "locationName": "description"
          },
          "DisableSchemaValidation": {
            "locationName": "disableSchemaValidation",
            "type": "boolean"
          },
          "Name": {
            "locationName": "name"
          },
          "ProtocolType": {
            "locationName": "protocolType"
          },
          "RouteSelectionExpression": {
            "locationName": "routeSelectionExpression"
          },
          "Version": {
            "locationName": "version"
          },
          "Warnings": {
            "shape": "Sc",
            "locationName": "warnings"
          }
        }
      }
    },
    "GetApiMapping": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "querystring",
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "location": "uri",
            "locationName": "apiMappingId"
          },
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          }
        },
        "required": [
          "ApiMappingId",
          "ApiId",
          "DomainName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "locationName": "apiMappingId"
          },
          "ApiMappingKey": {
            "locationName": "apiMappingKey"
          },
          "Stage": {
            "locationName": "stage"
          }
        }
      }
    },
    "GetApiMappings": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/domainnames/{domainName}/apimappings",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "DomainName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "locationName": "apiMappingId"
          },
          "ApiMappingKey": {
            "locationName": "apiMappingKey"
          },
          "Stage": {
            "locationName": "stage"
          }
        }
      }
    },
    "GetApis": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ApiEndpoint": {
                  "locationName": "apiEndpoint"
                },
                "ApiId": {
                  "locationName": "apiId"
                },
                "ApiKeySelectionExpression": {
                  "locationName": "apiKeySelectionExpression"
                },
                "CreatedDate": {
                  "shape": "Sb",
                  "locationName": "createdDate"
                },
                "Description": {
                  "locationName": "description"
                },
                "DisableSchemaValidation": {
                  "locationName": "disableSchemaValidation",
                  "type": "boolean"
                },
                "Name": {
                  "locationName": "name"
                },
                "ProtocolType": {
                  "locationName": "protocolType"
                },
                "RouteSelectionExpression": {
                  "locationName": "routeSelectionExpression"
                },
                "Version": {
                  "locationName": "version"
                },
                "Warnings": {
                  "shape": "Sc",
                  "locationName": "warnings"
                }
              },
              "required": [
                "RouteSelectionExpression",
                "ProtocolType",
                "Name"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetAuthorizer": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/authorizers/{authorizerId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "AuthorizerId": {
            "location": "uri",
            "locationName": "authorizerId"
          }
        },
        "required": [
          "AuthorizerId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "AuthorizerCredentialsArn": {
            "locationName": "authorizerCredentialsArn"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "AuthorizerResultTtlInSeconds": {
            "locationName": "authorizerResultTtlInSeconds",
            "type": "integer"
          },
          "AuthorizerType": {
            "locationName": "authorizerType"
          },
          "AuthorizerUri": {
            "locationName": "authorizerUri"
          },
          "IdentitySource": {
            "shape": "Sl",
            "locationName": "identitySource"
          },
          "IdentityValidationExpression": {
            "locationName": "identityValidationExpression"
          },
          "Name": {
            "locationName": "name"
          },
          "ProviderArns": {
            "shape": "Sm",
            "locationName": "providerArns"
          }
        }
      }
    },
    "GetAuthorizers": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/authorizers",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AuthorizerCredentialsArn": {
                  "locationName": "authorizerCredentialsArn"
                },
                "AuthorizerId": {
                  "locationName": "authorizerId"
                },
                "AuthorizerResultTtlInSeconds": {
                  "locationName": "authorizerResultTtlInSeconds",
                  "type": "integer"
                },
                "AuthorizerType": {
                  "locationName": "authorizerType"
                },
                "AuthorizerUri": {
                  "locationName": "authorizerUri"
                },
                "IdentitySource": {
                  "shape": "Sl",
                  "locationName": "identitySource"
                },
                "IdentityValidationExpression": {
                  "locationName": "identityValidationExpression"
                },
                "Name": {
                  "locationName": "name"
                },
                "ProviderArns": {
                  "shape": "Sm",
                  "locationName": "providerArns"
                }
              },
              "required": [
                "Name"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetDeployment": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/deployments/{deploymentId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "DeploymentId": {
            "location": "uri",
            "locationName": "deploymentId"
          }
        },
        "required": [
          "ApiId",
          "DeploymentId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "DeploymentStatus": {
            "locationName": "deploymentStatus"
          },
          "DeploymentStatusMessage": {
            "locationName": "deploymentStatusMessage"
          },
          "Description": {
            "locationName": "description"
          }
        }
      }
    },
    "GetDeployments": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/deployments",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "CreatedDate": {
                  "shape": "Sb",
                  "locationName": "createdDate"
                },
                "DeploymentId": {
                  "locationName": "deploymentId"
                },
                "DeploymentStatus": {
                  "locationName": "deploymentStatus"
                },
                "DeploymentStatusMessage": {
                  "locationName": "deploymentStatusMessage"
                },
                "Description": {
                  "locationName": "description"
                }
              }
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetDomainName": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/domainnames/{domainName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          }
        },
        "required": [
          "DomainName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiMappingSelectionExpression": {
            "locationName": "apiMappingSelectionExpression"
          },
          "DomainName": {
            "locationName": "domainName"
          },
          "DomainNameConfigurations": {
            "shape": "St",
            "locationName": "domainNameConfigurations"
          }
        }
      }
    },
    "GetDomainNames": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/domainnames",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ApiMappingSelectionExpression": {
                  "locationName": "apiMappingSelectionExpression"
                },
                "DomainName": {
                  "locationName": "domainName"
                },
                "DomainNameConfigurations": {
                  "shape": "St",
                  "locationName": "domainNameConfigurations"
                }
              },
              "required": [
                "DomainName"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetIntegration": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          }
        },
        "required": [
          "ApiId",
          "IntegrationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ConnectionId": {
            "locationName": "connectionId"
          },
          "ConnectionType": {
            "locationName": "connectionType"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "CredentialsArn": {
            "locationName": "credentialsArn"
          },
          "Description": {
            "locationName": "description"
          },
          "IntegrationId": {
            "locationName": "integrationId"
          },
          "IntegrationMethod": {
            "locationName": "integrationMethod"
          },
          "IntegrationResponseSelectionExpression": {
            "locationName": "integrationResponseSelectionExpression"
          },
          "IntegrationType": {
            "locationName": "integrationType"
          },
          "IntegrationUri": {
            "locationName": "integrationUri"
          },
          "PassthroughBehavior": {
            "locationName": "passthroughBehavior"
          },
          "RequestParameters": {
            "shape": "S13",
            "locationName": "requestParameters"
          },
          "RequestTemplates": {
            "shape": "S14",
            "locationName": "requestTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          },
          "TimeoutInMillis": {
            "locationName": "timeoutInMillis",
            "type": "integer"
          }
        }
      }
    },
    "GetIntegrationResponse": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          },
          "IntegrationResponseId": {
            "location": "uri",
            "locationName": "integrationResponseId"
          }
        },
        "required": [
          "ApiId",
          "IntegrationResponseId",
          "IntegrationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "IntegrationResponseId": {
            "locationName": "integrationResponseId"
          },
          "IntegrationResponseKey": {
            "locationName": "integrationResponseKey"
          },
          "ResponseParameters": {
            "shape": "S13",
            "locationName": "responseParameters"
          },
          "ResponseTemplates": {
            "shape": "S14",
            "locationName": "responseTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          }
        }
      }
    },
    "GetIntegrationResponses": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "IntegrationId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ContentHandlingStrategy": {
                  "locationName": "contentHandlingStrategy"
                },
                "IntegrationResponseId": {
                  "locationName": "integrationResponseId"
                },
                "IntegrationResponseKey": {
                  "locationName": "integrationResponseKey"
                },
                "ResponseParameters": {
                  "shape": "S13",
                  "locationName": "responseParameters"
                },
                "ResponseTemplates": {
                  "shape": "S14",
                  "locationName": "responseTemplates"
                },
                "TemplateSelectionExpression": {
                  "locationName": "templateSelectionExpression"
                }
              },
              "required": [
                "IntegrationResponseKey"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetIntegrations": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/integrations",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ConnectionId": {
                  "locationName": "connectionId"
                },
                "ConnectionType": {
                  "locationName": "connectionType"
                },
                "ContentHandlingStrategy": {
                  "locationName": "contentHandlingStrategy"
                },
                "CredentialsArn": {
                  "locationName": "credentialsArn"
                },
                "Description": {
                  "locationName": "description"
                },
                "IntegrationId": {
                  "locationName": "integrationId"
                },
                "IntegrationMethod": {
                  "locationName": "integrationMethod"
                },
                "IntegrationResponseSelectionExpression": {
                  "locationName": "integrationResponseSelectionExpression"
                },
                "IntegrationType": {
                  "locationName": "integrationType"
                },
                "IntegrationUri": {
                  "locationName": "integrationUri"
                },
                "PassthroughBehavior": {
                  "locationName": "passthroughBehavior"
                },
                "RequestParameters": {
                  "shape": "S13",
                  "locationName": "requestParameters"
                },
                "RequestTemplates": {
                  "shape": "S14",
                  "locationName": "requestTemplates"
                },
                "TemplateSelectionExpression": {
                  "locationName": "templateSelectionExpression"
                },
                "TimeoutInMillis": {
                  "locationName": "timeoutInMillis",
                  "type": "integer"
                }
              }
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetModel": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/models/{modelId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ModelId": {
            "location": "uri",
            "locationName": "modelId"
          }
        },
        "required": [
          "ModelId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ContentType": {
            "locationName": "contentType"
          },
          "Description": {
            "locationName": "description"
          },
          "ModelId": {
            "locationName": "modelId"
          },
          "Name": {
            "locationName": "name"
          },
          "Schema": {
            "locationName": "schema"
          }
        }
      }
    },
    "GetModelTemplate": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/models/{modelId}/template",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ModelId": {
            "location": "uri",
            "locationName": "modelId"
          }
        },
        "required": [
          "ModelId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Value": {
            "locationName": "value"
          }
        }
      }
    },
    "GetModels": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/models",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ContentType": {
                  "locationName": "contentType"
                },
                "Description": {
                  "locationName": "description"
                },
                "ModelId": {
                  "locationName": "modelId"
                },
                "Name": {
                  "locationName": "name"
                },
                "Schema": {
                  "locationName": "schema"
                }
              },
              "required": [
                "Name"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetRoute": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          }
        },
        "required": [
          "ApiId",
          "RouteId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiKeyRequired": {
            "locationName": "apiKeyRequired",
            "type": "boolean"
          },
          "AuthorizationScopes": {
            "shape": "S1e",
            "locationName": "authorizationScopes"
          },
          "AuthorizationType": {
            "locationName": "authorizationType"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "OperationName": {
            "locationName": "operationName"
          },
          "RequestModels": {
            "shape": "S1g",
            "locationName": "requestModels"
          },
          "RequestParameters": {
            "shape": "S1h",
            "locationName": "requestParameters"
          },
          "RouteId": {
            "locationName": "routeId"
          },
          "RouteKey": {
            "locationName": "routeKey"
          },
          "RouteResponseSelectionExpression": {
            "locationName": "routeResponseSelectionExpression"
          },
          "Target": {
            "locationName": "target"
          }
        }
      }
    },
    "GetRouteResponse": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          },
          "RouteResponseId": {
            "location": "uri",
            "locationName": "routeResponseId"
          }
        },
        "required": [
          "RouteResponseId",
          "ApiId",
          "RouteId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "ResponseModels": {
            "shape": "S1g",
            "locationName": "responseModels"
          },
          "ResponseParameters": {
            "shape": "S1h",
            "locationName": "responseParameters"
          },
          "RouteResponseId": {
            "locationName": "routeResponseId"
          },
          "RouteResponseKey": {
            "locationName": "routeResponseKey"
          }
        }
      }
    },
    "GetRouteResponses": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}/routeresponses",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          }
        },
        "required": [
          "RouteId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ModelSelectionExpression": {
                  "locationName": "modelSelectionExpression"
                },
                "ResponseModels": {
                  "shape": "S1g",
                  "locationName": "responseModels"
                },
                "ResponseParameters": {
                  "shape": "S1h",
                  "locationName": "responseParameters"
                },
                "RouteResponseId": {
                  "locationName": "routeResponseId"
                },
                "RouteResponseKey": {
                  "locationName": "routeResponseKey"
                }
              },
              "required": [
                "RouteResponseKey"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetRoutes": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/routes",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ApiKeyRequired": {
                  "locationName": "apiKeyRequired",
                  "type": "boolean"
                },
                "AuthorizationScopes": {
                  "shape": "S1e",
                  "locationName": "authorizationScopes"
                },
                "AuthorizationType": {
                  "locationName": "authorizationType"
                },
                "AuthorizerId": {
                  "locationName": "authorizerId"
                },
                "ModelSelectionExpression": {
                  "locationName": "modelSelectionExpression"
                },
                "OperationName": {
                  "locationName": "operationName"
                },
                "RequestModels": {
                  "shape": "S1g",
                  "locationName": "requestModels"
                },
                "RequestParameters": {
                  "shape": "S1h",
                  "locationName": "requestParameters"
                },
                "RouteId": {
                  "locationName": "routeId"
                },
                "RouteKey": {
                  "locationName": "routeKey"
                },
                "RouteResponseSelectionExpression": {
                  "locationName": "routeResponseSelectionExpression"
                },
                "Target": {
                  "locationName": "target"
                }
              },
              "required": [
                "RouteKey"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "GetStage": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/stages/{stageName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "StageName": {
            "location": "uri",
            "locationName": "stageName"
          }
        },
        "required": [
          "StageName",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "AccessLogSettings": {
            "shape": "S1n",
            "locationName": "accessLogSettings"
          },
          "ClientCertificateId": {
            "locationName": "clientCertificateId"
          },
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "DefaultRouteSettings": {
            "shape": "S1o",
            "locationName": "defaultRouteSettings"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "Description": {
            "locationName": "description"
          },
          "LastUpdatedDate": {
            "shape": "Sb",
            "locationName": "lastUpdatedDate"
          },
          "RouteSettings": {
            "shape": "S1s",
            "locationName": "routeSettings"
          },
          "StageName": {
            "locationName": "stageName"
          },
          "StageVariables": {
            "shape": "S1t",
            "locationName": "stageVariables"
          }
        }
      }
    },
    "GetStages": {
      "http": {
        "method": "GET",
        "requestUri": "/v2/apis/{apiId}/stages",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "Items": {
            "locationName": "items",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AccessLogSettings": {
                  "shape": "S1n",
                  "locationName": "accessLogSettings"
                },
                "ClientCertificateId": {
                  "locationName": "clientCertificateId"
                },
                "CreatedDate": {
                  "shape": "Sb",
                  "locationName": "createdDate"
                },
                "DefaultRouteSettings": {
                  "shape": "S1o",
                  "locationName": "defaultRouteSettings"
                },
                "DeploymentId": {
                  "locationName": "deploymentId"
                },
                "Description": {
                  "locationName": "description"
                },
                "LastUpdatedDate": {
                  "shape": "Sb",
                  "locationName": "lastUpdatedDate"
                },
                "RouteSettings": {
                  "shape": "S1s",
                  "locationName": "routeSettings"
                },
                "StageName": {
                  "locationName": "stageName"
                },
                "StageVariables": {
                  "shape": "S1t",
                  "locationName": "stageVariables"
                }
              },
              "required": [
                "StageName"
              ]
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "UpdateApi": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ApiKeySelectionExpression": {
            "locationName": "apiKeySelectionExpression"
          },
          "Description": {
            "locationName": "description"
          },
          "DisableSchemaValidation": {
            "locationName": "disableSchemaValidation",
            "type": "boolean"
          },
          "Name": {
            "locationName": "name"
          },
          "RouteSelectionExpression": {
            "locationName": "routeSelectionExpression"
          },
          "Version": {
            "locationName": "version"
          }
        },
        "required": [
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiEndpoint": {
            "locationName": "apiEndpoint"
          },
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiKeySelectionExpression": {
            "locationName": "apiKeySelectionExpression"
          },
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "Description": {
            "locationName": "description"
          },
          "DisableSchemaValidation": {
            "locationName": "disableSchemaValidation",
            "type": "boolean"
          },
          "Name": {
            "locationName": "name"
          },
          "ProtocolType": {
            "locationName": "protocolType"
          },
          "RouteSelectionExpression": {
            "locationName": "routeSelectionExpression"
          },
          "Version": {
            "locationName": "version"
          },
          "Warnings": {
            "shape": "Sc",
            "locationName": "warnings"
          }
        }
      }
    },
    "UpdateApiMapping": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "location": "uri",
            "locationName": "apiMappingId"
          },
          "ApiMappingKey": {
            "locationName": "apiMappingKey"
          },
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          },
          "Stage": {
            "locationName": "stage"
          }
        },
        "required": [
          "ApiMappingId",
          "ApiId",
          "DomainName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiId": {
            "locationName": "apiId"
          },
          "ApiMappingId": {
            "locationName": "apiMappingId"
          },
          "ApiMappingKey": {
            "locationName": "apiMappingKey"
          },
          "Stage": {
            "locationName": "stage"
          }
        }
      }
    },
    "UpdateAuthorizer": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/authorizers/{authorizerId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "AuthorizerCredentialsArn": {
            "locationName": "authorizerCredentialsArn"
          },
          "AuthorizerId": {
            "location": "uri",
            "locationName": "authorizerId"
          },
          "AuthorizerResultTtlInSeconds": {
            "locationName": "authorizerResultTtlInSeconds",
            "type": "integer"
          },
          "AuthorizerType": {
            "locationName": "authorizerType"
          },
          "AuthorizerUri": {
            "locationName": "authorizerUri"
          },
          "IdentitySource": {
            "shape": "Sl",
            "locationName": "identitySource"
          },
          "IdentityValidationExpression": {
            "locationName": "identityValidationExpression"
          },
          "Name": {
            "locationName": "name"
          },
          "ProviderArns": {
            "shape": "Sm",
            "locationName": "providerArns"
          }
        },
        "required": [
          "AuthorizerId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "AuthorizerCredentialsArn": {
            "locationName": "authorizerCredentialsArn"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "AuthorizerResultTtlInSeconds": {
            "locationName": "authorizerResultTtlInSeconds",
            "type": "integer"
          },
          "AuthorizerType": {
            "locationName": "authorizerType"
          },
          "AuthorizerUri": {
            "locationName": "authorizerUri"
          },
          "IdentitySource": {
            "shape": "Sl",
            "locationName": "identitySource"
          },
          "IdentityValidationExpression": {
            "locationName": "identityValidationExpression"
          },
          "Name": {
            "locationName": "name"
          },
          "ProviderArns": {
            "shape": "Sm",
            "locationName": "providerArns"
          }
        }
      }
    },
    "UpdateDeployment": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/deployments/{deploymentId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "DeploymentId": {
            "location": "uri",
            "locationName": "deploymentId"
          },
          "Description": {
            "locationName": "description"
          }
        },
        "required": [
          "ApiId",
          "DeploymentId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "DeploymentStatus": {
            "locationName": "deploymentStatus"
          },
          "DeploymentStatusMessage": {
            "locationName": "deploymentStatusMessage"
          },
          "Description": {
            "locationName": "description"
          }
        }
      }
    },
    "UpdateDomainName": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/domainnames/{domainName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "DomainName": {
            "location": "uri",
            "locationName": "domainName"
          },
          "DomainNameConfigurations": {
            "shape": "St",
            "locationName": "domainNameConfigurations"
          }
        },
        "required": [
          "DomainName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiMappingSelectionExpression": {
            "locationName": "apiMappingSelectionExpression"
          },
          "DomainName": {
            "locationName": "domainName"
          },
          "DomainNameConfigurations": {
            "shape": "St",
            "locationName": "domainNameConfigurations"
          }
        }
      }
    },
    "UpdateIntegration": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ConnectionId": {
            "locationName": "connectionId"
          },
          "ConnectionType": {
            "locationName": "connectionType"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "CredentialsArn": {
            "locationName": "credentialsArn"
          },
          "Description": {
            "locationName": "description"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          },
          "IntegrationMethod": {
            "locationName": "integrationMethod"
          },
          "IntegrationType": {
            "locationName": "integrationType"
          },
          "IntegrationUri": {
            "locationName": "integrationUri"
          },
          "PassthroughBehavior": {
            "locationName": "passthroughBehavior"
          },
          "RequestParameters": {
            "shape": "S13",
            "locationName": "requestParameters"
          },
          "RequestTemplates": {
            "shape": "S14",
            "locationName": "requestTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          },
          "TimeoutInMillis": {
            "locationName": "timeoutInMillis",
            "type": "integer"
          }
        },
        "required": [
          "ApiId",
          "IntegrationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ConnectionId": {
            "locationName": "connectionId"
          },
          "ConnectionType": {
            "locationName": "connectionType"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "CredentialsArn": {
            "locationName": "credentialsArn"
          },
          "Description": {
            "locationName": "description"
          },
          "IntegrationId": {
            "locationName": "integrationId"
          },
          "IntegrationMethod": {
            "locationName": "integrationMethod"
          },
          "IntegrationResponseSelectionExpression": {
            "locationName": "integrationResponseSelectionExpression"
          },
          "IntegrationType": {
            "locationName": "integrationType"
          },
          "IntegrationUri": {
            "locationName": "integrationUri"
          },
          "PassthroughBehavior": {
            "locationName": "passthroughBehavior"
          },
          "RequestParameters": {
            "shape": "S13",
            "locationName": "requestParameters"
          },
          "RequestTemplates": {
            "shape": "S14",
            "locationName": "requestTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          },
          "TimeoutInMillis": {
            "locationName": "timeoutInMillis",
            "type": "integer"
          }
        }
      }
    },
    "UpdateIntegrationResponse": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "IntegrationId": {
            "location": "uri",
            "locationName": "integrationId"
          },
          "IntegrationResponseId": {
            "location": "uri",
            "locationName": "integrationResponseId"
          },
          "IntegrationResponseKey": {
            "locationName": "integrationResponseKey"
          },
          "ResponseParameters": {
            "shape": "S13",
            "locationName": "responseParameters"
          },
          "ResponseTemplates": {
            "shape": "S14",
            "locationName": "responseTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          }
        },
        "required": [
          "ApiId",
          "IntegrationResponseId",
          "IntegrationId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ContentHandlingStrategy": {
            "locationName": "contentHandlingStrategy"
          },
          "IntegrationResponseId": {
            "locationName": "integrationResponseId"
          },
          "IntegrationResponseKey": {
            "locationName": "integrationResponseKey"
          },
          "ResponseParameters": {
            "shape": "S13",
            "locationName": "responseParameters"
          },
          "ResponseTemplates": {
            "shape": "S14",
            "locationName": "responseTemplates"
          },
          "TemplateSelectionExpression": {
            "locationName": "templateSelectionExpression"
          }
        }
      }
    },
    "UpdateModel": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/models/{modelId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ContentType": {
            "locationName": "contentType"
          },
          "Description": {
            "locationName": "description"
          },
          "ModelId": {
            "location": "uri",
            "locationName": "modelId"
          },
          "Name": {
            "locationName": "name"
          },
          "Schema": {
            "locationName": "schema"
          }
        },
        "required": [
          "ModelId",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ContentType": {
            "locationName": "contentType"
          },
          "Description": {
            "locationName": "description"
          },
          "ModelId": {
            "locationName": "modelId"
          },
          "Name": {
            "locationName": "name"
          },
          "Schema": {
            "locationName": "schema"
          }
        }
      }
    },
    "UpdateRoute": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ApiKeyRequired": {
            "locationName": "apiKeyRequired",
            "type": "boolean"
          },
          "AuthorizationScopes": {
            "shape": "S1e",
            "locationName": "authorizationScopes"
          },
          "AuthorizationType": {
            "locationName": "authorizationType"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "OperationName": {
            "locationName": "operationName"
          },
          "RequestModels": {
            "shape": "S1g",
            "locationName": "requestModels"
          },
          "RequestParameters": {
            "shape": "S1h",
            "locationName": "requestParameters"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          },
          "RouteKey": {
            "locationName": "routeKey"
          },
          "RouteResponseSelectionExpression": {
            "locationName": "routeResponseSelectionExpression"
          },
          "Target": {
            "locationName": "target"
          }
        },
        "required": [
          "ApiId",
          "RouteId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ApiKeyRequired": {
            "locationName": "apiKeyRequired",
            "type": "boolean"
          },
          "AuthorizationScopes": {
            "shape": "S1e",
            "locationName": "authorizationScopes"
          },
          "AuthorizationType": {
            "locationName": "authorizationType"
          },
          "AuthorizerId": {
            "locationName": "authorizerId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "OperationName": {
            "locationName": "operationName"
          },
          "RequestModels": {
            "shape": "S1g",
            "locationName": "requestModels"
          },
          "RequestParameters": {
            "shape": "S1h",
            "locationName": "requestParameters"
          },
          "RouteId": {
            "locationName": "routeId"
          },
          "RouteKey": {
            "locationName": "routeKey"
          },
          "RouteResponseSelectionExpression": {
            "locationName": "routeResponseSelectionExpression"
          },
          "Target": {
            "locationName": "target"
          }
        }
      }
    },
    "UpdateRouteResponse": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "ResponseModels": {
            "shape": "S1g",
            "locationName": "responseModels"
          },
          "ResponseParameters": {
            "shape": "S1h",
            "locationName": "responseParameters"
          },
          "RouteId": {
            "location": "uri",
            "locationName": "routeId"
          },
          "RouteResponseId": {
            "location": "uri",
            "locationName": "routeResponseId"
          },
          "RouteResponseKey": {
            "locationName": "routeResponseKey"
          }
        },
        "required": [
          "RouteResponseId",
          "ApiId",
          "RouteId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ModelSelectionExpression": {
            "locationName": "modelSelectionExpression"
          },
          "ResponseModels": {
            "shape": "S1g",
            "locationName": "responseModels"
          },
          "ResponseParameters": {
            "shape": "S1h",
            "locationName": "responseParameters"
          },
          "RouteResponseId": {
            "locationName": "routeResponseId"
          },
          "RouteResponseKey": {
            "locationName": "routeResponseKey"
          }
        }
      }
    },
    "UpdateStage": {
      "http": {
        "method": "PATCH",
        "requestUri": "/v2/apis/{apiId}/stages/{stageName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "AccessLogSettings": {
            "shape": "S1n",
            "locationName": "accessLogSettings"
          },
          "ApiId": {
            "location": "uri",
            "locationName": "apiId"
          },
          "ClientCertificateId": {
            "locationName": "clientCertificateId"
          },
          "DefaultRouteSettings": {
            "shape": "S1o",
            "locationName": "defaultRouteSettings"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "Description": {
            "locationName": "description"
          },
          "RouteSettings": {
            "shape": "S1s",
            "locationName": "routeSettings"
          },
          "StageName": {
            "location": "uri",
            "locationName": "stageName"
          },
          "StageVariables": {
            "shape": "S1t",
            "locationName": "stageVariables"
          }
        },
        "required": [
          "StageName",
          "ApiId"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "AccessLogSettings": {
            "shape": "S1n",
            "locationName": "accessLogSettings"
          },
          "ClientCertificateId": {
            "locationName": "clientCertificateId"
          },
          "CreatedDate": {
            "shape": "Sb",
            "locationName": "createdDate"
          },
          "DefaultRouteSettings": {
            "shape": "S1o",
            "locationName": "defaultRouteSettings"
          },
          "DeploymentId": {
            "locationName": "deploymentId"
          },
          "Description": {
            "locationName": "description"
          },
          "LastUpdatedDate": {
            "shape": "Sb",
            "locationName": "lastUpdatedDate"
          },
          "RouteSettings": {
            "shape": "S1s",
            "locationName": "routeSettings"
          },
          "StageName": {
            "locationName": "stageName"
          },
          "StageVariables": {
            "shape": "S1t",
            "locationName": "stageVariables"
          }
        }
      }
    }
  },
  "shapes": {
    "Sb": {
      "type": "timestamp",
      "timestampFormat": "iso8601"
    },
    "Sc": {
      "type": "list",
      "member": {}
    },
    "Sl": {
      "type": "list",
      "member": {}
    },
    "Sm": {
      "type": "list",
      "member": {}
    },
    "St": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "ApiGatewayDomainName": {
            "locationName": "apiGatewayDomainName"
          },
          "CertificateArn": {
            "locationName": "certificateArn"
          },
          "CertificateName": {
            "locationName": "certificateName"
          },
          "CertificateUploadDate": {
            "shape": "Sb",
            "locationName": "certificateUploadDate"
          },
          "EndpointType": {
            "locationName": "endpointType"
          },
          "HostedZoneId": {
            "locationName": "hostedZoneId"
          }
        }
      }
    },
    "S13": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S14": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S1e": {
      "type": "list",
      "member": {}
    },
    "S1g": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S1h": {
      "type": "map",
      "key": {},
      "value": {
        "type": "structure",
        "members": {
          "Required": {
            "locationName": "required",
            "type": "boolean"
          }
        }
      }
    },
    "S1n": {
      "type": "structure",
      "members": {
        "DestinationArn": {
          "locationName": "destinationArn"
        },
        "Format": {
          "locationName": "format"
        }
      }
    },
    "S1o": {
      "type": "structure",
      "members": {
        "DataTraceEnabled": {
          "locationName": "dataTraceEnabled",
          "type": "boolean"
        },
        "DetailedMetricsEnabled": {
          "locationName": "detailedMetricsEnabled",
          "type": "boolean"
        },
        "LoggingLevel": {
          "locationName": "loggingLevel"
        },
        "ThrottlingBurstLimit": {
          "locationName": "throttlingBurstLimit",
          "type": "integer"
        },
        "ThrottlingRateLimit": {
          "locationName": "throttlingRateLimit",
          "type": "double"
        }
      }
    },
    "S1s": {
      "type": "map",
      "key": {},
      "value": {
        "shape": "S1o"
      }
    },
    "S1t": {
      "type": "map",
      "key": {},
      "value": {}
    }
  },
  "authorizers": {
    "authorization_strategy": {
      "name": "authorization_strategy",
      "type": "provided",
      "placement": {
        "location": "header",
        "name": "Authorization"
      }
    }
  }
}