@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AmazonApiGatewayV2
@version 2018-11-29
@auth AWS SigV4
@endpoints 72
@hint download_for_search
@toc apis(54), domainnames(10), vpclinks(5), tags(3)

@group apis
@endpoint POST /v2/apis
@desc Creates an Api resource.
@required {Name: str, ProtocolType: str}
@optional {ApiKeySelectionExpression: str, CorsConfiguration: Cors, CredentialsArn: str, Description: str, DisableSchemaValidation: bool, DisableExecuteApiEndpoint: bool, RouteKey: str, RouteSelectionExpression: str, Tags: map<str,str>, Target: str, Version: str}
@returns(200) {ApiEndpoint: str?, ApiGatewayManaged: bool?, ApiId: str?, ApiKeySelectionExpression: str?, CorsConfiguration: Cors?{AllowCredentials: bool?, AllowHeaders: [str]?, AllowMethods: [str]?, AllowOrigins: [str]?, ExposeHeaders: [str]?, MaxAge: int?}, CreatedDate: str(timestamp)?, Description: str?, DisableSchemaValidation: bool?, DisableExecuteApiEndpoint: bool?, ImportInfo: [str]?, Name: str?, ProtocolType: str?, RouteSelectionExpression: str?, Tags: map<str,str>?, Version: str?, Warnings: [str]?}

@endgroup

@group domainnames
@endpoint POST /v2/domainnames/{domainName}/apimappings
@desc Creates an API mapping.
@required {DomainName: str, ApiId: str, Stage: str}
@optional {ApiMappingKey: str}
@returns(200) {ApiId: str?, ApiMappingId: str?, ApiMappingKey: str?, Stage: str?}

@endgroup

@group apis
@endpoint POST /v2/apis/{apiId}/authorizers
@desc Creates an Authorizer for an API.
@required {ApiId: str, AuthorizerType: str, IdentitySource: [str], Name: str}
@optional {AuthorizerCredentialsArn: str, AuthorizerPayloadFormatVersion: str, AuthorizerResultTtlInSeconds: int, AuthorizerUri: str, EnableSimpleResponses: bool, IdentityValidationExpression: str, JwtConfiguration: JWTConfiguration}
@returns(200) {AuthorizerCredentialsArn: str?, AuthorizerId: str?, AuthorizerPayloadFormatVersion: str?, AuthorizerResultTtlInSeconds: int?, AuthorizerType: str?, AuthorizerUri: str?, EnableSimpleResponses: bool?, IdentitySource: [str]?, IdentityValidationExpression: str?, JwtConfiguration: JWTConfiguration?{Audience: [str]?, Issuer: str?}, Name: str?}

@endpoint POST /v2/apis/{apiId}/deployments
@desc Creates a Deployment for an API.
@required {ApiId: str}
@optional {Description: str, StageName: str}
@returns(200) {AutoDeployed: bool?, CreatedDate: str(timestamp)?, DeploymentId: str?, DeploymentStatus: str?, DeploymentStatusMessage: str?, Description: str?}

@endgroup

@group domainnames
@endpoint POST /v2/domainnames
@desc Creates a domain name.
@required {DomainName: str}
@optional {DomainNameConfigurations: [DomainNameConfiguration], MutualTlsAuthentication: MutualTlsAuthenticationInput, Tags: map<str,str>}
@returns(200) {ApiMappingSelectionExpression: str?, DomainName: str?, DomainNameConfigurations: [DomainNameConfiguration]?, MutualTlsAuthentication: MutualTlsAuthentication?{TruststoreUri: str?, TruststoreVersion: str?, TruststoreWarnings: [str]?}, Tags: map<str,str>?}

@endgroup

@group apis
@endpoint POST /v2/apis/{apiId}/integrations
@desc Creates an Integration.
@required {ApiId: str, IntegrationType: str}
@optional {ConnectionId: str, ConnectionType: str, ContentHandlingStrategy: str, CredentialsArn: str, Description: str, IntegrationMethod: str, IntegrationSubtype: str, IntegrationUri: str, PassthroughBehavior: str, PayloadFormatVersion: str, RequestParameters: map<str,str>, RequestTemplates: map<str,str>, ResponseParameters: map<str,map<str,str>>, TemplateSelectionExpression: str, TimeoutInMillis: int, TlsConfig: TlsConfigInput}
@returns(200) {ApiGatewayManaged: bool?, ConnectionId: str?, ConnectionType: str?, ContentHandlingStrategy: str?, CredentialsArn: str?, Description: str?, IntegrationId: str?, IntegrationMethod: str?, IntegrationResponseSelectionExpression: str?, IntegrationSubtype: str?, IntegrationType: str?, IntegrationUri: str?, PassthroughBehavior: str?, PayloadFormatVersion: str?, RequestParameters: map<str,str>?, RequestTemplates: map<str,str>?, ResponseParameters: map<str,map<str,str>>?, TemplateSelectionExpression: str?, TimeoutInMillis: int?, TlsConfig: TlsConfig?{ServerNameToVerify: str?}}

@endpoint POST /v2/apis/{apiId}/integrations/{integrationId}/integrationresponses
@desc Creates an IntegrationResponses.
@required {ApiId: str, IntegrationId: str, IntegrationResponseKey: str}
@optional {ContentHandlingStrategy: str, ResponseParameters: map<str,str>, ResponseTemplates: map<str,str>, TemplateSelectionExpression: str}
@returns(200) {ContentHandlingStrategy: str?, IntegrationResponseId: str?, IntegrationResponseKey: str?, ResponseParameters: map<str,str>?, ResponseTemplates: map<str,str>?, TemplateSelectionExpression: str?}

@endpoint POST /v2/apis/{apiId}/models
@desc Creates a Model for an API.
@required {ApiId: str, Name: str, Schema: str}
@optional {ContentType: str, Description: str}
@returns(200) {ContentType: str?, Description: str?, ModelId: str?, Name: str?, Schema: str?}

@endpoint POST /v2/apis/{apiId}/routes
@desc Creates a Route for an API.
@required {ApiId: str, RouteKey: str}
@optional {ApiKeyRequired: bool, AuthorizationScopes: [str], AuthorizationType: str, AuthorizerId: str, ModelSelectionExpression: str, OperationName: str, RequestModels: map<str,str>, RequestParameters: map<str,ParameterConstraints>, RouteResponseSelectionExpression: str, Target: str}
@returns(200) {ApiGatewayManaged: bool?, ApiKeyRequired: bool?, AuthorizationScopes: [str]?, AuthorizationType: str?, AuthorizerId: str?, ModelSelectionExpression: str?, OperationName: str?, RequestModels: map<str,str>?, RequestParameters: map<str,ParameterConstraints>?, RouteId: str?, RouteKey: str?, RouteResponseSelectionExpression: str?, Target: str?}

@endpoint POST /v2/apis/{apiId}/routes/{routeId}/routeresponses
@desc Creates a RouteResponse for a Route.
@required {ApiId: str, RouteId: str, RouteResponseKey: str}
@optional {ModelSelectionExpression: str, ResponseModels: map<str,str>, ResponseParameters: map<str,ParameterConstraints>}
@returns(200) {ModelSelectionExpression: str?, ResponseModels: map<str,str>?, ResponseParameters: map<str,ParameterConstraints>?, RouteResponseId: str?, RouteResponseKey: str?}

@endpoint POST /v2/apis/{apiId}/stages
@desc Creates a Stage for an API.
@required {ApiId: str, StageName: str}
@optional {AccessLogSettings: AccessLogSettings, AutoDeploy: bool, ClientCertificateId: str, DefaultRouteSettings: RouteSettings, DeploymentId: str, Description: str, RouteSettings: map<str,RouteSettings>, StageVariables: map<str,str>, Tags: map<str,str>}
@returns(200) {AccessLogSettings: AccessLogSettings?{DestinationArn: str?, Format: str?}, ApiGatewayManaged: bool?, AutoDeploy: bool?, ClientCertificateId: str?, CreatedDate: str(timestamp)?, DefaultRouteSettings: RouteSettings?{DataTraceEnabled: bool?, DetailedMetricsEnabled: bool?, LoggingLevel: str?, ThrottlingBurstLimit: int?, ThrottlingRateLimit: num(f64)?}, DeploymentId: str?, Description: str?, LastDeploymentStatusMessage: str?, LastUpdatedDate: str(timestamp)?, RouteSettings: map<str,RouteSettings>?, StageName: str?, StageVariables: map<str,str>?, Tags: map<str,str>?}

@endgroup

@group vpclinks
@endpoint POST /v2/vpclinks
@desc Creates a VPC link.
@required {Name: str, SubnetIds: [str]}
@optional {SecurityGroupIds: [str], Tags: map<str,str>}
@returns(200) {CreatedDate: str(timestamp)?, Name: str?, SecurityGroupIds: [str]?, SubnetIds: [str]?, Tags: map<str,str>?, VpcLinkId: str?, VpcLinkStatus: str?, VpcLinkStatusMessage: str?, VpcLinkVersion: str?}

@endgroup

@group apis
@endpoint DELETE /v2/apis/{apiId}/stages/{stageName}/accesslogsettings
@desc Deletes the AccessLogSettings for a Stage. To disable access logging for a Stage, delete its AccessLogSettings.
@required {ApiId: str, StageName: str}

@endpoint DELETE /v2/apis/{apiId}
@desc Deletes an Api resource.
@required {ApiId: str}

@endgroup

@group domainnames
@endpoint DELETE /v2/domainnames/{domainName}/apimappings/{apiMappingId}
@desc Deletes an API mapping.
@required {ApiMappingId: str, DomainName: str}

@endgroup

@group apis
@endpoint DELETE /v2/apis/{apiId}/authorizers/{authorizerId}
@desc Deletes an Authorizer.
@required {ApiId: str, AuthorizerId: str}

@endpoint DELETE /v2/apis/{apiId}/cors
@desc Deletes a CORS configuration.
@required {ApiId: str}

@endpoint DELETE /v2/apis/{apiId}/deployments/{deploymentId}
@desc Deletes a Deployment.
@required {ApiId: str, DeploymentId: str}

@endgroup

@group domainnames
@endpoint DELETE /v2/domainnames/{domainName}
@desc Deletes a domain name.
@required {DomainName: str}

@endgroup

@group apis
@endpoint DELETE /v2/apis/{apiId}/integrations/{integrationId}
@desc Deletes an Integration.
@required {ApiId: str, IntegrationId: str}

@endpoint DELETE /v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}
@desc Deletes an IntegrationResponses.
@required {ApiId: str, IntegrationId: str, IntegrationResponseId: str}

@endpoint DELETE /v2/apis/{apiId}/models/{modelId}
@desc Deletes a Model.
@required {ApiId: str, ModelId: str}

@endpoint DELETE /v2/apis/{apiId}/routes/{routeId}
@desc Deletes a Route.
@required {ApiId: str, RouteId: str}

@endpoint DELETE /v2/apis/{apiId}/routes/{routeId}/requestparameters/{requestParameterKey}
@desc Deletes a route request parameter. Supported only for WebSocket APIs.
@required {ApiId: str, RequestParameterKey: str, RouteId: str}

@endpoint DELETE /v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}
@desc Deletes a RouteResponse.
@required {ApiId: str, RouteId: str, RouteResponseId: str}

@endpoint DELETE /v2/apis/{apiId}/stages/{stageName}/routesettings/{routeKey}
@desc Deletes the RouteSettings for a stage.
@required {ApiId: str, RouteKey: str, StageName: str}

@endpoint DELETE /v2/apis/{apiId}/stages/{stageName}
@desc Deletes a Stage.
@required {ApiId: str, StageName: str}

@endgroup

@group vpclinks
@endpoint DELETE /v2/vpclinks/{vpcLinkId}
@desc Deletes a VPC link.
@required {VpcLinkId: str}

@endgroup

@group apis
@endpoint GET /v2/apis/{apiId}/exports/{specification}
@required {ApiId: str, outputType: str, Specification: str}
@optional {exportVersion: str, includeExtensions: bool, stageName: str}
@returns(200) {body: bytes?}

@endpoint DELETE /v2/apis/{apiId}/stages/{stageName}/cache/authorizers
@desc Resets all authorizer cache entries on a stage. Supported only for HTTP APIs.
@required {ApiId: str, StageName: str}

@endpoint GET /v2/apis/{apiId}
@desc Gets an Api resource.
@required {ApiId: str}
@returns(200) {ApiEndpoint: str?, ApiGatewayManaged: bool?, ApiId: str?, ApiKeySelectionExpression: str?, CorsConfiguration: Cors?{AllowCredentials: bool?, AllowHeaders: [str]?, AllowMethods: [str]?, AllowOrigins: [str]?, ExposeHeaders: [str]?, MaxAge: int?}, CreatedDate: str(timestamp)?, Description: str?, DisableSchemaValidation: bool?, DisableExecuteApiEndpoint: bool?, ImportInfo: [str]?, Name: str?, ProtocolType: str?, RouteSelectionExpression: str?, Tags: map<str,str>?, Version: str?, Warnings: [str]?}

@endgroup

@group domainnames
@endpoint GET /v2/domainnames/{domainName}/apimappings/{apiMappingId}
@desc Gets an API mapping.
@required {ApiMappingId: str, DomainName: str}
@returns(200) {ApiId: str?, ApiMappingId: str?, ApiMappingKey: str?, Stage: str?}

@endpoint GET /v2/domainnames/{domainName}/apimappings
@desc Gets API mappings.
@required {DomainName: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [ApiMapping]?, NextToken: str?}

@endgroup

@group apis
@endpoint GET /v2/apis
@desc Gets a collection of Api resources.
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Api]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/authorizers/{authorizerId}
@desc Gets an Authorizer.
@required {ApiId: str, AuthorizerId: str}
@returns(200) {AuthorizerCredentialsArn: str?, AuthorizerId: str?, AuthorizerPayloadFormatVersion: str?, AuthorizerResultTtlInSeconds: int?, AuthorizerType: str?, AuthorizerUri: str?, EnableSimpleResponses: bool?, IdentitySource: [str]?, IdentityValidationExpression: str?, JwtConfiguration: JWTConfiguration?{Audience: [str]?, Issuer: str?}, Name: str?}

@endpoint GET /v2/apis/{apiId}/authorizers
@desc Gets the Authorizers for an API.
@required {ApiId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Authorizer]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/deployments/{deploymentId}
@desc Gets a Deployment.
@required {ApiId: str, DeploymentId: str}
@returns(200) {AutoDeployed: bool?, CreatedDate: str(timestamp)?, DeploymentId: str?, DeploymentStatus: str?, DeploymentStatusMessage: str?, Description: str?}

@endpoint GET /v2/apis/{apiId}/deployments
@desc Gets the Deployments for an API.
@required {ApiId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Deployment]?, NextToken: str?}

@endgroup

@group domainnames
@endpoint GET /v2/domainnames/{domainName}
@desc Gets a domain name.
@required {DomainName: str}
@returns(200) {ApiMappingSelectionExpression: str?, DomainName: str?, DomainNameConfigurations: [DomainNameConfiguration]?, MutualTlsAuthentication: MutualTlsAuthentication?{TruststoreUri: str?, TruststoreVersion: str?, TruststoreWarnings: [str]?}, Tags: map<str,str>?}

@endpoint GET /v2/domainnames
@desc Gets the domain names for an AWS account.
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [DomainName]?, NextToken: str?}

@endgroup

@group apis
@endpoint GET /v2/apis/{apiId}/integrations/{integrationId}
@desc Gets an Integration.
@required {ApiId: str, IntegrationId: str}
@returns(200) {ApiGatewayManaged: bool?, ConnectionId: str?, ConnectionType: str?, ContentHandlingStrategy: str?, CredentialsArn: str?, Description: str?, IntegrationId: str?, IntegrationMethod: str?, IntegrationResponseSelectionExpression: str?, IntegrationSubtype: str?, IntegrationType: str?, IntegrationUri: str?, PassthroughBehavior: str?, PayloadFormatVersion: str?, RequestParameters: map<str,str>?, RequestTemplates: map<str,str>?, ResponseParameters: map<str,map<str,str>>?, TemplateSelectionExpression: str?, TimeoutInMillis: int?, TlsConfig: TlsConfig?{ServerNameToVerify: str?}}

@endpoint GET /v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}
@desc Gets an IntegrationResponses.
@required {ApiId: str, IntegrationId: str, IntegrationResponseId: str}
@returns(200) {ContentHandlingStrategy: str?, IntegrationResponseId: str?, IntegrationResponseKey: str?, ResponseParameters: map<str,str>?, ResponseTemplates: map<str,str>?, TemplateSelectionExpression: str?}

@endpoint GET /v2/apis/{apiId}/integrations/{integrationId}/integrationresponses
@desc Gets the IntegrationResponses for an Integration.
@required {ApiId: str, IntegrationId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [IntegrationResponse]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/integrations
@desc Gets the Integrations for an API.
@required {ApiId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Integration]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/models/{modelId}
@desc Gets a Model.
@required {ApiId: str, ModelId: str}
@returns(200) {ContentType: str?, Description: str?, ModelId: str?, Name: str?, Schema: str?}

@endpoint GET /v2/apis/{apiId}/models/{modelId}/template
@desc Gets a model template.
@required {ApiId: str, ModelId: str}
@returns(200) {Value: str?}

@endpoint GET /v2/apis/{apiId}/models
@desc Gets the Models for an API.
@required {ApiId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Model]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/routes/{routeId}
@desc Gets a Route.
@required {ApiId: str, RouteId: str}
@returns(200) {ApiGatewayManaged: bool?, ApiKeyRequired: bool?, AuthorizationScopes: [str]?, AuthorizationType: str?, AuthorizerId: str?, ModelSelectionExpression: str?, OperationName: str?, RequestModels: map<str,str>?, RequestParameters: map<str,ParameterConstraints>?, RouteId: str?, RouteKey: str?, RouteResponseSelectionExpression: str?, Target: str?}

@endpoint GET /v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}
@desc Gets a RouteResponse.
@required {ApiId: str, RouteId: str, RouteResponseId: str}
@returns(200) {ModelSelectionExpression: str?, ResponseModels: map<str,str>?, ResponseParameters: map<str,ParameterConstraints>?, RouteResponseId: str?, RouteResponseKey: str?}

@endpoint GET /v2/apis/{apiId}/routes/{routeId}/routeresponses
@desc Gets the RouteResponses for a Route.
@required {ApiId: str, RouteId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [RouteResponse]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/routes
@desc Gets the Routes for an API.
@required {ApiId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Route]?, NextToken: str?}

@endpoint GET /v2/apis/{apiId}/stages/{stageName}
@desc Gets a Stage.
@required {ApiId: str, StageName: str}
@returns(200) {AccessLogSettings: AccessLogSettings?{DestinationArn: str?, Format: str?}, ApiGatewayManaged: bool?, AutoDeploy: bool?, ClientCertificateId: str?, CreatedDate: str(timestamp)?, DefaultRouteSettings: RouteSettings?{DataTraceEnabled: bool?, DetailedMetricsEnabled: bool?, LoggingLevel: str?, ThrottlingBurstLimit: int?, ThrottlingRateLimit: num(f64)?}, DeploymentId: str?, Description: str?, LastDeploymentStatusMessage: str?, LastUpdatedDate: str(timestamp)?, RouteSettings: map<str,RouteSettings>?, StageName: str?, StageVariables: map<str,str>?, Tags: map<str,str>?}

@endpoint GET /v2/apis/{apiId}/stages
@desc Gets the Stages for an API.
@required {ApiId: str}
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [Stage]?, NextToken: str?}

@endgroup

@group tags
@endpoint GET /v2/tags/{resource-arn}
@desc Gets a collection of Tag resources.
@required {ResourceArn: str}
@returns(200) {Tags: map<str,str>?}

@endgroup

@group vpclinks
@endpoint GET /v2/vpclinks/{vpcLinkId}
@desc Gets a VPC link.
@required {VpcLinkId: str}
@returns(200) {CreatedDate: str(timestamp)?, Name: str?, SecurityGroupIds: [str]?, SubnetIds: [str]?, Tags: map<str,str>?, VpcLinkId: str?, VpcLinkStatus: str?, VpcLinkStatusMessage: str?, VpcLinkVersion: str?}

@endpoint GET /v2/vpclinks
@desc Gets a collection of VPC links.
@optional {maxResults: str, nextToken: str}
@returns(200) {Items: [VpcLink]?, NextToken: str?}

@endgroup

@group apis
@endpoint PUT /v2/apis
@desc Imports an API.
@required {Body: str}
@optional {basepath: str, failOnWarnings: bool}
@returns(200) {ApiEndpoint: str?, ApiGatewayManaged: bool?, ApiId: str?, ApiKeySelectionExpression: str?, CorsConfiguration: Cors?{AllowCredentials: bool?, AllowHeaders: [str]?, AllowMethods: [str]?, AllowOrigins: [str]?, ExposeHeaders: [str]?, MaxAge: int?}, CreatedDate: str(timestamp)?, Description: str?, DisableSchemaValidation: bool?, DisableExecuteApiEndpoint: bool?, ImportInfo: [str]?, Name: str?, ProtocolType: str?, RouteSelectionExpression: str?, Tags: map<str,str>?, Version: str?, Warnings: [str]?}

@endpoint PUT /v2/apis/{apiId}
@desc Puts an Api resource.
@required {ApiId: str, Body: str}
@optional {basepath: str, failOnWarnings: bool}
@returns(200) {ApiEndpoint: str?, ApiGatewayManaged: bool?, ApiId: str?, ApiKeySelectionExpression: str?, CorsConfiguration: Cors?{AllowCredentials: bool?, AllowHeaders: [str]?, AllowMethods: [str]?, AllowOrigins: [str]?, ExposeHeaders: [str]?, MaxAge: int?}, CreatedDate: str(timestamp)?, Description: str?, DisableSchemaValidation: bool?, DisableExecuteApiEndpoint: bool?, ImportInfo: [str]?, Name: str?, ProtocolType: str?, RouteSelectionExpression: str?, Tags: map<str,str>?, Version: str?, Warnings: [str]?}

@endgroup

@group tags
@endpoint POST /v2/tags/{resource-arn}
@desc Creates a new Tag resource to represent a tag.
@required {ResourceArn: str}
@optional {Tags: map<str,str>}

@endpoint DELETE /v2/tags/{resource-arn}
@desc Deletes a Tag.
@required {ResourceArn: str, tagKeys: [str]}

@endgroup

@group apis
@endpoint PATCH /v2/apis/{apiId}
@desc Updates an Api resource.
@required {ApiId: str}
@optional {ApiKeySelectionExpression: str, CorsConfiguration: Cors, CredentialsArn: str, Description: str, DisableSchemaValidation: bool, DisableExecuteApiEndpoint: bool, Name: str, RouteKey: str, RouteSelectionExpression: str, Target: str, Version: str}
@returns(200) {ApiEndpoint: str?, ApiGatewayManaged: bool?, ApiId: str?, ApiKeySelectionExpression: str?, CorsConfiguration: Cors?{AllowCredentials: bool?, AllowHeaders: [str]?, AllowMethods: [str]?, AllowOrigins: [str]?, ExposeHeaders: [str]?, MaxAge: int?}, CreatedDate: str(timestamp)?, Description: str?, DisableSchemaValidation: bool?, DisableExecuteApiEndpoint: bool?, ImportInfo: [str]?, Name: str?, ProtocolType: str?, RouteSelectionExpression: str?, Tags: map<str,str>?, Version: str?, Warnings: [str]?}

@endgroup

@group domainnames
@endpoint PATCH /v2/domainnames/{domainName}/apimappings/{apiMappingId}
@desc The API mapping.
@required {ApiMappingId: str, DomainName: str, ApiId: str}
@optional {ApiMappingKey: str, Stage: str}
@returns(200) {ApiId: str?, ApiMappingId: str?, ApiMappingKey: str?, Stage: str?}

@endgroup

@group apis
@endpoint PATCH /v2/apis/{apiId}/authorizers/{authorizerId}
@desc Updates an Authorizer.
@required {ApiId: str, AuthorizerId: str}
@optional {AuthorizerCredentialsArn: str, AuthorizerPayloadFormatVersion: str, AuthorizerResultTtlInSeconds: int, AuthorizerType: str, AuthorizerUri: str, EnableSimpleResponses: bool, IdentitySource: [str], IdentityValidationExpression: str, JwtConfiguration: JWTConfiguration, Name: str}
@returns(200) {AuthorizerCredentialsArn: str?, AuthorizerId: str?, AuthorizerPayloadFormatVersion: str?, AuthorizerResultTtlInSeconds: int?, AuthorizerType: str?, AuthorizerUri: str?, EnableSimpleResponses: bool?, IdentitySource: [str]?, IdentityValidationExpression: str?, JwtConfiguration: JWTConfiguration?{Audience: [str]?, Issuer: str?}, Name: str?}

@endpoint PATCH /v2/apis/{apiId}/deployments/{deploymentId}
@desc Updates a Deployment.
@required {ApiId: str, DeploymentId: str}
@optional {Description: str}
@returns(200) {AutoDeployed: bool?, CreatedDate: str(timestamp)?, DeploymentId: str?, DeploymentStatus: str?, DeploymentStatusMessage: str?, Description: str?}

@endgroup

@group domainnames
@endpoint PATCH /v2/domainnames/{domainName}
@desc Updates a domain name.
@required {DomainName: str}
@optional {DomainNameConfigurations: [DomainNameConfiguration], MutualTlsAuthentication: MutualTlsAuthenticationInput}
@returns(200) {ApiMappingSelectionExpression: str?, DomainName: str?, DomainNameConfigurations: [DomainNameConfiguration]?, MutualTlsAuthentication: MutualTlsAuthentication?{TruststoreUri: str?, TruststoreVersion: str?, TruststoreWarnings: [str]?}, Tags: map<str,str>?}

@endgroup

@group apis
@endpoint PATCH /v2/apis/{apiId}/integrations/{integrationId}
@desc Updates an Integration.
@required {ApiId: str, IntegrationId: str}
@optional {ConnectionId: str, ConnectionType: str, ContentHandlingStrategy: str, CredentialsArn: str, Description: str, IntegrationMethod: str, IntegrationSubtype: str, IntegrationType: str, IntegrationUri: str, PassthroughBehavior: str, PayloadFormatVersion: str, RequestParameters: map<str,str>, RequestTemplates: map<str,str>, ResponseParameters: map<str,map<str,str>>, TemplateSelectionExpression: str, TimeoutInMillis: int, TlsConfig: TlsConfigInput}
@returns(200) {ApiGatewayManaged: bool?, ConnectionId: str?, ConnectionType: str?, ContentHandlingStrategy: str?, CredentialsArn: str?, Description: str?, IntegrationId: str?, IntegrationMethod: str?, IntegrationResponseSelectionExpression: str?, IntegrationSubtype: str?, IntegrationType: str?, IntegrationUri: str?, PassthroughBehavior: str?, PayloadFormatVersion: str?, RequestParameters: map<str,str>?, RequestTemplates: map<str,str>?, ResponseParameters: map<str,map<str,str>>?, TemplateSelectionExpression: str?, TimeoutInMillis: int?, TlsConfig: TlsConfig?{ServerNameToVerify: str?}}

@endpoint PATCH /v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}
@desc Updates an IntegrationResponses.
@required {ApiId: str, IntegrationId: str, IntegrationResponseId: str}
@optional {ContentHandlingStrategy: str, IntegrationResponseKey: str, ResponseParameters: map<str,str>, ResponseTemplates: map<str,str>, TemplateSelectionExpression: str}
@returns(200) {ContentHandlingStrategy: str?, IntegrationResponseId: str?, IntegrationResponseKey: str?, ResponseParameters: map<str,str>?, ResponseTemplates: map<str,str>?, TemplateSelectionExpression: str?}

@endpoint PATCH /v2/apis/{apiId}/models/{modelId}
@desc Updates a Model.
@required {ApiId: str, ModelId: str}
@optional {ContentType: str, Description: str, Name: str, Schema: str}
@returns(200) {ContentType: str?, Description: str?, ModelId: str?, Name: str?, Schema: str?}

@endpoint PATCH /v2/apis/{apiId}/routes/{routeId}
@desc Updates a Route.
@required {ApiId: str, RouteId: str}
@optional {ApiKeyRequired: bool, AuthorizationScopes: [str], AuthorizationType: str, AuthorizerId: str, ModelSelectionExpression: str, OperationName: str, RequestModels: map<str,str>, RequestParameters: map<str,ParameterConstraints>, RouteKey: str, RouteResponseSelectionExpression: str, Target: str}
@returns(200) {ApiGatewayManaged: bool?, ApiKeyRequired: bool?, AuthorizationScopes: [str]?, AuthorizationType: str?, AuthorizerId: str?, ModelSelectionExpression: str?, OperationName: str?, RequestModels: map<str,str>?, RequestParameters: map<str,ParameterConstraints>?, RouteId: str?, RouteKey: str?, RouteResponseSelectionExpression: str?, Target: str?}

@endpoint PATCH /v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}
@desc Updates a RouteResponse.
@required {ApiId: str, RouteId: str, RouteResponseId: str}
@optional {ModelSelectionExpression: str, ResponseModels: map<str,str>, ResponseParameters: map<str,ParameterConstraints>, RouteResponseKey: str}
@returns(200) {ModelSelectionExpression: str?, ResponseModels: map<str,str>?, ResponseParameters: map<str,ParameterConstraints>?, RouteResponseId: str?, RouteResponseKey: str?}

@endpoint PATCH /v2/apis/{apiId}/stages/{stageName}
@desc Updates a Stage.
@required {ApiId: str, StageName: str}
@optional {AccessLogSettings: AccessLogSettings, AutoDeploy: bool, ClientCertificateId: str, DefaultRouteSettings: RouteSettings, DeploymentId: str, Description: str, RouteSettings: map<str,RouteSettings>, StageVariables: map<str,str>}
@returns(200) {AccessLogSettings: AccessLogSettings?{DestinationArn: str?, Format: str?}, ApiGatewayManaged: bool?, AutoDeploy: bool?, ClientCertificateId: str?, CreatedDate: str(timestamp)?, DefaultRouteSettings: RouteSettings?{DataTraceEnabled: bool?, DetailedMetricsEnabled: bool?, LoggingLevel: str?, ThrottlingBurstLimit: int?, ThrottlingRateLimit: num(f64)?}, DeploymentId: str?, Description: str?, LastDeploymentStatusMessage: str?, LastUpdatedDate: str(timestamp)?, RouteSettings: map<str,RouteSettings>?, StageName: str?, StageVariables: map<str,str>?, Tags: map<str,str>?}

@endgroup

@group vpclinks
@endpoint PATCH /v2/vpclinks/{vpcLinkId}
@desc Updates a VPC link.
@required {VpcLinkId: str}
@optional {Name: str}
@returns(200) {CreatedDate: str(timestamp)?, Name: str?, SecurityGroupIds: [str]?, SubnetIds: [str]?, Tags: map<str,str>?, VpcLinkId: str?, VpcLinkStatus: str?, VpcLinkStatusMessage: str?, VpcLinkVersion: str?}

@endgroup

@end
