curl --request GET \
--url https://api.ornn.com/commerce/reservations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ornn.com/commerce/reservations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ornn.com/commerce/reservations', 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.ornn.com/commerce/reservations",
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.ornn.com/commerce/reservations"
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.ornn.com/commerce/reservations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ornn.com/commerce/reservations")
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{
"reservations": [
{
"reservationId": "11111111-1111-4111-8111-111111111111",
"customerId": "22222222-2222-4222-8222-222222222222",
"status": "active",
"isSpot": false,
"provisioningType": "kubernetes",
"gpuSlug": "h100",
"gpusPerNode": 8,
"reservedNodeCount": 1,
"reservedGpuCount": 8,
"startsAt": "2026-10-14T00:00:00Z",
"endsAt": "2026-10-21T00:00:00Z"
}
]
}{
"detail": {
"code": "invalid_limit",
"message": "Choose a page size between 1 and 100."
}
}{
"code": "<string>",
"detail": "<string>"
}{
"code": "<string>",
"detail": "<string>"
}{
"code": "<string>",
"detail": "<string>"
}List reservations
Lists reservations visible to your organization, including its held reservations and sales against listings it supplies. Visibility of a sale does not grant the supplier the buyer’s cluster-launch rights. Follow nextCursor until absent. This endpoint does not purchase capacity.
curl --request GET \
--url https://api.ornn.com/commerce/reservations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ornn.com/commerce/reservations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ornn.com/commerce/reservations', 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.ornn.com/commerce/reservations",
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.ornn.com/commerce/reservations"
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.ornn.com/commerce/reservations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ornn.com/commerce/reservations")
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{
"reservations": [
{
"reservationId": "11111111-1111-4111-8111-111111111111",
"customerId": "22222222-2222-4222-8222-222222222222",
"status": "active",
"isSpot": false,
"provisioningType": "kubernetes",
"gpuSlug": "h100",
"gpusPerNode": 8,
"reservedNodeCount": 1,
"reservedGpuCount": 8,
"startsAt": "2026-10-14T00:00:00Z",
"endsAt": "2026-10-21T00:00:00Z"
}
]
}{
"detail": {
"code": "invalid_limit",
"message": "Choose a page size between 1 and 100."
}
}{
"code": "<string>",
"detail": "<string>"
}{
"code": "<string>",
"detail": "<string>"
}{
"code": "<string>",
"detail": "<string>"
}Authorizations
Create an organization API key in Account Settings > Developer. Do not send this key to the Kubernetes API server.
Query Parameters
Comma-separated reservation IDs, supplied once. Intersects the other filters and your organization access. Missing or inaccessible reservations are omitted; repeated IDs return one record. Pass limit=100 to retrieve a full batch in one page.
1 - 100 elementsFilter by reservation status.
confirmed, active, completed, cancelled Page size, at most 100. Defaults to 50.
1 <= x <= 100Opaque nextCursor from the preceding response.
Filter by whether the reservation has been deployed.
Filter by whether the reservation has no end time.
Filter by listing ID.
Filter by listing term ID.
Customer filter; cannot widen your organization access.
Was this page helpful?