List commits between two revisions
curl --request GET \
--url https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits \
--header 'Authorization: Bearer <token>'import requests
url = "https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits', 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://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits",
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://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits"
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://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits")
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{
"status": "<string>",
"status_message": "<string>",
"page_number": 1,
"page_size": 1,
"total_entries": 1,
"total_pages": 1,
"compare": {
"base_commit": {
"author": "ox",
"email": "ox@example.com",
"id": "a1b2c3d4e5f67890abcdef1234567890",
"message": "Refactor data loading pipeline.",
"parent_ids": [
"f1e2d3c4b5a67890fedcba9876543210"
],
"timestamp": "2025-01-01T10:00:00Z"
},
"commits": [
{
"author": "ox",
"email": "ox@example.com",
"id": "a1b2c3d4e5f67890abcdef1234567890",
"message": "Refactor data loading pipeline.",
"parent_ids": [
"f1e2d3c4b5a67890fedcba9876543210"
],
"timestamp": "2025-01-01T10:00:00Z"
}
],
"head_commit": {
"author": "ox",
"email": "ox@example.com",
"id": "a1b2c3d4e5f67890abcdef1234567890",
"message": "Refactor data loading pipeline.",
"parent_ids": [
"f1e2d3c4b5a67890fedcba9876543210"
],
"timestamp": "2025-01-01T10:00:00Z"
}
},
"oxen_version": "<string>"
}Compare
List commits between two revisions
List commits between a ‘base’ and ‘head’ commit.
GET
/
api
/
repos
/
{namespace}
/
{repo_name}
/
compare
/
{base_head}
/
commits
List commits between two revisions
curl --request GET \
--url https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits \
--header 'Authorization: Bearer <token>'import requests
url = "https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits', 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://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits",
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://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits"
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://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hub.oxen.ai/api/repos/{namespace}/{repo_name}/compare/{base_head}/commits")
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{
"status": "<string>",
"status_message": "<string>",
"page_number": 1,
"page_size": 1,
"total_entries": 1,
"total_pages": 1,
"compare": {
"base_commit": {
"author": "ox",
"email": "ox@example.com",
"id": "a1b2c3d4e5f67890abcdef1234567890",
"message": "Refactor data loading pipeline.",
"parent_ids": [
"f1e2d3c4b5a67890fedcba9876543210"
],
"timestamp": "2025-01-01T10:00:00Z"
},
"commits": [
{
"author": "ox",
"email": "ox@example.com",
"id": "a1b2c3d4e5f67890abcdef1234567890",
"message": "Refactor data loading pipeline.",
"parent_ids": [
"f1e2d3c4b5a67890fedcba9876543210"
],
"timestamp": "2025-01-01T10:00:00Z"
}
],
"head_commit": {
"author": "ox",
"email": "ox@example.com",
"id": "a1b2c3d4e5f67890abcdef1234567890",
"message": "Refactor data loading pipeline.",
"parent_ids": [
"f1e2d3c4b5a67890fedcba9876543210"
],
"timestamp": "2025-01-01T10:00:00Z"
}
},
"oxen_version": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Namespace of the repository
Name of the repository
The base and head revisions separated by '..'
Query Parameters
Page number for pagination (starts at 1)
Required range:
x >= 0Page size for pagination
Required range:
x >= 0Response
Commits found successfully
Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0Show child attributes
Show child attributes
⌘I