Is there an API call for adding SSH keys to a BitBucket repo?

Joseph Shelby December 18, 2017

Is there a REST API or other mechanism that I can use to programmatically add a public key to a specific repository in BitBucket? The end goal would be to add a public key to BitBucket for either a user or a specific repo without having to manually copy and paste the key into the GUI

2 answers

0 votes
Michael Heemskerk
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 19, 2017

There is a REST endpoint that you can use:

To add an SSH key to the current user

POST

{
    "text": "ssh-rsa AAAAB3... me@127.0.0.1",
    "label": "me@127.0.0.1"
}

to <bitbucket-baseurl>/rest/ssh/latest/keys

(label is optional)

To add an SSH key to a repository

POST

{
    "key": {
        "text": "ssh-rsa AAAAB3... me@127.0.0.1",
"label": "some-label" }, "permission": "REPO_WRITE" }

to <bitbucket-baseurl>/rest/ssh/latest/projects/<project-key>/repos/<repo-slug>

You can find all SSH endpoints in the Bitbucket Server Docs under the REST documentation for SSH keys under 

Joseph Shelby December 19, 2017

Perfect! This is exactly what I needed - thanks very much for sending that over. I'll give it a try and let you know if I have any issues. Thanks again!

Joseph Shelby December 19, 2017

Is the documentation website for the REST documentation for SSH keys down? I'm attempting to access it and am getting the below error. I've also included the URL (accessed by clicking the link that you provided) I'm attempting to access should that prove useful.  I also attempted to access the documentation for my version of bitbucket (4.9.1) and also got a 404 but with a different output. If this API and its documentation is substantially different from the current version, can you please provide a link to that as well? Thanks in advance for your time and attention to this matter.

https://docs.atlassian.com/DAC/rest/bitbucket-server/5.6.2/bitbucket-ssh-rest.html

404 Not Found

  • Code: NoSuchKey
  • Message: The specified key does not exist.
  • Key: DAC/rest/bitbucket-server/5.6.2/bitbucket-ssh-rest.html
  • RequestId: B8A857E92F5D8C73
  • HostId: +Be8+F3ofVltMDPPCvB4aZE/xvfvIT+iQSSgWvU70MBReRPOctL08IM1Ae6cUgAcfRvdnRwmJAg=

An Error Occurred While Attempting to Retrieve a Custom Error Document

  • Code: NoSuchKey
  • Message: The specified key does not exist.
  • Key: error.html
Alex Suprunevich March 14, 2018

Hello

 I am trying to add the key to the repository with REPO_WRITE permission, but it looks like it ignores permission and forcibly add the key with REPO_READ permission.

 Should the user have some special permissions to add the key with  REPO_WRITE permission? 

O AB November 2, 2019

Just for future reference: the REST documentation for SSH keys is not down, but the URL has changed a bit. Here is the currently working URL:

 

https://docs.atlassian.com/bitbucket-server/rest/5.6.2/bitbucket-ssh-rest.html

Mark August 26, 2021

Would this also work on the api.bitbucket.org hosted repo's? 

0 votes
jredmond
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 18, 2017

Bitbucket Server or Bitbucket Cloud?

Joseph Shelby December 18, 2017

Bitbucket server

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events