Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Cannot Create Branch With Bitbucket Rest API v.2


with payload :

    "name" : "staging",
    "target" : {
        "hash" : "default",

and got 400 Bad Request Response

    "type": "error",
    "error": {
        "fields": {
            "": "expected a dictionary"
        "message": "Bad request"

4 answers

1 accepted

0 votes
Answer accepted

Because the hash need to be defined with source branch

1 vote

Hello Fauzan,

Thank you for including the endpoint you’re working with along with your JSON payload and the response. When you’re creating your API call, please ensure you’re using "Content-Type: application/json"  to define the payload you’re delivering. Please attempt the call again with the content-type set as application/json and let us know the results.

Source documentation: /2.0/repositories/{username}/{repo_slug}/refs/branches

Stephen Sifers

Thanks . But The i 've found the root issue . Because the hash value must be the origin branch

I am still getting the same Bad Request error while creating the BB Branch from python script. 


headers = {"Content-Type": "application/json"}

r =, auth=("username", "app_password"), headers=headers, data=data)

you have an extra comma

For anyone else finding themselves here, you can use the source branch as the hash e.g.:

-d '{ "name" : "develop", "target" : { "hash" : "master" } }'

This would create develop from master. Although, there seems to be a bug right now for me with the bitbucket UI that shows these only when I filter by merged (or all) branches.

Edit: It seems even if I create a branch in the UI then it only shows when I filter by 'merged' or 'all'. Presumably a temporary bug with the UI.

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events