Update a branch
curl --request PATCH \
--url https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commit_id": "<string>",
"branch_name": "<string>",
"branch_description": "<string>"
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
payload = {
"commit_id": "<string>",
"branch_name": "<string>",
"branch_description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({commit_id: '<string>', branch_name: '<string>', branch_description: '<string>'})
};
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 => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'commit_id' => '<string>',
'branch_name' => '<string>',
'branch_description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
payload := strings.NewReader("{\n \"commit_id\": \"<string>\",\n \"branch_name\": \"<string>\",\n \"branch_description\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commit_id\": \"<string>\",\n \"branch_name\": \"<string>\",\n \"branch_description\": \"<string>\"\n}")
.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::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"commit_id\": \"<string>\",\n \"branch_name\": \"<string>\",\n \"branch_description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}Repository Branch Manipulation
Update a branch
Updates branch properties including:
- Name
- Description
- The commit it points to
- Protection status and configuration
Parameters: The following optional fields can be provided in the request body:
branch_namebranch_descriptioncommit_idis_protected- Whether the branch is protected (requires ADMIN access)protection_config- Configuration for protected branches (requires ADMIN access)
Limitations:
- Renaming branches is not supported for repositories synced with Git.
- Setting protection requires ADMIN access to the repository.
Returns:
409 Conflictif a branch with the new name already exists403 Forbiddenif attempting to modify protection without ADMIN access204 No Contenton success
PATCH
/
repos
/
{repo_id}
/
branches
/
{branch_id}
Update a branch
curl --request PATCH \
--url https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commit_id": "<string>",
"branch_name": "<string>",
"branch_description": "<string>"
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
payload = {
"commit_id": "<string>",
"branch_name": "<string>",
"branch_description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({commit_id: '<string>', branch_name: '<string>', branch_description: '<string>'})
};
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 => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'commit_id' => '<string>',
'branch_name' => '<string>',
'branch_description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}"
payload := strings.NewReader("{\n \"commit_id\": \"<string>\",\n \"branch_name\": \"<string>\",\n \"branch_description\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.diversion.dev/v0/repos/{repo_id}/branches/{branch_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commit_id\": \"<string>\",\n \"branch_name\": \"<string>\",\n \"branch_description\": \"<string>\"\n}")
.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::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"commit_id\": \"<string>\",\n \"branch_name\": \"<string>\",\n \"branch_description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}Authorizations
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
Request completed successfully

