Get the current branch details
curl --request GET \
--url https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"commit_id": "example_id",
"branch_name": "new-branch-name",
"branch_id": "<string>",
"author": {
"id": "<string>",
"image": "<string>",
"email": "jsmith@example.com",
"full_name": "<string>",
"name": "<string>"
},
"time": 123,
"branch_description": "A description of the branch"
}{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}Repository Branch Manipulation
Get branch details
Retrieves detailed information about a specific branch including:
- ID
- Name
- Author
- Creation time
- Associated commit ID
- Description
- Deletion status
- Draft commit status
Requirements: Requires READ access to the repository.
Returns: Branch details with enriched author information from the user database.
GET
/
repos
/
{repo_id}
/
branches
/
{branch_id}
Get the current branch details
curl --request GET \
--url https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"commit_id": "example_id",
"branch_name": "new-branch-name",
"branch_id": "<string>",
"author": {
"id": "<string>",
"image": "<string>",
"email": "jsmith@example.com",
"full_name": "<string>",
"name": "<string>"
},
"time": 123,
"branch_description": "A description of the branch"
}{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}Authorizations
OAuth2OAuth2
This API uses OAuth 2 with the implicit grant flow
Path Parameters
The repo ID of the repository. Repo name can be used instead of the ID, but usage of ID for permanent linking and API requests is preferred.
Required string length:
3 - 128Example:
"example_id"
Branch ID. Branch name can be used instead of the ID, but storing and using branch ID in API requests is preferred.
Required string length:
3 - 128Example:
"example_id"
Response
Branch details returned
Required string length:
3 - 128Example:
"example_id"
Required string length:
1 - 128Example:
"new-branch-name"
Branch identifier in Diversion
User details
Show child attributes
Show child attributes
Creation time
Example:
"A description of the branch"

