Is there a way to rename a repository on Bitbucket using their API

Using the Bitbucket website you can rename a repo as follows:

  1. Go to the repo's overview page, usually https://bitbucket.org/username/oldname/overview
  2. Click the settings cog on the far right end of the menu row !
  3. Instead of 1. and 2. you can type 'r' then 'a' for administration.
  4. Change the name in the Name field.
  5. Click Save repository details.

Be advised that changing the name of the repo will change its URL access too. Previously the access was https://[email protected]/username/oldname.git Now, however, the repo's URL/Path will be https://[email protected]/username/newname.git

You can check this by going back to the Overview page, and hovering over the big blue HTTPS button. The bottom of your browser will show that it now points to https://[email protected]/username/newname.git

If you are using SourceTree you can update the remote's URL by highlighting the local repo in SourceTree and then

  1. Click Repository
  2. Click Repository Settings...
  3. Highlight the row containing the remote branch. Usually origin https://[email protected]/username/oldname.git
  4. Click Edit
  5. Update the URL/Path field. Change 'oldname.git' to 'newname.git', leave the rest unchanged. So the full path should be https://[email protected]/username/newname.git
  6. Click OK

For version 2.0 of the API:

According to https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/#api-repositories-workspace-repo-slug-put

PUT https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug} --data "{\"name\": \"${new_name}\"}"

Using the PUT method allows renaming of a repository.

For version 1.0 of the API:

According to https://confluence.atlassian.com/display/BITBUCKET/repository+Resource+1.0:

PUT https://api.bitbucket.org/1.0/repositories/{accountname}/{repo_slug} --data "name=new name"

This allows to update the visible name of a repository.