What API version does my corp BB server is on?
Asked by Pratik:

How can I figure out on what API version my corp Bitbucket server has? we are on Atlassian Bitbucket v7.8.1 now.

```
http://<host>/bitbucket/rest/api/1.0/projects/<id>/repos

or

http://<host>/bitbucket/rest/api/latest/projects/<id>/repos
```

gives a list of expected JSON response but when I do

```
http://<host>/bitbucket/rest/api/2.0/projects/<id>/repos
```

it throws 'requested source is not available.' So does this mean the API is not beyond v1.0? or am I not pointing to the correct end point?


Answers:
author: Maciej Adamczak
body: Hi [@Pratik](/t5/user/viewprofilepage/user-id/4612506) , For most of the cases, the 1.0 version is what you want to use. You can check the documentation for all the available API resources here:

<https://developer.atlassian.com/server/bitbucket/reference/rest-api/>

Once you are on the page with the API references, e.g. <https://docs.atlassian.com/bitbucket-server/rest/7.17.0/bitbucket-rest.html>   
you can change the version in browser URL to match your version, e.g. **7.8.1**

I did a quick search on this page, and I think neither of the APIs there are using version 2.0.

Thanks,  
Maciej Adamczak  
Atlassian Developer

comments: author: Pratik
body: Thanks [@Maciej Adamczak](/t5/user/viewprofilepage/user-id/1170504)

I was looking on how to attach a file to bitbucket PR comment from Jenkins pipeline using curl, I have the PR comment part working already. Further looking into it I read bb API should be beyond v2.0.

Question, is bitbucket API v2.0 only available on cloud?


author: Maciej Adamczak
body: Bitbucket Cloud and Bitbucket Server/DC are two different products and have different APIs.

I don't know how the Cloud APIs are working but I think for the server/DC you can take a look at the \`attachemnts\` endpoint.

<https://docs.atlassian.com/bitbucket-server/rest/7.17.0/bitbucket-rest.html#idp204>

You should be able to send the binary file with the POST request. I'm not sure why, but it's missing in the docs. You can try using the regular Bitbucket commenting UI and browser devtools to try to recreate the request.


author: Maciej Adamczak
body: Example of the request:

Add file as attachment {#toc-hId--1212155795}
---------------------------------------------

    curl -k -u admin:admin \     -X POST 'http://localhost:7990/projects/{projectKey}/repos/{repositorySlug}/attachments' \     -H 'Content-Type: multipart/form-data' \     -F 'files=@foo.txt'

As a response, you should expect:  
SAMPLE RESPONSE

    {"attachments": [  {    "id":"3",    "url":"http://localhost:7990/bitbucket/projects/TEST/repos/attachments/attachments/3",    "links":{        "self":{"href":"http://localhost:7990/bitbucket/projects/TEST/repos/attachments/attachments/3"},        "attachment":{"href":"attachment:1/3"}    	 }   } ]}

Add comment to pull-request, referring attachment in comment's message {#toc-hId-1275357038}
--------------------------------------------------------------------------------------------

    curl -k -u admin:admin \     -H 'Content-type: application/json' \     -X POST 'http://localhost:7990/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/comments' \     -d '{"text": "From Local Drive - [foo.txt](attachment:1/3)"}'


author: Ellen
body: .


Tags: bitbucket-server

server