Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Deleting a branch using the API

How do I use the DELETE endpoint of the REST API for branches?

Looking at this, I'm supposed to send a request object with the DELETE, but DELETE doesn't support passing an object?

The endpoint should simply be a request to 



I don't know how you'll handle the /refs/head/- and forward slashes people use in their requests. But it seems wrong to imply that people should pass an object with their DELETE request.


Or do it like a POST request, to a 


With the object, with the name and dryRyn - that would work right out of the box. And the branch-target is inferred by the branch-utils in the beginning of the API.

3 answers

0 votes

Hi Nicolaj,

The delete rest end point requires the ref to be specified as part of the input request, not in the URL itself. 


If you expand the "Example request representations", you'll get an example json file:

    "name": "refs/heads/my-branch",
    "dryRun": false


Add this to your request to provide the input file:

-H "Content-Type: application/json" --data @input.json 




how do we do this in postman? I have tried using the example with the json in the 'body' tab of postman and i am getting error 405 :  Method Not Allowed

jredmond Atlassian Team Apr 24, 2018

Are you using Bitbucket Server or Bitbucket Cloud? This API is just for BB Server; there is no corresponding endpoint for BB Cloud.

yes this is for the bitbucket server

this is what I have tried and its not working..

curl -X DELETE https://<url>/rest/api/1.0/projects/<abc>/repos/<xyz>/branches 
-H 'authorization: Bearer xxxxxx' -H 'cache-control: no-cache' 
-H 'content-type: application/json'  
-H 'x-atlassian-token: nocheck' 
-d '{"name": "refs/heads/feature/name","dryRun": false}'


You are using the wrong endpoint. As per documentation this should be /rest/branch-utils/1.0/projects/{projectKey}/repos/{repositorySlug}/branches instead of rest/api/1.0/projects/<abc>/repos/<xyz>/branches like you are using now.



Like # people like this

delete with a return code 204 worked:


the body must look like 

"name": "refs/heads/{Name of the Branch}",
"dryRun": false

Use Basic Auth in PostMan and provide your userId and Password
-H 'cache-control: no-cache'
-H 'content-type: application/json' -H 'x-atlassian-token: nocheck'

I only get a 405 error when I try this API.

 Happens both when I try to create a branch with a post or when I try to delete a branch.

Do you need to do anything special to use this API. Or was this API broken in some bitbucket server versions ?

Like Ovidiu Alexandru likes this

Same issue for me, this api does not work on bitbucket server 6.8.0, I get 405 error. Trying to implement a similar functionality to "delete source branch after merging" tickbox when pull requests are merged. Is there any alternative to achieve this?

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Bitbucket

How do you use the Bitbucket-Jira integration? How does it help your team?

Hey everyone, over the past year, we've added several new features on how you can use Bitbucket and Jira together. We'd love to know how you'll are using the integration and how it's helping your t...

157 views 0 2
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you