{"note":"OpenAPI conversion -- returning structured metadata","name":"amazonaws-com-appsync","description":"AWS AppSync","version":"2017-07-25","base_url":"","endpoints":64,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS AppSync\n@version 2017-07-25\n@auth AWS SigV4\n@endpoints 64\n@hint download_for_search\n@toc domainnames(8), sourceApis(2), mergedApis(6), apis(41), dataplane-evaluatecode(1), dataplane-evaluatetemplate(1), datasources(2), tags(3)\n\n@group domainnames\n@endpoint POST /v1/domainnames/{domainName}/apiassociation\n@desc Maps an endpoint to your custom domain.\n@required {domainName: str, apiId: str}\n@returns(200) {apiAssociation: ApiAssociation?{domainName: str?, apiId: str?, associationStatus: str?, deploymentDetail: str?}}\n\n@endgroup\n\n@group sourceApis\n@endpoint POST /v1/sourceApis/{sourceApiIdentifier}/mergedApiAssociations\n@desc Creates an association between a Merged API and source API using the source API's identifier.\n@required {sourceApiIdentifier: str, mergedApiIdentifier: str}\n@optional {description: str, sourceApiAssociationConfig: SourceApiAssociationConfig}\n@returns(200) {sourceApiAssociation: SourceApiAssociation?{associationId: str?, associationArn: str?, sourceApiId: str?, sourceApiArn: str?, mergedApiArn: str?, mergedApiId: str?, description: str?, sourceApiAssociationConfig: SourceApiAssociationConfig?{mergeType: str?}, sourceApiAssociationStatus: str?, sourceApiAssociationStatusDetail: str?, lastSuccessfulMergeDate: str(timestamp)?}}\n\n@endgroup\n\n@group mergedApis\n@endpoint POST /v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations\n@desc Creates an association between a Merged API and source API using the Merged API's identifier.\n@required {mergedApiIdentifier: str, sourceApiIdentifier: str}\n@optional {description: str, sourceApiAssociationConfig: SourceApiAssociationConfig}\n@returns(200) {sourceApiAssociation: SourceApiAssociation?{associationId: str?, associationArn: str?, sourceApiId: str?, sourceApiArn: str?, mergedApiArn: str?, mergedApiId: str?, description: str?, sourceApiAssociationConfig: SourceApiAssociationConfig?{mergeType: str?}, sourceApiAssociationStatus: str?, sourceApiAssociationStatusDetail: str?, lastSuccessfulMergeDate: str(timestamp)?}}\n\n@endgroup\n\n@group apis\n@endpoint POST /v1/apis/{apiId}/ApiCaches\n@desc Creates a cache for the GraphQL API.\n@required {apiId: str, ttl: int(i64), apiCachingBehavior: str, type: str}\n@optional {transitEncryptionEnabled: bool, atRestEncryptionEnabled: bool, healthMetricsConfig: str}\n@returns(200) {apiCache: ApiCache?{ttl: int(i64)?, apiCachingBehavior: str?, transitEncryptionEnabled: bool?, atRestEncryptionEnabled: bool?, type: str?, status: str?, healthMetricsConfig: str?}}\n\n@endpoint POST /v1/apis/{apiId}/apikeys\n@desc Creates a unique key that you can distribute to clients who invoke your API.\n@required {apiId: str}\n@optional {description: str, expires: int(i64)}\n@returns(200) {apiKey: ApiKey?{id: str?, description: str?, expires: int(i64)?, deletes: int(i64)?}}\n\n@endpoint POST /v1/apis/{apiId}/datasources\n@desc Creates a DataSource object.\n@required {apiId: str, name: str, type: str}\n@optional {description: str, serviceRoleArn: str, dynamodbConfig: DynamodbDataSourceConfig, lambdaConfig: LambdaDataSourceConfig, elasticsearchConfig: ElasticsearchDataSourceConfig, openSearchServiceConfig: OpenSearchServiceDataSourceConfig, httpConfig: HttpDataSourceConfig, relationalDatabaseConfig: RelationalDatabaseDataSourceConfig, eventBridgeConfig: EventBridgeDataSourceConfig, metricsConfig: str}\n@returns(200) {dataSource: DataSource?{dataSourceArn: str?, name: str?, description: str?, type: str?, serviceRoleArn: str?, dynamodbConfig: DynamodbDataSourceConfig?{tableName: str, awsRegion: str, useCallerCredentials: bool?, deltaSyncConfig: DeltaSyncConfig?{baseTableTTL: int(i64)?, deltaSyncTableName: str?, deltaSyncTableTTL: int(i64)?}, versioned: bool?}, lambdaConfig: LambdaDataSourceConfig?{lambdaFunctionArn: str}, elasticsearchConfig: ElasticsearchDataSourceConfig?{endpoint: str, awsRegion: str}, openSearchServiceConfig: OpenSearchServiceDataSourceConfig?{endpoint: str, awsRegion: str}, httpConfig: HttpDataSourceConfig?{endpoint: str?, authorizationConfig: AuthorizationConfig?{authorizationType: str, awsIamConfig: AwsIamConfig?}}, relationalDatabaseConfig: RelationalDatabaseDataSourceConfig?{relationalDatabaseSourceType: str?, rdsHttpEndpointConfig: RdsHttpEndpointConfig?{awsRegion: str?, dbClusterIdentifier: str?, databaseName: str?, schema: str?, awsSecretStoreArn: str?}}, eventBridgeConfig: EventBridgeDataSourceConfig?{eventBusArn: str}, metricsConfig: str?}}\n\n@endgroup\n\n@group domainnames\n@endpoint POST /v1/domainnames\n@desc Creates a custom DomainName object.\n@required {domainName: str, certificateArn: str}\n@optional {description: str}\n@returns(200) {domainNameConfig: DomainNameConfig?{domainName: str?, description: str?, certificateArn: str?, appsyncDomainName: str?, hostedZoneId: str?}}\n\n@endgroup\n\n@group apis\n@endpoint POST /v1/apis/{apiId}/functions\n@desc Creates a Function object. A function is a reusable entity. You can use multiple functions to compose the resolver logic.\n@required {apiId: str, name: str, dataSourceName: str}\n@optional {description: str, requestMappingTemplate: str, responseMappingTemplate: str, functionVersion: str, syncConfig: SyncConfig, maxBatchSize: int, runtime: AppSyncRuntime, code: str}\n@returns(200) {functionConfiguration: FunctionConfiguration?{functionId: str?, functionArn: str?, name: str?, description: str?, dataSourceName: str?, requestMappingTemplate: str?, responseMappingTemplate: str?, functionVersion: str?, syncConfig: SyncConfig?{conflictHandler: str?, conflictDetection: str?, lambdaConflictHandlerConfig: LambdaConflictHandlerConfig?{lambdaConflictHandlerArn: str?}}, maxBatchSize: int?, runtime: AppSyncRuntime?{name: str, runtimeVersion: str}, code: str?}}\n\n@endpoint POST /v1/apis\n@desc Creates a GraphqlApi object.\n@required {name: str, authenticationType: str}\n@optional {logConfig: LogConfig, userPoolConfig: UserPoolConfig, openIDConnectConfig: OpenIDConnectConfig, tags: map<str,str>, additionalAuthenticationProviders: [AdditionalAuthenticationProvider], xrayEnabled: bool, lambdaAuthorizerConfig: LambdaAuthorizerConfig, visibility: str, apiType: str, mergedApiExecutionRoleArn: str, ownerContact: str, introspectionConfig: str, queryDepthLimit: int, resolverCountLimit: int, enhancedMetricsConfig: EnhancedMetricsConfig}\n@returns(200) {graphqlApi: GraphqlApi?{name: str?, apiId: str?, authenticationType: str?, logConfig: LogConfig?{fieldLogLevel: str, cloudWatchLogsRoleArn: str, excludeVerboseContent: bool?}, userPoolConfig: UserPoolConfig?{userPoolId: str, awsRegion: str, defaultAction: str, appIdClientRegex: str?}, openIDConnectConfig: OpenIDConnectConfig?{issuer: str, clientId: str?, iatTTL: int(i64)?, authTTL: int(i64)?}, arn: str?, uris: map<str,str>?, tags: map<str,str>?, additionalAuthenticationProviders: [AdditionalAuthenticationProvider]?, xrayEnabled: bool?, wafWebAclArn: str?, lambdaAuthorizerConfig: LambdaAuthorizerConfig?{authorizerResultTtlInSeconds: int?, authorizerUri: str, identityValidationExpression: str?}, dns: map<str,str>?, visibility: str?, apiType: str?, mergedApiExecutionRoleArn: str?, owner: str?, ownerContact: str?, introspectionConfig: str?, queryDepthLimit: int?, resolverCountLimit: int?, enhancedMetricsConfig: EnhancedMetricsConfig?{resolverLevelMetricsBehavior: str, dataSourceLevelMetricsBehavior: str, operationLevelMetricsConfig: str}}}\n\n@endpoint POST /v1/apis/{apiId}/types/{typeName}/resolvers\n@desc Creates a Resolver object. A resolver converts incoming requests into a format that a data source can understand, and converts the data source's responses into GraphQL.\n@required {apiId: str, typeName: str, fieldName: str}\n@optional {dataSourceName: str, requestMappingTemplate: str, responseMappingTemplate: str, kind: str, pipelineConfig: PipelineConfig, syncConfig: SyncConfig, cachingConfig: CachingConfig, maxBatchSize: int, runtime: AppSyncRuntime, code: str, metricsConfig: str}\n@returns(200) {resolver: Resolver?{typeName: str?, fieldName: str?, dataSourceName: str?, resolverArn: str?, requestMappingTemplate: str?, responseMappingTemplate: str?, kind: str?, pipelineConfig: PipelineConfig?{functions: [str]?}, syncConfig: SyncConfig?{conflictHandler: str?, conflictDetection: str?, lambdaConflictHandlerConfig: LambdaConflictHandlerConfig?{lambdaConflictHandlerArn: str?}}, cachingConfig: CachingConfig?{ttl: int(i64), cachingKeys: [str]?}, maxBatchSize: int?, runtime: AppSyncRuntime?{name: str, runtimeVersion: str}, code: str?, metricsConfig: str?}}\n\n@endpoint POST /v1/apis/{apiId}/types\n@desc Creates a Type object.\n@required {apiId: str, definition: str, format: str}\n@returns(200) {type: Type?{name: str?, description: str?, arn: str?, definition: str?, format: str?}}\n\n@endpoint DELETE /v1/apis/{apiId}/ApiCaches\n@desc Deletes an ApiCache object.\n@required {apiId: str}\n\n@endpoint DELETE /v1/apis/{apiId}/apikeys/{id}\n@desc Deletes an API key.\n@required {apiId: str, id: str}\n\n@endpoint DELETE /v1/apis/{apiId}/datasources/{name}\n@desc Deletes a DataSource object.\n@required {apiId: str, name: str}\n\n@endgroup\n\n@group domainnames\n@endpoint DELETE /v1/domainnames/{domainName}\n@desc Deletes a custom DomainName object.\n@required {domainName: str}\n\n@endgroup\n\n@group apis\n@endpoint DELETE /v1/apis/{apiId}/functions/{functionId}\n@desc Deletes a Function.\n@required {apiId: str, functionId: str}\n\n@endpoint DELETE /v1/apis/{apiId}\n@desc Deletes a GraphqlApi object.\n@required {apiId: str}\n\n@endpoint DELETE /v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}\n@desc Deletes a Resolver object.\n@required {apiId: str, typeName: str, fieldName: str}\n\n@endpoint DELETE /v1/apis/{apiId}/types/{typeName}\n@desc Deletes a Type object.\n@required {apiId: str, typeName: str}\n\n@endgroup\n\n@group domainnames\n@endpoint DELETE /v1/domainnames/{domainName}/apiassociation\n@desc Removes an ApiAssociation object from a custom domain.\n@required {domainName: str}\n\n@endgroup\n\n@group sourceApis\n@endpoint DELETE /v1/sourceApis/{sourceApiIdentifier}/mergedApiAssociations/{associationId}\n@desc Deletes an association between a Merged API and source API using the source API's identifier and the association ID.\n@required {sourceApiIdentifier: str, associationId: str}\n@returns(200) {sourceApiAssociationStatus: str?}\n\n@endgroup\n\n@group mergedApis\n@endpoint DELETE /v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations/{associationId}\n@desc Deletes an association between a Merged API and source API using the Merged API's identifier and the association ID.\n@required {mergedApiIdentifier: str, associationId: str}\n@returns(200) {sourceApiAssociationStatus: str?}\n\n@endgroup\n\n@group dataplane-evaluatecode\n@endpoint POST /v1/dataplane-evaluatecode\n@desc Evaluates the given code and returns the response. The code definition requirements depend on the specified runtime. For APPSYNC_JS runtimes, the code defines the request and response functions. The request function takes the incoming request after a GraphQL operation is parsed and converts it into a request configuration for the selected data source operation. The response function interprets responses from the data source and maps it to the shape of the GraphQL field output type.\n@required {runtime: AppSyncRuntime, code: str, context: str}\n@optional {function: str}\n@returns(200) {evaluationResult: str?, error: EvaluateCodeErrorDetail?{message: str?, codeErrors: [CodeError]?}, logs: [str]?}\n\n@endgroup\n\n@group dataplane-evaluatetemplate\n@endpoint POST /v1/dataplane-evaluatetemplate\n@desc Evaluates a given template and returns the response. The mapping template can be a request or response template. Request templates take the incoming request after a GraphQL operation is parsed and convert it into a request configuration for the selected data source operation. Response templates interpret responses from the data source and map it to the shape of the GraphQL field output type. Mapping templates are written in the Apache Velocity Template Language (VTL).\n@required {template: str, context: str}\n@returns(200) {evaluationResult: str?, error: ErrorDetail?{message: str?}, logs: [str]?}\n\n@endgroup\n\n@group apis\n@endpoint DELETE /v1/apis/{apiId}/FlushCache\n@desc Flushes an ApiCache object.\n@required {apiId: str}\n\n@endgroup\n\n@group domainnames\n@endpoint GET /v1/domainnames/{domainName}/apiassociation\n@desc Retrieves an ApiAssociation object.\n@required {domainName: str}\n@returns(200) {apiAssociation: ApiAssociation?{domainName: str?, apiId: str?, associationStatus: str?, deploymentDetail: str?}}\n\n@endgroup\n\n@group apis\n@endpoint GET /v1/apis/{apiId}/ApiCaches\n@desc Retrieves an ApiCache object.\n@required {apiId: str}\n@returns(200) {apiCache: ApiCache?{ttl: int(i64)?, apiCachingBehavior: str?, transitEncryptionEnabled: bool?, atRestEncryptionEnabled: bool?, type: str?, status: str?, healthMetricsConfig: str?}}\n\n@endpoint GET /v1/apis/{apiId}/datasources/{name}\n@desc Retrieves a DataSource object.\n@required {apiId: str, name: str}\n@returns(200) {dataSource: DataSource?{dataSourceArn: str?, name: str?, description: str?, type: str?, serviceRoleArn: str?, dynamodbConfig: DynamodbDataSourceConfig?{tableName: str, awsRegion: str, useCallerCredentials: bool?, deltaSyncConfig: DeltaSyncConfig?{baseTableTTL: int(i64)?, deltaSyncTableName: str?, deltaSyncTableTTL: int(i64)?}, versioned: bool?}, lambdaConfig: LambdaDataSourceConfig?{lambdaFunctionArn: str}, elasticsearchConfig: ElasticsearchDataSourceConfig?{endpoint: str, awsRegion: str}, openSearchServiceConfig: OpenSearchServiceDataSourceConfig?{endpoint: str, awsRegion: str}, httpConfig: HttpDataSourceConfig?{endpoint: str?, authorizationConfig: AuthorizationConfig?{authorizationType: str, awsIamConfig: AwsIamConfig?}}, relationalDatabaseConfig: RelationalDatabaseDataSourceConfig?{relationalDatabaseSourceType: str?, rdsHttpEndpointConfig: RdsHttpEndpointConfig?{awsRegion: str?, dbClusterIdentifier: str?, databaseName: str?, schema: str?, awsSecretStoreArn: str?}}, eventBridgeConfig: EventBridgeDataSourceConfig?{eventBusArn: str}, metricsConfig: str?}}\n\n@endgroup\n\n@group datasources\n@endpoint GET /v1/datasources/introspections/{introspectionId}\n@desc Retrieves the record of an existing introspection. If the retrieval is successful, the result of the instrospection will also be returned. If the retrieval fails the operation, an error message will be returned instead.\n@required {introspectionId: str}\n@optional {includeModelsSDL: bool, nextToken: str, maxResults: int}\n@returns(200) {introspectionId: str?, introspectionStatus: str?, introspectionStatusDetail: str?, introspectionResult: DataSourceIntrospectionResult?{models: [DataSourceIntrospectionModel]?, nextToken: str?}}\n\n@endgroup\n\n@group domainnames\n@endpoint GET /v1/domainnames/{domainName}\n@desc Retrieves a custom DomainName object.\n@required {domainName: str}\n@returns(200) {domainNameConfig: DomainNameConfig?{domainName: str?, description: str?, certificateArn: str?, appsyncDomainName: str?, hostedZoneId: str?}}\n\n@endgroup\n\n@group apis\n@endpoint GET /v1/apis/{apiId}/functions/{functionId}\n@desc Get a Function.\n@required {apiId: str, functionId: str}\n@returns(200) {functionConfiguration: FunctionConfiguration?{functionId: str?, functionArn: str?, name: str?, description: str?, dataSourceName: str?, requestMappingTemplate: str?, responseMappingTemplate: str?, functionVersion: str?, syncConfig: SyncConfig?{conflictHandler: str?, conflictDetection: str?, lambdaConflictHandlerConfig: LambdaConflictHandlerConfig?{lambdaConflictHandlerArn: str?}}, maxBatchSize: int?, runtime: AppSyncRuntime?{name: str, runtimeVersion: str}, code: str?}}\n\n@endpoint GET /v1/apis/{apiId}\n@desc Retrieves a GraphqlApi object.\n@required {apiId: str}\n@returns(200) {graphqlApi: GraphqlApi?{name: str?, apiId: str?, authenticationType: str?, logConfig: LogConfig?{fieldLogLevel: str, cloudWatchLogsRoleArn: str, excludeVerboseContent: bool?}, userPoolConfig: UserPoolConfig?{userPoolId: str, awsRegion: str, defaultAction: str, appIdClientRegex: str?}, openIDConnectConfig: OpenIDConnectConfig?{issuer: str, clientId: str?, iatTTL: int(i64)?, authTTL: int(i64)?}, arn: str?, uris: map<str,str>?, tags: map<str,str>?, additionalAuthenticationProviders: [AdditionalAuthenticationProvider]?, xrayEnabled: bool?, wafWebAclArn: str?, lambdaAuthorizerConfig: LambdaAuthorizerConfig?{authorizerResultTtlInSeconds: int?, authorizerUri: str, identityValidationExpression: str?}, dns: map<str,str>?, visibility: str?, apiType: str?, mergedApiExecutionRoleArn: str?, owner: str?, ownerContact: str?, introspectionConfig: str?, queryDepthLimit: int?, resolverCountLimit: int?, enhancedMetricsConfig: EnhancedMetricsConfig?{resolverLevelMetricsBehavior: str, dataSourceLevelMetricsBehavior: str, operationLevelMetricsConfig: str}}}\n\n@endpoint GET /v1/apis/{apiId}/environmentVariables\n@desc Retrieves the list of environmental variable key-value pairs associated with an API by its ID value.\n@required {apiId: str}\n@returns(200) {environmentVariables: map<str,str>?}\n\n@endpoint GET /v1/apis/{apiId}/schema\n@desc Retrieves the introspection schema for a GraphQL API.\n@required {apiId: str, format: str}\n@optional {includeDirectives: bool}\n@returns(200) {schema: bytes?}\n\n@endpoint GET /v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}\n@desc Retrieves a Resolver object.\n@required {apiId: str, typeName: str, fieldName: str}\n@returns(200) {resolver: Resolver?{typeName: str?, fieldName: str?, dataSourceName: str?, resolverArn: str?, requestMappingTemplate: str?, responseMappingTemplate: str?, kind: str?, pipelineConfig: PipelineConfig?{functions: [str]?}, syncConfig: SyncConfig?{conflictHandler: str?, conflictDetection: str?, lambdaConflictHandlerConfig: LambdaConflictHandlerConfig?{lambdaConflictHandlerArn: str?}}, cachingConfig: CachingConfig?{ttl: int(i64), cachingKeys: [str]?}, maxBatchSize: int?, runtime: AppSyncRuntime?{name: str, runtimeVersion: str}, code: str?, metricsConfig: str?}}\n\n@endpoint GET /v1/apis/{apiId}/schemacreation\n@desc Retrieves the current status of a schema creation operation.\n@required {apiId: str}\n@returns(200) {status: str?, details: str?}\n\n@endgroup\n\n@group mergedApis\n@endpoint GET /v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations/{associationId}\n@desc Retrieves a SourceApiAssociation object.\n@required {mergedApiIdentifier: str, associationId: str}\n@returns(200) {sourceApiAssociation: SourceApiAssociation?{associationId: str?, associationArn: str?, sourceApiId: str?, sourceApiArn: str?, mergedApiArn: str?, mergedApiId: str?, description: str?, sourceApiAssociationConfig: SourceApiAssociationConfig?{mergeType: str?}, sourceApiAssociationStatus: str?, sourceApiAssociationStatusDetail: str?, lastSuccessfulMergeDate: str(timestamp)?}}\n\n@endgroup\n\n@group apis\n@endpoint GET /v1/apis/{apiId}/types/{typeName}\n@desc Retrieves a Type object.\n@required {apiId: str, typeName: str, format: str}\n@returns(200) {type: Type?{name: str?, description: str?, arn: str?, definition: str?, format: str?}}\n\n@endpoint GET /v1/apis/{apiId}/apikeys\n@desc Lists the API keys for a given API.  API keys are deleted automatically 60 days after they expire. However, they may still be included in the response until they have actually been deleted. You can safely call DeleteApiKey to manually delete a key before it's automatically deleted.\n@required {apiId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {apiKeys: [ApiKey]?, nextToken: str?}\n\n@endpoint GET /v1/apis/{apiId}/datasources\n@desc Lists the data sources for a given API.\n@required {apiId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {dataSources: [DataSource]?, nextToken: str?}\n\n@endgroup\n\n@group domainnames\n@endpoint GET /v1/domainnames\n@desc Lists multiple custom domain names.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {domainNameConfigs: [DomainNameConfig]?, nextToken: str?}\n\n@endgroup\n\n@group apis\n@endpoint GET /v1/apis/{apiId}/functions\n@desc List multiple functions.\n@required {apiId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {functions: [FunctionConfiguration]?, nextToken: str?}\n\n@endpoint GET /v1/apis\n@desc Lists your GraphQL APIs.\n@optional {nextToken: str, maxResults: int, apiType: str, owner: str}\n@returns(200) {graphqlApis: [GraphqlApi]?, nextToken: str?}\n\n@endpoint GET /v1/apis/{apiId}/types/{typeName}/resolvers\n@desc Lists the resolvers for a given API and type.\n@required {apiId: str, typeName: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {resolvers: [Resolver]?, nextToken: str?}\n\n@endpoint GET /v1/apis/{apiId}/functions/{functionId}/resolvers\n@desc List the resolvers that are associated with a specific function.\n@required {apiId: str, functionId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {resolvers: [Resolver]?, nextToken: str?}\n\n@endpoint GET /v1/apis/{apiId}/sourceApiAssociations\n@desc Lists the SourceApiAssociationSummary data.\n@required {apiId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {sourceApiAssociationSummaries: [SourceApiAssociationSummary]?, nextToken: str?}\n\n@endgroup\n\n@group tags\n@endpoint GET /v1/tags/{resourceArn}\n@desc Lists the tags for a resource.\n@required {resourceArn: str}\n@returns(200) {tags: map<str,str>?}\n\n@endgroup\n\n@group apis\n@endpoint GET /v1/apis/{apiId}/types\n@desc Lists the types for a given API.\n@required {apiId: str, format: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {types: [Type]?, nextToken: str?}\n\n@endgroup\n\n@group mergedApis\n@endpoint GET /v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations/{associationId}/types\n@desc Lists Type objects by the source API association ID.\n@required {mergedApiIdentifier: str, associationId: str, format: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {types: [Type]?, nextToken: str?}\n\n@endgroup\n\n@group apis\n@endpoint PUT /v1/apis/{apiId}/environmentVariables\n@desc Creates a list of environmental variables in an API by its ID value.  When creating an environmental variable, it must follow the constraints below:   Both JavaScript and VTL templates support environmental variables.   Environmental variables are not evaluated before function invocation.   Environmental variables only support string values.   Any defined value in an environmental variable is considered a string literal and not expanded.   Variable evaluations should ideally be performed in the function code.   When creating an environmental variable key-value pair, it must follow the additional constraints below:   Keys must begin with a letter.   Keys must be at least two characters long.   Keys can only contain letters, numbers, and the underscore character (_).   Values can be up to 512 characters long.   You can configure up to 50 key-value pairs in a GraphQL API.   You can create a list of environmental variables by adding it to the environmentVariables payload as a list in the format {\"key1\":\"value1\",\"key2\":\"value2\", …}. Note that each call of the PutGraphqlApiEnvironmentVariables action will result in the overwriting of the existing environmental variable list of that API. This means the existing environmental variables will be lost. To avoid this, you must include all existing and new environmental variables in the list each time you call this action.\n@required {apiId: str, environmentVariables: map<str,str>}\n@returns(200) {environmentVariables: map<str,str>?}\n\n@endgroup\n\n@group datasources\n@endpoint POST /v1/datasources/introspections\n@desc Creates a new introspection. Returns the introspectionId of the new introspection after its creation.\n@optional {rdsDataApiConfig: RdsDataApiConfig}\n@returns(200) {introspectionId: str?, introspectionStatus: str?, introspectionStatusDetail: str?}\n\n@endgroup\n\n@group apis\n@endpoint POST /v1/apis/{apiId}/schemacreation\n@desc Adds a new schema to your GraphQL API. This operation is asynchronous. Use to determine when it has completed.\n@required {apiId: str, definition: bytes}\n@returns(200) {status: str?}\n\n@endgroup\n\n@group mergedApis\n@endpoint POST /v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations/{associationId}/merge\n@desc Initiates a merge operation. Returns a status that shows the result of the merge operation.\n@required {associationId: str, mergedApiIdentifier: str}\n@returns(200) {sourceApiAssociationStatus: str?}\n\n@endgroup\n\n@group tags\n@endpoint POST /v1/tags/{resourceArn}\n@desc Tags a resource with user-supplied tags.\n@required {resourceArn: str, tags: map<str,str>}\n\n@endpoint DELETE /v1/tags/{resourceArn}\n@desc Untags a resource.\n@required {resourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@group apis\n@endpoint POST /v1/apis/{apiId}/ApiCaches/update\n@desc Updates the cache for the GraphQL API.\n@required {apiId: str, ttl: int(i64), apiCachingBehavior: str, type: str}\n@optional {healthMetricsConfig: str}\n@returns(200) {apiCache: ApiCache?{ttl: int(i64)?, apiCachingBehavior: str?, transitEncryptionEnabled: bool?, atRestEncryptionEnabled: bool?, type: str?, status: str?, healthMetricsConfig: str?}}\n\n@endpoint POST /v1/apis/{apiId}/apikeys/{id}\n@desc Updates an API key. You can update the key as long as it's not deleted.\n@required {apiId: str, id: str}\n@optional {description: str, expires: int(i64)}\n@returns(200) {apiKey: ApiKey?{id: str?, description: str?, expires: int(i64)?, deletes: int(i64)?}}\n\n@endpoint POST /v1/apis/{apiId}/datasources/{name}\n@desc Updates a DataSource object.\n@required {apiId: str, name: str, type: str}\n@optional {description: str, serviceRoleArn: str, dynamodbConfig: DynamodbDataSourceConfig, lambdaConfig: LambdaDataSourceConfig, elasticsearchConfig: ElasticsearchDataSourceConfig, openSearchServiceConfig: OpenSearchServiceDataSourceConfig, httpConfig: HttpDataSourceConfig, relationalDatabaseConfig: RelationalDatabaseDataSourceConfig, eventBridgeConfig: EventBridgeDataSourceConfig, metricsConfig: str}\n@returns(200) {dataSource: DataSource?{dataSourceArn: str?, name: str?, description: str?, type: str?, serviceRoleArn: str?, dynamodbConfig: DynamodbDataSourceConfig?{tableName: str, awsRegion: str, useCallerCredentials: bool?, deltaSyncConfig: DeltaSyncConfig?{baseTableTTL: int(i64)?, deltaSyncTableName: str?, deltaSyncTableTTL: int(i64)?}, versioned: bool?}, lambdaConfig: LambdaDataSourceConfig?{lambdaFunctionArn: str}, elasticsearchConfig: ElasticsearchDataSourceConfig?{endpoint: str, awsRegion: str}, openSearchServiceConfig: OpenSearchServiceDataSourceConfig?{endpoint: str, awsRegion: str}, httpConfig: HttpDataSourceConfig?{endpoint: str?, authorizationConfig: AuthorizationConfig?{authorizationType: str, awsIamConfig: AwsIamConfig?}}, relationalDatabaseConfig: RelationalDatabaseDataSourceConfig?{relationalDatabaseSourceType: str?, rdsHttpEndpointConfig: RdsHttpEndpointConfig?{awsRegion: str?, dbClusterIdentifier: str?, databaseName: str?, schema: str?, awsSecretStoreArn: str?}}, eventBridgeConfig: EventBridgeDataSourceConfig?{eventBusArn: str}, metricsConfig: str?}}\n\n@endgroup\n\n@group domainnames\n@endpoint POST /v1/domainnames/{domainName}\n@desc Updates a custom DomainName object.\n@required {domainName: str}\n@optional {description: str}\n@returns(200) {domainNameConfig: DomainNameConfig?{domainName: str?, description: str?, certificateArn: str?, appsyncDomainName: str?, hostedZoneId: str?}}\n\n@endgroup\n\n@group apis\n@endpoint POST /v1/apis/{apiId}/functions/{functionId}\n@desc Updates a Function object.\n@required {apiId: str, functionId: str, name: str, dataSourceName: str}\n@optional {description: str, requestMappingTemplate: str, responseMappingTemplate: str, functionVersion: str, syncConfig: SyncConfig, maxBatchSize: int, runtime: AppSyncRuntime, code: str}\n@returns(200) {functionConfiguration: FunctionConfiguration?{functionId: str?, functionArn: str?, name: str?, description: str?, dataSourceName: str?, requestMappingTemplate: str?, responseMappingTemplate: str?, functionVersion: str?, syncConfig: SyncConfig?{conflictHandler: str?, conflictDetection: str?, lambdaConflictHandlerConfig: LambdaConflictHandlerConfig?{lambdaConflictHandlerArn: str?}}, maxBatchSize: int?, runtime: AppSyncRuntime?{name: str, runtimeVersion: str}, code: str?}}\n\n@endpoint POST /v1/apis/{apiId}\n@desc Updates a GraphqlApi object.\n@required {apiId: str, name: str, authenticationType: str}\n@optional {logConfig: LogConfig, userPoolConfig: UserPoolConfig, openIDConnectConfig: OpenIDConnectConfig, additionalAuthenticationProviders: [AdditionalAuthenticationProvider], xrayEnabled: bool, lambdaAuthorizerConfig: LambdaAuthorizerConfig, mergedApiExecutionRoleArn: str, ownerContact: str, introspectionConfig: str, queryDepthLimit: int, resolverCountLimit: int, enhancedMetricsConfig: EnhancedMetricsConfig}\n@returns(200) {graphqlApi: GraphqlApi?{name: str?, apiId: str?, authenticationType: str?, logConfig: LogConfig?{fieldLogLevel: str, cloudWatchLogsRoleArn: str, excludeVerboseContent: bool?}, userPoolConfig: UserPoolConfig?{userPoolId: str, awsRegion: str, defaultAction: str, appIdClientRegex: str?}, openIDConnectConfig: OpenIDConnectConfig?{issuer: str, clientId: str?, iatTTL: int(i64)?, authTTL: int(i64)?}, arn: str?, uris: map<str,str>?, tags: map<str,str>?, additionalAuthenticationProviders: [AdditionalAuthenticationProvider]?, xrayEnabled: bool?, wafWebAclArn: str?, lambdaAuthorizerConfig: LambdaAuthorizerConfig?{authorizerResultTtlInSeconds: int?, authorizerUri: str, identityValidationExpression: str?}, dns: map<str,str>?, visibility: str?, apiType: str?, mergedApiExecutionRoleArn: str?, owner: str?, ownerContact: str?, introspectionConfig: str?, queryDepthLimit: int?, resolverCountLimit: int?, enhancedMetricsConfig: EnhancedMetricsConfig?{resolverLevelMetricsBehavior: str, dataSourceLevelMetricsBehavior: str, operationLevelMetricsConfig: str}}}\n\n@endpoint POST /v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}\n@desc Updates a Resolver object.\n@required {apiId: str, typeName: str, fieldName: str}\n@optional {dataSourceName: str, requestMappingTemplate: str, responseMappingTemplate: str, kind: str, pipelineConfig: PipelineConfig, syncConfig: SyncConfig, cachingConfig: CachingConfig, maxBatchSize: int, runtime: AppSyncRuntime, code: str, metricsConfig: str}\n@returns(200) {resolver: Resolver?{typeName: str?, fieldName: str?, dataSourceName: str?, resolverArn: str?, requestMappingTemplate: str?, responseMappingTemplate: str?, kind: str?, pipelineConfig: PipelineConfig?{functions: [str]?}, syncConfig: SyncConfig?{conflictHandler: str?, conflictDetection: str?, lambdaConflictHandlerConfig: LambdaConflictHandlerConfig?{lambdaConflictHandlerArn: str?}}, cachingConfig: CachingConfig?{ttl: int(i64), cachingKeys: [str]?}, maxBatchSize: int?, runtime: AppSyncRuntime?{name: str, runtimeVersion: str}, code: str?, metricsConfig: str?}}\n\n@endgroup\n\n@group mergedApis\n@endpoint POST /v1/mergedApis/{mergedApiIdentifier}/sourceApiAssociations/{associationId}\n@desc Updates some of the configuration choices of a particular source API association.\n@required {associationId: str, mergedApiIdentifier: str}\n@optional {description: str, sourceApiAssociationConfig: SourceApiAssociationConfig}\n@returns(200) {sourceApiAssociation: SourceApiAssociation?{associationId: str?, associationArn: str?, sourceApiId: str?, sourceApiArn: str?, mergedApiArn: str?, mergedApiId: str?, description: str?, sourceApiAssociationConfig: SourceApiAssociationConfig?{mergeType: str?}, sourceApiAssociationStatus: str?, sourceApiAssociationStatusDetail: str?, lastSuccessfulMergeDate: str(timestamp)?}}\n\n@endgroup\n\n@group apis\n@endpoint POST /v1/apis/{apiId}/types/{typeName}\n@desc Updates a Type object.\n@required {apiId: str, typeName: str, format: str}\n@optional {definition: str}\n@returns(200) {type: Type?{name: str?, description: str?, arn: str?, definition: str?, format: str?}}\n\n@endgroup\n\n@end\n"}