{ "version":"2.0", "metadata":{ "apiVersion":"2017-07-25", "endpointPrefix":"appsync", "jsonVersion":"1.1", "protocol":"rest-json", "serviceAbbreviation":"AWSAppSync", "serviceFullName":"AWS AppSync", "signatureVersion":"v4", "signingName":"appsync", "uid":"appsync-2017-07-25" }, "operations":{ "CreateApiKey":{ "name":"CreateApiKey", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/apikeys" }, "input":{"shape":"CreateApiKeyRequest"}, "output":{"shape":"CreateApiKeyResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"LimitExceededException"}, {"shape":"UnauthorizedException"}, {"shape":"LimitExceededException"}, {"shape":"InternalFailureException"}, {"shape":"ApiKeyLimitExceededException"}, {"shape":"ApiKeyValidityOutOfBoundsException"} ], "documentation":"

Creates a unique key that you can distribute to clients who are executing your API.

" }, "CreateDataSource":{ "name":"CreateDataSource", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/datasources" }, "input":{"shape":"CreateDataSourceRequest"}, "output":{"shape":"CreateDataSourceResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Creates a DataSource object.

" }, "CreateGraphqlApi":{ "name":"CreateGraphqlApi", "http":{ "method":"POST", "requestUri":"/v1/apis" }, "input":{"shape":"CreateGraphqlApiRequest"}, "output":{"shape":"CreateGraphqlApiResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"LimitExceededException"}, {"shape":"ConcurrentModificationException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"}, {"shape":"LimitExceededException"}, {"shape":"ApiLimitExceededException"} ], "documentation":"

Creates a GraphqlApi object.

" }, "CreateResolver":{ "name":"CreateResolver", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers" }, "input":{"shape":"CreateResolverRequest"}, "output":{"shape":"CreateResolverResponse"}, "errors":[ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

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.

" }, "CreateType":{ "name":"CreateType", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/types" }, "input":{"shape":"CreateTypeRequest"}, "output":{"shape":"CreateTypeResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Creates a Type object.

" }, "DeleteApiKey":{ "name":"DeleteApiKey", "http":{ "method":"DELETE", "requestUri":"/v1/apis/{apiId}/apikeys/{id}" }, "input":{"shape":"DeleteApiKeyRequest"}, "output":{"shape":"DeleteApiKeyResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Deletes an API key.

" }, "DeleteDataSource":{ "name":"DeleteDataSource", "http":{ "method":"DELETE", "requestUri":"/v1/apis/{apiId}/datasources/{name}" }, "input":{"shape":"DeleteDataSourceRequest"}, "output":{"shape":"DeleteDataSourceResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Deletes a DataSource object.

" }, "DeleteGraphqlApi":{ "name":"DeleteGraphqlApi", "http":{ "method":"DELETE", "requestUri":"/v1/apis/{apiId}" }, "input":{"shape":"DeleteGraphqlApiRequest"}, "output":{"shape":"DeleteGraphqlApiResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Deletes a GraphqlApi object.

" }, "DeleteResolver":{ "name":"DeleteResolver", "http":{ "method":"DELETE", "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" }, "input":{"shape":"DeleteResolverRequest"}, "output":{"shape":"DeleteResolverResponse"}, "errors":[ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Deletes a Resolver object.

" }, "DeleteType":{ "name":"DeleteType", "http":{ "method":"DELETE", "requestUri":"/v1/apis/{apiId}/types/{typeName}" }, "input":{"shape":"DeleteTypeRequest"}, "output":{"shape":"DeleteTypeResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Deletes a Type object.

" }, "GetDataSource":{ "name":"GetDataSource", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/datasources/{name}" }, "input":{"shape":"GetDataSourceRequest"}, "output":{"shape":"GetDataSourceResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Retrieves a DataSource object.

" }, "GetGraphqlApi":{ "name":"GetGraphqlApi", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}" }, "input":{"shape":"GetGraphqlApiRequest"}, "output":{"shape":"GetGraphqlApiResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Retrieves a GraphqlApi object.

" }, "GetIntrospectionSchema":{ "name":"GetIntrospectionSchema", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/schema" }, "input":{"shape":"GetIntrospectionSchemaRequest"}, "output":{"shape":"GetIntrospectionSchemaResponse"}, "errors":[ {"shape":"GraphQLSchemaException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Retrieves the introspection schema for a GraphQL API.

" }, "GetResolver":{ "name":"GetResolver", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" }, "input":{"shape":"GetResolverRequest"}, "output":{"shape":"GetResolverResponse"}, "errors":[ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], "documentation":"

Retrieves a Resolver object.

" }, "GetSchemaCreationStatus":{ "name":"GetSchemaCreationStatus", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/schemacreation" }, "input":{"shape":"GetSchemaCreationStatusRequest"}, "output":{"shape":"GetSchemaCreationStatusResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Retrieves the current status of a schema creation operation.

" }, "GetType":{ "name":"GetType", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/types/{typeName}" }, "input":{"shape":"GetTypeRequest"}, "output":{"shape":"GetTypeResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Retrieves a Type object.

" }, "ListApiKeys":{ "name":"ListApiKeys", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/apikeys" }, "input":{"shape":"ListApiKeysRequest"}, "output":{"shape":"ListApiKeysResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Lists the API keys for a given API.

" }, "ListDataSources":{ "name":"ListDataSources", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/datasources" }, "input":{"shape":"ListDataSourcesRequest"}, "output":{"shape":"ListDataSourcesResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Lists the data sources for a given API.

" }, "ListGraphqlApis":{ "name":"ListGraphqlApis", "http":{ "method":"GET", "requestUri":"/v1/apis" }, "input":{"shape":"ListGraphqlApisRequest"}, "output":{"shape":"ListGraphqlApisResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Lists your GraphQL APIs.

" }, "ListResolvers":{ "name":"ListResolvers", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers" }, "input":{"shape":"ListResolversRequest"}, "output":{"shape":"ListResolversResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Lists the resolvers for a given API and type.

" }, "ListTypes":{ "name":"ListTypes", "http":{ "method":"GET", "requestUri":"/v1/apis/{apiId}/types" }, "input":{"shape":"ListTypesRequest"}, "output":{"shape":"ListTypesResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Lists the types for a given API.

" }, "StartSchemaCreation":{ "name":"StartSchemaCreation", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/schemacreation" }, "input":{"shape":"StartSchemaCreationRequest"}, "output":{"shape":"StartSchemaCreationResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Adds a new schema to your GraphQL API.

This operation is asynchronous. Use to determine when it has completed.

" }, "UpdateApiKey":{ "name":"UpdateApiKey", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/apikeys/{id}" }, "input":{"shape":"UpdateApiKeyRequest"}, "output":{"shape":"UpdateApiKeyResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"LimitExceededException"}, {"shape":"InternalFailureException"}, {"shape":"ApiKeyValidityOutOfBoundsException"} ], "documentation":"

Updates an API key.

" }, "UpdateDataSource":{ "name":"UpdateDataSource", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/datasources/{name}" }, "input":{"shape":"UpdateDataSourceRequest"}, "output":{"shape":"UpdateDataSourceResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Updates a DataSource object.

" }, "UpdateGraphqlApi":{ "name":"UpdateGraphqlApi", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}" }, "input":{"shape":"UpdateGraphqlApiRequest"}, "output":{"shape":"UpdateGraphqlApiResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Updates a GraphqlApi object.

" }, "UpdateResolver":{ "name":"UpdateResolver", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" }, "input":{"shape":"UpdateResolverRequest"}, "output":{"shape":"UpdateResolverResponse"}, "errors":[ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Updates a Resolver object.

" }, "UpdateType":{ "name":"UpdateType", "http":{ "method":"POST", "requestUri":"/v1/apis/{apiId}/types/{typeName}" }, "input":{"shape":"UpdateTypeRequest"}, "output":{"shape":"UpdateTypeResponse"}, "errors":[ {"shape":"BadRequestException"}, {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"InternalFailureException"} ], "documentation":"

Updates a Type object.

" } }, "shapes":{ "ApiKey":{ "type":"structure", "members":{ "id":{ "shape":"String", "documentation":"

The API key ID.

" }, "description":{ "shape":"String", "documentation":"

A description of the purpose of the API key.

" }, "expires":{ "shape":"Long", "documentation":"

The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

" } }, "documentation":"

Describes an API key.

" }, "ApiKeyLimitExceededException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

The API key exceeded a limit. Try your request again.

", "error":{"httpStatusCode":400}, "exception":true }, "ApiKeyValidityOutOfBoundsException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

The API key expiration must be set to a value between 1 and 365 days.

", "error":{"httpStatusCode":400}, "exception":true }, "ApiKeys":{ "type":"list", "member":{"shape":"ApiKey"} }, "ApiLimitExceededException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

The GraphQL API exceeded a limit. Try your request again.

", "error":{"httpStatusCode":400}, "exception":true }, "AuthenticationType":{ "type":"string", "enum":[ "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS" ] }, "BadRequestException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, "documentation":"

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.

", "error":{"httpStatusCode":400}, "exception":true }, "Blob":{"type":"blob"}, "Boolean":{"type":"boolean"}, "ConcurrentModificationException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, "documentation":"

Another modification is being made. That modification must complete before you can make your change.

", "error":{"httpStatusCode":409}, "exception":true }, "CreateApiKeyRequest":{ "type":"structure", "required":["apiId"], "members":{ "apiId":{ "shape":"String", "documentation":"

The ID for your GraphQL API.

", "location":"uri", "locationName":"apiId" }, "description":{ "shape":"String", "documentation":"

A description of the purpose of the API key.

" }, "expires":{ "shape":"Long", "documentation":"

The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. The default value for this parameter is 7 days from creation time.

" } } }, "CreateApiKeyResponse":{ "type":"structure", "members":{ "apiKey":{ "shape":"ApiKey", "documentation":"

The API key.

" } } }, "CreateDataSourceRequest":{ "type":"structure", "required":[ "apiId", "name", "type" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID for the GraphQL API for the DataSource.

", "location":"uri", "locationName":"apiId" }, "name":{ "shape":"ResourceName", "documentation":"

A user-supplied name for the DataSource.

" }, "description":{ "shape":"String", "documentation":"

A description of the DataSource.

" }, "type":{ "shape":"DataSourceType", "documentation":"

The type of the DataSource.

" }, "serviceRoleArn":{ "shape":"String", "documentation":"

The IAM service role ARN for the data source. The system assumes this role when accessing the data source.

" }, "dynamodbConfig":{ "shape":"DynamodbDataSourceConfig", "documentation":"

DynamoDB settings.

" }, "lambdaConfig":{ "shape":"LambdaDataSourceConfig", "documentation":"

AWS Lambda settings.

" }, "elasticsearchConfig":{ "shape":"ElasticsearchDataSourceConfig", "documentation":"

Amazon Elasticsearch settings.

" } } }, "CreateDataSourceResponse":{ "type":"structure", "members":{ "dataSource":{ "shape":"DataSource", "documentation":"

The DataSource object.

" } } }, "CreateGraphqlApiRequest":{ "type":"structure", "required":[ "name", "authenticationType" ], "members":{ "name":{ "shape":"String", "documentation":"

A user-supplied name for the GraphqlApi.

" }, "authenticationType":{ "shape":"AuthenticationType", "documentation":"

The authentication type: API key, IAM, or Amazon Cognito User Pools.

" }, "userPoolConfig":{ "shape":"UserPoolConfig", "documentation":"

The Amazon Cognito User Pool configuration.

" } } }, "CreateGraphqlApiResponse":{ "type":"structure", "members":{ "graphqlApi":{ "shape":"GraphqlApi", "documentation":"

The GraphqlApi.

" } } }, "CreateResolverRequest":{ "type":"structure", "required":[ "apiId", "typeName", "fieldName", "dataSourceName", "requestMappingTemplate" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The ID for the GraphQL API for which the resolver is being created.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The name of the Type.

", "location":"uri", "locationName":"typeName" }, "fieldName":{ "shape":"ResourceName", "documentation":"

The name of the field to attach the resolver to.

" }, "dataSourceName":{ "shape":"ResourceName", "documentation":"

The name of the data source for which the resolver is being created.

" }, "requestMappingTemplate":{ "shape":"MappingTemplate", "documentation":"

The mapping template to be used for requests.

A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).

" }, "responseMappingTemplate":{ "shape":"MappingTemplate", "documentation":"

The mapping template to be used for responses from the data source.

" } } }, "CreateResolverResponse":{ "type":"structure", "members":{ "resolver":{ "shape":"Resolver", "documentation":"

The Resolver object.

" } } }, "CreateTypeRequest":{ "type":"structure", "required":[ "apiId", "definition", "format" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "definition":{ "shape":"String", "documentation":"

The type definition, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

" }, "format":{ "shape":"TypeDefinitionFormat", "documentation":"

The type format: SDL or JSON.

" } } }, "CreateTypeResponse":{ "type":"structure", "members":{ "type":{ "shape":"Type", "documentation":"

The Type object.

" } } }, "DataSource":{ "type":"structure", "members":{ "dataSourceArn":{ "shape":"String", "documentation":"

The data source ARN.

" }, "name":{ "shape":"ResourceName", "documentation":"

The name of the data source.

" }, "description":{ "shape":"String", "documentation":"

The description of the data source.

" }, "type":{ "shape":"DataSourceType", "documentation":"

The type of the data source.

" }, "serviceRoleArn":{ "shape":"String", "documentation":"

The IAM service role ARN for the data source. The system assumes this role when accessing the data source.

" }, "dynamodbConfig":{ "shape":"DynamodbDataSourceConfig", "documentation":"

DynamoDB settings.

" }, "lambdaConfig":{ "shape":"LambdaDataSourceConfig", "documentation":"

Lambda settings.

" }, "elasticsearchConfig":{ "shape":"ElasticsearchDataSourceConfig", "documentation":"

Amazon Elasticsearch settings.

" } }, "documentation":"

Describes a data source.

" }, "DataSourceType":{ "type":"string", "enum":[ "AWS_LAMBDA", "AMAZON_DYNAMODB", "AMAZON_ELASTICSEARCH", "NONE" ] }, "DataSources":{ "type":"list", "member":{"shape":"DataSource"} }, "DefaultAction":{ "type":"string", "enum":[ "ALLOW", "DENY" ] }, "DeleteApiKeyRequest":{ "type":"structure", "required":[ "apiId", "id" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "id":{ "shape":"String", "documentation":"

The ID for the API key.

", "location":"uri", "locationName":"id" } } }, "DeleteApiKeyResponse":{ "type":"structure", "members":{ } }, "DeleteDataSourceRequest":{ "type":"structure", "required":[ "apiId", "name" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "name":{ "shape":"ResourceName", "documentation":"

The name of the data source.

", "location":"uri", "locationName":"name" } } }, "DeleteDataSourceResponse":{ "type":"structure", "members":{ } }, "DeleteGraphqlApiRequest":{ "type":"structure", "required":["apiId"], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" } } }, "DeleteGraphqlApiResponse":{ "type":"structure", "members":{ } }, "DeleteResolverRequest":{ "type":"structure", "required":[ "apiId", "typeName", "fieldName" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The name of the resolver type.

", "location":"uri", "locationName":"typeName" }, "fieldName":{ "shape":"ResourceName", "documentation":"

The resolver field name.

", "location":"uri", "locationName":"fieldName" } } }, "DeleteResolverResponse":{ "type":"structure", "members":{ } }, "DeleteTypeRequest":{ "type":"structure", "required":[ "apiId", "typeName" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The type name.

", "location":"uri", "locationName":"typeName" } } }, "DeleteTypeResponse":{ "type":"structure", "members":{ } }, "DynamodbDataSourceConfig":{ "type":"structure", "required":[ "tableName", "awsRegion" ], "members":{ "tableName":{ "shape":"String", "documentation":"

The table name.

" }, "awsRegion":{ "shape":"String", "documentation":"

The AWS region.

" }, "useCallerCredentials":{ "shape":"Boolean", "documentation":"

Set to TRUE to use Amazon Cognito credentials with this data source.

" } }, "documentation":"

Describes a DynamoDB data source configuration.

" }, "ElasticsearchDataSourceConfig":{ "type":"structure", "required":[ "endpoint", "awsRegion" ], "members":{ "endpoint":{ "shape":"String", "documentation":"

The endpoint.

" }, "awsRegion":{ "shape":"String", "documentation":"

The AWS region.

" } }, "documentation":"

Describes an Elasticsearch data source configuration.

" }, "ErrorMessage":{"type":"string"}, "GetDataSourceRequest":{ "type":"structure", "required":[ "apiId", "name" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "name":{ "shape":"ResourceName", "documentation":"

The name of the data source.

", "location":"uri", "locationName":"name" } } }, "GetDataSourceResponse":{ "type":"structure", "members":{ "dataSource":{ "shape":"DataSource", "documentation":"

The DataSource object.

" } } }, "GetGraphqlApiRequest":{ "type":"structure", "required":["apiId"], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID for the GraphQL API.

", "location":"uri", "locationName":"apiId" } } }, "GetGraphqlApiResponse":{ "type":"structure", "members":{ "graphqlApi":{ "shape":"GraphqlApi", "documentation":"

The GraphqlApi object.

" } } }, "GetIntrospectionSchemaRequest":{ "type":"structure", "required":[ "apiId", "format" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "format":{ "shape":"OutputType", "documentation":"

The schema format: SDL or JSON.

", "location":"querystring", "locationName":"format" } } }, "GetIntrospectionSchemaResponse":{ "type":"structure", "members":{ "schema":{ "shape":"Blob", "documentation":"

The schema, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

" } }, "payload":"schema" }, "GetResolverRequest":{ "type":"structure", "required":[ "apiId", "typeName", "fieldName" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The resolver type name.

", "location":"uri", "locationName":"typeName" }, "fieldName":{ "shape":"ResourceName", "documentation":"

The resolver field name.

", "location":"uri", "locationName":"fieldName" } } }, "GetResolverResponse":{ "type":"structure", "members":{ "resolver":{ "shape":"Resolver", "documentation":"

The Resolver object.

" } } }, "GetSchemaCreationStatusRequest":{ "type":"structure", "required":["apiId"], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" } } }, "GetSchemaCreationStatusResponse":{ "type":"structure", "members":{ "status":{ "shape":"SchemaStatus", "documentation":"

The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data.

" }, "details":{ "shape":"String", "documentation":"

Detailed information about the status of the schema creation operation.

" } } }, "GetTypeRequest":{ "type":"structure", "required":[ "apiId", "typeName", "format" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The type name.

", "location":"uri", "locationName":"typeName" }, "format":{ "shape":"TypeDefinitionFormat", "documentation":"

The type format: SDL or JSON.

", "location":"querystring", "locationName":"format" } } }, "GetTypeResponse":{ "type":"structure", "members":{ "type":{ "shape":"Type", "documentation":"

The Type object.

" } } }, "GraphQLSchemaException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, "documentation":"

The GraphQL schema is not valid.

", "error":{"httpStatusCode":400}, "exception":true }, "GraphqlApi":{ "type":"structure", "members":{ "name":{ "shape":"ResourceName", "documentation":"

The API name.

" }, "apiId":{ "shape":"String", "documentation":"

The API ID.

" }, "authenticationType":{ "shape":"AuthenticationType", "documentation":"

The authentication type.

" }, "userPoolConfig":{ "shape":"UserPoolConfig", "documentation":"

The Amazon Cognito User Pool configuration.

" }, "arn":{ "shape":"String", "documentation":"

The ARN.

" }, "uris":{ "shape":"MapOfStringToString", "documentation":"

The URIs.

" } }, "documentation":"

Describes a GraphQL API.

" }, "GraphqlApis":{ "type":"list", "member":{"shape":"GraphqlApi"} }, "InternalFailureException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

An internal AWS AppSync error occurred. Try your request again.

", "error":{"httpStatusCode":500}, "exception":true, "fault":true }, "LambdaDataSourceConfig":{ "type":"structure", "required":["lambdaFunctionArn"], "members":{ "lambdaFunctionArn":{ "shape":"String", "documentation":"

The ARN for the Lambda function.

" } }, "documentation":"

Describes a Lambda data source configuration.

" }, "LimitExceededException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

The request exceeded a limit. Try your request again.

", "error":{"httpStatusCode":429}, "exception":true }, "ListApiKeysRequest":{ "type":"structure", "required":["apiId"], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "location":"querystring", "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results you want the request to return.

", "location":"querystring", "locationName":"maxResults" } } }, "ListApiKeysResponse":{ "type":"structure", "members":{ "apiKeys":{ "shape":"ApiKeys", "documentation":"

The ApiKey objects.

" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" } } }, "ListDataSourcesRequest":{ "type":"structure", "required":["apiId"], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "location":"querystring", "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results you want the request to return.

", "location":"querystring", "locationName":"maxResults" } } }, "ListDataSourcesResponse":{ "type":"structure", "members":{ "dataSources":{ "shape":"DataSources", "documentation":"

The DataSource objects.

" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" } } }, "ListGraphqlApisRequest":{ "type":"structure", "members":{ "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "location":"querystring", "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results you want the request to return.

", "location":"querystring", "locationName":"maxResults" } } }, "ListGraphqlApisResponse":{ "type":"structure", "members":{ "graphqlApis":{ "shape":"GraphqlApis", "documentation":"

The GraphqlApi objects.

" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" } } }, "ListResolversRequest":{ "type":"structure", "required":[ "apiId", "typeName" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"String", "documentation":"

The type name.

", "location":"uri", "locationName":"typeName" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "location":"querystring", "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results you want the request to return.

", "location":"querystring", "locationName":"maxResults" } } }, "ListResolversResponse":{ "type":"structure", "members":{ "resolvers":{ "shape":"Resolvers", "documentation":"

The Resolver objects.

" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" } } }, "ListTypesRequest":{ "type":"structure", "required":[ "apiId", "format" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "format":{ "shape":"TypeDefinitionFormat", "documentation":"

The type format: SDL or JSON.

", "location":"querystring", "locationName":"format" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "location":"querystring", "locationName":"nextToken" }, "maxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results you want the request to return.

", "location":"querystring", "locationName":"maxResults" } } }, "ListTypesResponse":{ "type":"structure", "members":{ "types":{ "shape":"TypeList", "documentation":"

The Type objects.

" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" } } }, "Long":{"type":"long"}, "MapOfStringToString":{ "type":"map", "key":{"shape":"String"}, "value":{"shape":"String"} }, "MappingTemplate":{ "type":"string", "max":65536, "min":0 }, "MaxResults":{ "type":"integer", "max":25, "min":0 }, "NotFoundException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

The resource specified in the request was not found. Check the resource and try again.

", "error":{"httpStatusCode":404}, "exception":true }, "OutputType":{ "type":"string", "enum":[ "SDL", "JSON" ] }, "PaginationToken":{ "type":"string", "pattern":"[\\\\S]+" }, "Resolver":{ "type":"structure", "members":{ "typeName":{ "shape":"ResourceName", "documentation":"

The resolver type name.

" }, "fieldName":{ "shape":"ResourceName", "documentation":"

The resolver field name.

" }, "dataSourceName":{ "shape":"ResourceName", "documentation":"

The resolver data source name.

" }, "resolverArn":{ "shape":"String", "documentation":"

The resolver ARN.

" }, "requestMappingTemplate":{ "shape":"MappingTemplate", "documentation":"

The request mapping template.

" }, "responseMappingTemplate":{ "shape":"MappingTemplate", "documentation":"

The response mapping template.

" } }, "documentation":"

Describes a resolver.

" }, "Resolvers":{ "type":"list", "member":{"shape":"Resolver"} }, "ResourceName":{ "type":"string", "pattern":"[_A-Za-z][_0-9A-Za-z]*" }, "SchemaStatus":{ "type":"string", "enum":[ "PROCESSING", "ACTIVE", "DELETING" ] }, "StartSchemaCreationRequest":{ "type":"structure", "required":[ "apiId", "definition" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "definition":{ "shape":"Blob", "documentation":"

The schema definition, in GraphQL schema language format.

" } } }, "StartSchemaCreationResponse":{ "type":"structure", "members":{ "status":{ "shape":"SchemaStatus", "documentation":"

The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data.

" } } }, "String":{"type":"string"}, "Type":{ "type":"structure", "members":{ "name":{ "shape":"ResourceName", "documentation":"

The type name.

" }, "description":{ "shape":"String", "documentation":"

The type description.

" }, "arn":{ "shape":"String", "documentation":"

The type ARN.

" }, "definition":{ "shape":"String", "documentation":"

The type definition.

" }, "format":{ "shape":"TypeDefinitionFormat", "documentation":"

The type format: SDL or JSON.

" } }, "documentation":"

Describes a type.

" }, "TypeDefinitionFormat":{ "type":"string", "enum":[ "SDL", "JSON" ] }, "TypeList":{ "type":"list", "member":{"shape":"Type"} }, "UnauthorizedException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, "documentation":"

You are not authorized to perform this operation.

", "error":{"httpStatusCode":401}, "exception":true }, "UpdateApiKeyRequest":{ "type":"structure", "required":[ "apiId", "id" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The ID for the GraphQL API

", "location":"uri", "locationName":"apiId" }, "id":{ "shape":"String", "documentation":"

The API key ID.

", "location":"uri", "locationName":"id" }, "description":{ "shape":"String", "documentation":"

A description of the purpose of the API key.

" }, "expires":{ "shape":"Long", "documentation":"

The time after which the API key expires. The date is represented as seconds since the epoch.

" } } }, "UpdateApiKeyResponse":{ "type":"structure", "members":{ "apiKey":{ "shape":"ApiKey", "documentation":"

The API key.

" } } }, "UpdateDataSourceRequest":{ "type":"structure", "required":[ "apiId", "name", "type" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "name":{ "shape":"ResourceName", "documentation":"

The new name for the data source.

", "location":"uri", "locationName":"name" }, "description":{ "shape":"String", "documentation":"

The new description for the data source.

" }, "type":{ "shape":"DataSourceType", "documentation":"

The new data source type.

" }, "serviceRoleArn":{ "shape":"String", "documentation":"

The new service role ARN for the data source.

" }, "dynamodbConfig":{ "shape":"DynamodbDataSourceConfig", "documentation":"

The new DynamoDB configuration.

" }, "lambdaConfig":{ "shape":"LambdaDataSourceConfig", "documentation":"

The new Lambda configuration.

" }, "elasticsearchConfig":{ "shape":"ElasticsearchDataSourceConfig", "documentation":"

The new Elasticsearch configuration.

" } } }, "UpdateDataSourceResponse":{ "type":"structure", "members":{ "dataSource":{ "shape":"DataSource", "documentation":"

The updated DataSource object.

" } } }, "UpdateGraphqlApiRequest":{ "type":"structure", "required":[ "apiId", "name" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "name":{ "shape":"String", "documentation":"

The new name for the GraphqlApi object.

" }, "authenticationType":{ "shape":"AuthenticationType", "documentation":"

The new authentication type for the GraphqlApi object.

" }, "userPoolConfig":{ "shape":"UserPoolConfig", "documentation":"

The new Amazon Cognito User Pool configuration for the GraphqlApi object.

" } } }, "UpdateGraphqlApiResponse":{ "type":"structure", "members":{ "graphqlApi":{ "shape":"GraphqlApi", "documentation":"

The updated GraphqlApi object.

" } } }, "UpdateResolverRequest":{ "type":"structure", "required":[ "apiId", "typeName", "fieldName", "dataSourceName", "requestMappingTemplate" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The new type name.

", "location":"uri", "locationName":"typeName" }, "fieldName":{ "shape":"ResourceName", "documentation":"

The new field name.

", "location":"uri", "locationName":"fieldName" }, "dataSourceName":{ "shape":"ResourceName", "documentation":"

The new data source name.

" }, "requestMappingTemplate":{ "shape":"MappingTemplate", "documentation":"

The new request mapping template.

" }, "responseMappingTemplate":{ "shape":"MappingTemplate", "documentation":"

The new response mapping template.

" } } }, "UpdateResolverResponse":{ "type":"structure", "members":{ "resolver":{ "shape":"Resolver", "documentation":"

The updated Resolver object.

" } } }, "UpdateTypeRequest":{ "type":"structure", "required":[ "apiId", "typeName", "format" ], "members":{ "apiId":{ "shape":"String", "documentation":"

The API ID.

", "location":"uri", "locationName":"apiId" }, "typeName":{ "shape":"ResourceName", "documentation":"

The new type name.

", "location":"uri", "locationName":"typeName" }, "definition":{ "shape":"String", "documentation":"

The new definition.

" }, "format":{ "shape":"TypeDefinitionFormat", "documentation":"

The new type format: SDL or JSON.

" } } }, "UpdateTypeResponse":{ "type":"structure", "members":{ "type":{ "shape":"Type", "documentation":"

The updated Type object.

" } } }, "UserPoolConfig":{ "type":"structure", "required":[ "userPoolId", "awsRegion", "defaultAction" ], "members":{ "userPoolId":{ "shape":"String", "documentation":"

The user pool ID.

" }, "awsRegion":{ "shape":"String", "documentation":"

The AWS region in which the user pool was created.

" }, "defaultAction":{ "shape":"DefaultAction", "documentation":"

The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

" }, "appIdClientRegex":{ "shape":"String", "documentation":"

A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

" } }, "documentation":"

Describes an Amazon Cognito User Pool configuration.

" } }, "documentation":"

AWS AppSync provides API actions for creating and interacting with data sources using GraphQL from your application.

" }