CreateDomainAssociation - Amplify


Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app

Request Syntax

POST /apps/appId/domains HTTP/1.1 Content-type: application/json { "autoSubDomainCreationPatterns": [ "string" ], "autoSubDomainIAMRole": "string", "certificateSettings": { "customCertificateArn": "string", "type": "string" }, "domainName": "string", "enableAutoSubDomain": boolean, "subDomainSettings": [ { "branchName": "string", "prefix": "string" } ] }

URI Request Parameters

The request uses the following URI parameters.


The unique ID for an Amplify app.

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

Pattern: d[a-z0-9]+

Required: Yes

Request Body

The request accepts the following data in JSON format.


Sets the branch patterns for automatic subdomain creation.

Type: Array of strings

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

Pattern: (?s).+

Required: No


The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.

Type: String

Length Constraints: Maximum length of 1000.

Pattern: ^$|^arn:aws:iam::\d{12}:role.+

Required: No


The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.

Type: CertificateSettings object

Required: No


The domain name for the domain association.

Type: String

Length Constraints: Maximum length of 64.

Pattern: ^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\.)?$

Required: Yes


Enables the automated creation of subdomains for branches.

Type: Boolean

Required: No


The setting for the subdomain.

Type: Array of SubDomainSetting objects

Array Members: Maximum number of 500 items.

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "domainAssociation": { "autoSubDomainCreationPatterns": [ "string" ], "autoSubDomainIAMRole": "string", "certificate": { "certificateVerificationDNSRecord": "string", "customCertificateArn": "string", "type": "string" }, "certificateVerificationDNSRecord": "string", "domainAssociationArn": "string", "domainName": "string", "domainStatus": "string", "enableAutoSubDomain": boolean, "statusReason": "string", "subDomains": [ { "dnsRecord": "string", "subDomainSetting": { "branchName": "string", "prefix": "string" }, "verified": boolean } ], "updateStatus": "string" } }

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.


Describes the structure of a domain association, which associates a custom domain with an Amplify app.

Type: DomainAssociation object


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


A request contains unexpected data.

HTTP Status Code: 400


An operation failed because a dependent service threw an exception.

HTTP Status Code: 503


The service failed to perform an operation due to an internal issue.

HTTP Status Code: 500


A resource could not be created because service quotas were exceeded.

HTTP Status Code: 429


An entity was not found during an operation.

HTTP Status Code: 404


An operation failed due to a lack of access.

HTTP Status Code: 401

See Also

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