CreateApi - AWS AppSync

CreateApi

Creates an Api object. Use this operation to create an AWS AppSync API with your preferred configuration, such as an Event API that provides real-time message publishing and message subscriptions over WebSockets.

Request Syntax

POST /v2/apis HTTP/1.1 Content-type: application/json { "eventConfig": { "authProviders": [ { "authType": "string", "cognitoConfig": { "appIdClientRegex": "string", "awsRegion": "string", "userPoolId": "string" }, "lambdaAuthorizerConfig": { "authorizerResultTtlInSeconds": number, "authorizerUri": "string", "identityValidationExpression": "string" }, "openIDConnectConfig": { "authTTL": number, "clientId": "string", "iatTTL": number, "issuer": "string" } } ], "connectionAuthModes": [ { "authType": "string" } ], "defaultPublishAuthModes": [ { "authType": "string" } ], "defaultSubscribeAuthModes": [ { "authType": "string" } ], "logConfig": { "cloudWatchLogsRoleArn": "string", "logLevel": "string" } }, "name": "string", "ownerContact": "string", "tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

eventConfig

The Event API configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API.

Type: EventConfig object

Required: No

name

The name for the Api.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 50.

Pattern: [A-Za-z0-9_\-\ ]+

Required: Yes

ownerContact

The owner contact information for the Api.

Type: String

Required: No

tags

A map with keys of TagKey objects and values of TagValue objects.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: ^(?!aws:)[ a-zA-Z+-=._:/]+$

Value Length Constraints: Maximum length of 256.

Value Pattern: ^[\s\w+-=\.:/@]*$

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "api": { "apiArn": "string", "apiId": "string", "created": number, "dns": { "string" : "string" }, "eventConfig": { "authProviders": [ { "authType": "string", "cognitoConfig": { "appIdClientRegex": "string", "awsRegion": "string", "userPoolId": "string" }, "lambdaAuthorizerConfig": { "authorizerResultTtlInSeconds": number, "authorizerUri": "string", "identityValidationExpression": "string" }, "openIDConnectConfig": { "authTTL": number, "clientId": "string", "iatTTL": number, "issuer": "string" } } ], "connectionAuthModes": [ { "authType": "string" } ], "defaultPublishAuthModes": [ { "authType": "string" } ], "defaultSubscribeAuthModes": [ { "authType": "string" } ], "logConfig": { "cloudWatchLogsRoleArn": "string", "logLevel": "string" } }, "name": "string", "ownerContact": "string", "tags": { "string" : "string" }, "wafWebAclArn": "string", "xrayEnabled": boolean } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

api

The Api object.

Type: Api object

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

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

HTTP Status Code: 400

ConcurrentModificationException

Another modification is in progress at this time and it must complete before you can make your change.

HTTP Status Code: 409

InternalFailureException

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

HTTP Status Code: 500

ServiceQuotaExceededException

The operation exceeded the service quota for this resource.

HTTP Status Code: 402

UnauthorizedException

You aren't authorized to perform this operation.

HTTP Status Code: 401

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: