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
-
A map with keys of
TagKey
objects and values ofTagValue
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.
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: