CreateBranch - Amplify

CreateBranch

Creates a new branch for an Amplify app.

Request Syntax

POST /apps/appId/branches HTTP/1.1 Content-type: application/json { "backend": { "stackArn": "string" }, "backendEnvironmentArn": "string", "basicAuthCredentials": "string", "branchName": "string", "buildSpec": "string", "description": "string", "displayName": "string", "enableAutoBuild": boolean, "enableBasicAuth": boolean, "enableNotification": boolean, "enablePerformanceMode": boolean, "enablePullRequestPreview": boolean, "environmentVariables": { "string" : "string" }, "framework": "string", "pullRequestEnvironmentName": "string", "stage": "string", "tags": { "string" : "string" }, "ttl": "string" }

URI Request Parameters

The request uses the following URI parameters.

appId

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.

backend

The backend for a Branch of an Amplify app. Use for a backend created from an AWS CloudFormation stack.

This field is available to Amplify Gen 2 apps only. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.

Type: Backend object

Required: No

backendEnvironmentArn

The Amazon Resource Name (ARN) for a backend environment that is part of a Gen 1 Amplify app.

This field is available to Amplify Gen 1 apps only where the backend is created using Amplify Studio or the Amplify command line interface (CLI).

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1000.

Pattern: (?s).*

Required: No

basicAuthCredentials

The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format user:password.

Type: String

Length Constraints: Maximum length of 2000.

Pattern: (?s).*

Required: No

branchName

The name for the branch.

Type: String

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

Pattern: (?s).+

Required: Yes

buildSpec

The build specification (build spec) for the branch.

Type: String

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

Pattern: (?s).+

Required: No

description

The description for the branch.

Type: String

Length Constraints: Maximum length of 1000.

Pattern: (?s).*

Required: No

displayName

The display name for a branch. This is used as the default domain prefix.

Type: String

Length Constraints: Maximum length of 255.

Pattern: (?s).*

Required: No

enableAutoBuild

Enables auto building for the branch.

Type: Boolean

Required: No

enableBasicAuth

Enables basic authorization for the branch.

Type: Boolean

Required: No

enableNotification

Enables notifications for the branch.

Type: Boolean

Required: No

enablePerformanceMode

Enables performance mode for the branch.

Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.

Type: Boolean

Required: No

enablePullRequestPreview

Enables pull request previews for this branch.

Type: Boolean

Required: No

environmentVariables

The environment variables for the branch.

Type: String to string map

Key Length Constraints: Maximum length of 255.

Key Pattern: (?s).*

Value Length Constraints: Maximum length of 5500.

Value Pattern: (?s).*

Required: No

framework

The framework for the branch.

Type: String

Length Constraints: Maximum length of 255.

Pattern: (?s).*

Required: No

pullRequestEnvironmentName

The Amplify environment name for the pull request.

Type: String

Length Constraints: Maximum length of 20.

Pattern: (?s).*

Required: No

stage

Describes the current stage for the branch.

Type: String

Valid Values: PRODUCTION | BETA | DEVELOPMENT | EXPERIMENTAL | PULL_REQUEST

Required: No

tags

The tag for the branch.

Type: String to string map

Map Entries: Minimum number of 0 items. 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: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

Required: No

ttl

The content Time To Live (TTL) for the website in seconds.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 32.

Pattern: \d*

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "branch": { "activeJobId": "string", "associatedResources": [ "string" ], "backend": { "stackArn": "string" }, "backendEnvironmentArn": "string", "basicAuthCredentials": "string", "branchArn": "string", "branchName": "string", "buildSpec": "string", "createTime": number, "customDomains": [ "string" ], "description": "string", "destinationBranch": "string", "displayName": "string", "enableAutoBuild": boolean, "enableBasicAuth": boolean, "enableNotification": boolean, "enablePerformanceMode": boolean, "enablePullRequestPreview": boolean, "environmentVariables": { "string" : "string" }, "framework": "string", "pullRequestEnvironmentName": "string", "sourceBranch": "string", "stage": "string", "tags": { "string" : "string" }, "thumbnailUrl": "string", "totalNumberOfJobs": "string", "ttl": "string", "updateTime": number } }

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.

branch

Describes the branch for an Amplify app, which maps to a third-party repository branch.

Type: Branch object

Errors

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

BadRequestException

A request contains unexpected data.

HTTP Status Code: 400

DependentServiceFailureException

An operation failed because a dependent service threw an exception.

HTTP Status Code: 503

InternalFailureException

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

HTTP Status Code: 500

LimitExceededException

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

HTTP Status Code: 429

NotFoundException

An entity was not found during an operation.

HTTP Status Code: 404

UnauthorizedException

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: