Get a list of active bare metal rentals
curl --request GET \
--url https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals', 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.hyperbolic.ai/v2/on-demand/bare-metal-rentals",
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.hyperbolic.ai/v2/on-demand/bare-metal-rentals"
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.hyperbolic.ai/v2/on-demand/bare-metal-rentals")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals")
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[
{
"rentalId": "<string>",
"name": "<string>",
"label": "<string>",
"rentalType": "virtual-machine",
"region": "us-central-1",
"gpuType": "h100",
"gpuCount": 0,
"gpuFormFactor": "sxm5",
"connectionType": "infiniband",
"ethernetVariant": "normal",
"nodes": [
{
"cpuModel": "<string>",
"cpuCount": 123,
"vcpuCount": 123,
"gpuCount": 123,
"ramGb": 123,
"storageGb": 123
}
],
"sshEndpoints": [
{
"host": "<string>",
"port": 123,
"user": "<string>"
}
],
"networkInterfaces": [
{
"publicIp": "<string>",
"privateIp": "<string>"
}
],
"portMappings": [
{
"externalPort": 123,
"internalPort": 123
}
],
"supportsPortForwarding": true,
"exposedPorts": [
123
],
"supportsCustomPorts": true,
"attachedStorage": [
{
"storageVolumeId": "<string>",
"label": "<string>",
"sizeInGb": 0,
"virtualIp": "<string>",
"costPerHourCents": 123
}
],
"supportsAttachedStorage": true,
"monitoringEnabled": true,
"convertToOnDemandOnExpiry": true,
"terminationReason": "<string>",
"currentTerm": {
"effectiveAt": "2025-01-31T12:00:00.000Z",
"termType": "on-demand",
"costPerHour": 123,
"reservedUntil": null,
"reservationEndsAt": null,
"termPeriodDays": null,
"discountPercentage": null,
"originalCostPerHour": null
},
"createdAt": "2025-01-31T12:00:00.000Z",
"updatedAt": "2025-01-31T12:00:00.000Z",
"startedAt": "2025-01-31T12:00:00.000Z",
"terminatedAt": "2025-01-31T12:00:00.000Z",
"userId": "<string>",
"orgId": "<string>",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"picture": "<string>"
},
"privateCluster": {
"gpuModel": "<string>",
"location": "<string>",
"sshUser": "<string>",
"sshPort": 123,
"nodes": [
{
"role": "login",
"hostname": "<string>",
"publicIp": "<string>",
"privateIp": "<string>"
}
],
"handover": {}
},
"managedCluster": {
"name": "<string>",
"label": "<string>"
},
"status": "Unknown",
"instances": [
{
"instanceRef": "<string>",
"phase": "<string>",
"ssh": "<string>",
"internalIp": "<string>",
"supportsReboot": true,
"actualResources": {
"vcpuCount": 123,
"ramGb": 123,
"gpuCount": 123,
"gpuMemoryGb": 123,
"gpuModel": "<string>",
"scratchDiskGb": 123,
"scratchDiskCount": 123,
"numaNodes": 123
}
}
]
}
]{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Bare Metal Rentals
Get a list of active bare metal rentals
deprecated
Deprecated. Returns every active bare metal rental in one response. Use GET /v2/on-demand/rentals/active?rentalType=bare-metal, which returns them a page at a time.
GET
/
v2
/
on-demand
/
bare-metal-rentals
Get a list of active bare metal rentals
curl --request GET \
--url https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals', 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.hyperbolic.ai/v2/on-demand/bare-metal-rentals",
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.hyperbolic.ai/v2/on-demand/bare-metal-rentals"
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.hyperbolic.ai/v2/on-demand/bare-metal-rentals")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperbolic.ai/v2/on-demand/bare-metal-rentals")
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[
{
"rentalId": "<string>",
"name": "<string>",
"label": "<string>",
"rentalType": "virtual-machine",
"region": "us-central-1",
"gpuType": "h100",
"gpuCount": 0,
"gpuFormFactor": "sxm5",
"connectionType": "infiniband",
"ethernetVariant": "normal",
"nodes": [
{
"cpuModel": "<string>",
"cpuCount": 123,
"vcpuCount": 123,
"gpuCount": 123,
"ramGb": 123,
"storageGb": 123
}
],
"sshEndpoints": [
{
"host": "<string>",
"port": 123,
"user": "<string>"
}
],
"networkInterfaces": [
{
"publicIp": "<string>",
"privateIp": "<string>"
}
],
"portMappings": [
{
"externalPort": 123,
"internalPort": 123
}
],
"supportsPortForwarding": true,
"exposedPorts": [
123
],
"supportsCustomPorts": true,
"attachedStorage": [
{
"storageVolumeId": "<string>",
"label": "<string>",
"sizeInGb": 0,
"virtualIp": "<string>",
"costPerHourCents": 123
}
],
"supportsAttachedStorage": true,
"monitoringEnabled": true,
"convertToOnDemandOnExpiry": true,
"terminationReason": "<string>",
"currentTerm": {
"effectiveAt": "2025-01-31T12:00:00.000Z",
"termType": "on-demand",
"costPerHour": 123,
"reservedUntil": null,
"reservationEndsAt": null,
"termPeriodDays": null,
"discountPercentage": null,
"originalCostPerHour": null
},
"createdAt": "2025-01-31T12:00:00.000Z",
"updatedAt": "2025-01-31T12:00:00.000Z",
"startedAt": "2025-01-31T12:00:00.000Z",
"terminatedAt": "2025-01-31T12:00:00.000Z",
"userId": "<string>",
"orgId": "<string>",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"picture": "<string>"
},
"privateCluster": {
"gpuModel": "<string>",
"location": "<string>",
"sshUser": "<string>",
"sshPort": 123,
"nodes": [
{
"role": "login",
"hostname": "<string>",
"publicIp": "<string>",
"privateIp": "<string>"
}
],
"handover": {}
},
"managedCluster": {
"name": "<string>",
"label": "<string>"
},
"status": "Unknown",
"instances": [
{
"instanceRef": "<string>",
"phase": "<string>",
"ssh": "<string>",
"internalIp": "<string>",
"supportsReboot": true,
"actualResources": {
"vcpuCount": 123,
"ramGb": 123,
"gpuCount": 123,
"gpuMemoryGb": 123,
"gpuModel": "<string>",
"scratchDiskGb": 123,
"scratchDiskCount": 123,
"numaNodes": 123
}
}
]
}
]{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Successful response
Available options:
virtual-machine, bare-metal Available options:
us-central-1, us-central-2, eu-north-2, eu-west-2, eu-north-4, eu-north-5, us-east-1, us-east-2, ca-east-3, eu-north-6, eu-north-7, eu-north-8, ca-west-1, ca-east-1, us-central-3, us-southeast-1, me-central-1, ca-east-2, eu-west-1, us-southeast-2, jp-east-1, us-southeast-3, eu-west-5, us-east-3, uk-central-3, uk-southeast-3, eu-southwest-3, eu-southwest-3-1, eu-west-3, eu-west-4, private-cloud Available options:
h100, h200, b200, rtx-6000-pro Required range:
-9007199254740991 <= x <= 9007199254740991Available options:
sxm5, sxm6, pcie Available options:
infiniband, ethernet Available options:
normal, rocev2 Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Example:
"2025-01-31T12:00:00.000Z"
Example:
"2025-01-31T12:00:00.000Z"
Example:
"2025-01-31T12:00:00.000Z"
Example:
"2025-01-31T12:00:00.000Z"
The user who created a rental.
Show child attributes
Show child attributes
The topology of a dedicated private cluster.
Show child attributes
Show child attributes
The managed Kubernetes cluster a rental is a node pool of.
Show child attributes
Show child attributes
Available options:
Failed, Pending, Rebooting, Running, Terminating, Terminated, Unknown Show child attributes
Show child attributes

