cURL
curl --request POST \
--url https://api.diversion.dev/v0/repos/{repo_id}/branches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commit_id": "example_id",
"branch_name": "new-branch-name",
"branch_description": "A description of the branch"
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/branches"
payload = {
"commit_id": "example_id",
"branch_name": "new-branch-name",
"branch_description": "A description of the branch"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
commit_id: 'example_id',
branch_name: 'new-branch-name',
branch_description: 'A description of the branch'
})
};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/branches', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'commit_id' => 'example_id',
'branch_name' => 'new-branch-name',
'branch_description' => 'A description of the branch'
]),
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"
payload := strings.NewReader("{\n \"commit_id\": \"example_id\",\n \"branch_name\": \"new-branch-name\",\n \"branch_description\": \"A description of the branch\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.diversion.dev/v0/repos/{repo_id}/branches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commit_id\": \"example_id\",\n \"branch_name\": \"new-branch-name\",\n \"branch_description\": \"A description of the branch\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/branches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"commit_id\": \"example_id\",\n \"branch_name\": \"new-branch-name\",\n \"branch_description\": \"A description of the branch\"\n}"
response = http.request(request)
puts response.read_body{
"id": "example_id"
}{
"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
Create branch
Create a branch, optionally with a branch description
POST
/
repos
/
{repo_id}
/
branches
cURL
curl --request POST \
--url https://api.diversion.dev/v0/repos/{repo_id}/branches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commit_id": "example_id",
"branch_name": "new-branch-name",
"branch_description": "A description of the branch"
}
'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/branches"
payload = {
"commit_id": "example_id",
"branch_name": "new-branch-name",
"branch_description": "A description of the branch"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
commit_id: 'example_id',
branch_name: 'new-branch-name',
branch_description: 'A description of the branch'
})
};
fetch('https://api.diversion.dev/v0/repos/{repo_id}/branches', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'commit_id' => 'example_id',
'branch_name' => 'new-branch-name',
'branch_description' => 'A description of the branch'
]),
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"
payload := strings.NewReader("{\n \"commit_id\": \"example_id\",\n \"branch_name\": \"new-branch-name\",\n \"branch_description\": \"A description of the branch\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.diversion.dev/v0/repos/{repo_id}/branches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commit_id\": \"example_id\",\n \"branch_name\": \"new-branch-name\",\n \"branch_description\": \"A description of the branch\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/branches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"commit_id\": \"example_id\",\n \"branch_name\": \"new-branch-name\",\n \"branch_description\": \"A description of the branch\"\n}"
response = http.request(request)
puts response.read_body{
"id": "example_id"
}{
"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"
Body
application/json
Response
Resource created
The id of the newly created resource
Example:
"example_id"
⌘I

