Details of a specific merge in progress
curl --request GET \
--url https://api.diversion.dev/v0/repos/{repo_id}/merges/{merge_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/merges/{merge_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}/merges/{merge_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}/merges/{merge_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}/merges/{merge_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}/merges/{merge_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/merges/{merge_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{
"id": "<string>",
"repo_id": "<string>",
"user": {
"id": "<string>",
"image": "<string>",
"email": "jsmith@example.com",
"full_name": "<string>",
"name": "<string>"
},
"base_ref": "<string>",
"base_commit": "<string>",
"other_ref": "<string>",
"other_commit": "<string>",
"ancestor_commit": "<string>",
"conflicts": [
{
"conflict_id": "<string>",
"is_resolved": true,
"base": {
"conflict_index_id": "RESULT",
"file_mode": 16877,
"path": "<string>",
"type": 1,
"prev_path": "<string>"
},
"other": {
"conflict_index_id": "RESULT",
"file_mode": 16877,
"path": "<string>",
"type": 1,
"prev_path": "<string>"
},
"result": {
"conflict_index_id": "RESULT",
"file_mode": 16877,
"path": "<string>",
"type": 1,
"prev_path": "<string>"
}
}
]
}{
"status": 403,
"detail": "User not authorized to perform the requested action on the resource",
"title": "<string>",
"type": "<string>"
}Repository Merge Manipulation
Get merge details
Retrieves detailed information about a specific open merge including all conflicts with their base, other, and result indices.
Each conflict shows:
- File paths
- Modes
- Sizes
- Storage locations
- Resolution status
Returns:
404 Not Foundif the merge doesn’t exist405 Method Not Allowedif the merge is obsolete
GET
/
repos
/
{repo_id}
/
merges
/
{merge_id}
Details of a specific merge in progress
curl --request GET \
--url https://api.diversion.dev/v0/repos/{repo_id}/merges/{merge_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.diversion.dev/v0/repos/{repo_id}/merges/{merge_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}/merges/{merge_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}/merges/{merge_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}/merges/{merge_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}/merges/{merge_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.diversion.dev/v0/repos/{repo_id}/merges/{merge_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{
"id": "<string>",
"repo_id": "<string>",
"user": {
"id": "<string>",
"image": "<string>",
"email": "jsmith@example.com",
"full_name": "<string>",
"name": "<string>"
},
"base_ref": "<string>",
"base_commit": "<string>",
"other_ref": "<string>",
"other_commit": "<string>",
"ancestor_commit": "<string>",
"conflicts": [
{
"conflict_id": "<string>",
"is_resolved": true,
"base": {
"conflict_index_id": "RESULT",
"file_mode": 16877,
"path": "<string>",
"type": 1,
"prev_path": "<string>"
},
"other": {
"conflict_index_id": "RESULT",
"file_mode": 16877,
"path": "<string>",
"type": 1,
"prev_path": "<string>"
},
"result": {
"conflict_index_id": "RESULT",
"file_mode": 16877,
"path": "<string>",
"type": 1,
"prev_path": "<string>"
}
}
]
}{
"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"
An ID of a merge attempt
Required string length:
3 - 128Example:
"example_id"
Response
An object describing the merge.
Describes a merge in progress with conflicts

