

# DeleteBranch
<a name="API_DeleteBranch"></a>

Deletes a branch from a repository, unless that branch is the default branch for the repository. 

## Request Syntax
<a name="API_DeleteBranch_RequestSyntax"></a>

```
{
   "branchName": "string",
   "repositoryName": "string"
}
```

## Request Parameters
<a name="API_DeleteBranch_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [branchName](#API_DeleteBranch_RequestSyntax) **   <a name="CodeCommit-DeleteBranch-request-branchName"></a>
The name of the branch to delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

 ** [repositoryName](#API_DeleteBranch_RequestSyntax) **   <a name="CodeCommit-DeleteBranch-request-repositoryName"></a>
The name of the repository that contains the branch to be deleted.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `[\w\.-]+`   
Required: Yes

## Response Syntax
<a name="API_DeleteBranch_ResponseSyntax"></a>

```
{
   "deletedBranch": { 
      "branchName": "string",
      "commitId": "string"
   }
}
```

## Response Elements
<a name="API_DeleteBranch_ResponseElements"></a>

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

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

 ** [deletedBranch](#API_DeleteBranch_ResponseSyntax) **   <a name="CodeCommit-DeleteBranch-response-deletedBranch"></a>
Information about the branch deleted by the operation, including the branch name and the commit ID that was the tip of the branch.  
Type: [BranchInfo](API_BranchInfo.md) object

## Errors
<a name="API_DeleteBranch_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BranchNameRequiredException **   
A branch name is required, but was not specified.  
HTTP Status Code: 400

 ** DefaultBranchCannotBeDeletedException **   
The specified branch is the default branch for the repository, and cannot be deleted. To delete this branch, you must first set another branch as the default branch.  
HTTP Status Code: 400

 ** EncryptionIntegrityChecksFailedException **   
An encryption integrity check failed.  
HTTP Status Code: 500

 ** EncryptionKeyAccessDeniedException **   
An encryption key could not be accessed.  
HTTP Status Code: 400

 ** EncryptionKeyDisabledException **   
The encryption key is disabled.  
HTTP Status Code: 400

 ** EncryptionKeyNotFoundException **   
No encryption key was found.  
HTTP Status Code: 400

 ** EncryptionKeyUnavailableException **   
The encryption key is not available.  
HTTP Status Code: 400

 ** InvalidBranchNameException **   
The specified reference name is not valid.  
HTTP Status Code: 400

 ** InvalidRepositoryNameException **   
A specified repository name is not valid.  
This exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.
HTTP Status Code: 400

 ** RepositoryDoesNotExistException **   
The specified repository does not exist.  
HTTP Status Code: 400

 ** RepositoryNameRequiredException **   
A repository name is required, but was not specified.  
HTTP Status Code: 400

## Examples
<a name="API_DeleteBranch_Examples"></a>

### Example
<a name="API_DeleteBranch_Example_1"></a>

This example illustrates one usage of DeleteBranch.

#### Sample Request
<a name="API_DeleteBranch_Example_1_Request"></a>

```
HTTP/1.1
Host: codecommit.us-east-1.amazonaws.com
Accept-Encoding: identity
Content-Length: 57
X-Amz-Target: CodeCommit_20150413.DeleteBranch
X-Amz-Date: 20151028T224659Z
User-Agent: aws-cli/1.7.38 Python/2.7.9 Windows/7
Content-Type: application/x-amz-json-1.1
Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20151028/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE

{
  "repositoryName": "MyDemoRepo", 
  "branchName": "MyNewBranch"
}
```

#### Sample Response
<a name="API_DeleteBranch_Example_1_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 0728aaa8-EXAMPLE
Content-Type: application/x-amz-json-1.1
Content-Length: 88
Date: Wed, 28 Oct 2015 22:47:03 GMT

{
  "deletedBranch": {
    "branchName": "MyNewBranch",
    "commitId": "317f8570EXAMPLE"
  }
}
```

## See Also
<a name="API_DeleteBranch_SeeAlso"></a>

For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/codecommit-2015-04-13/DeleteBranch) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/codecommit-2015-04-13/DeleteBranch) 