curl --request GET \
--url https://api.example.com/api/v1/burn-in/stale-test-operations/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/burn-in/stale-test-operations/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/burn-in/stale-test-operations/', 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.example.com/api/v1/burn-in/stale-test-operations/",
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.example.com/api/v1/burn-in/stale-test-operations/"
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.example.com/api/v1/burn-in/stale-test-operations/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/burn-in/stale-test-operations/")
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[
{
"slug": "<string>",
"label": "<string>",
"test_slugs": [
"multi-node.hello-world"
]
}
]{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}List stale-test operations
Read-only catalog of stale-test operations selectable for devices and racks.
At least one device_type_id, comma-separated device_ids, or
comma-separated rack_ids selector is required. The selectors are unioned,
then only operations defined for every resolved device resource class are
returned. Well-formed selector UUIDs that match no inventory contribute no
resource classes; when no targets resolve, the response is an empty list.
Sourced entirely from stale_test_operations.yaml — there is no database
table and no way to create, edit, or retire a mapping via the API. To add
or change one, edit the YAML and redeploy.
curl --request GET \
--url https://api.example.com/api/v1/burn-in/stale-test-operations/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/burn-in/stale-test-operations/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/burn-in/stale-test-operations/', 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.example.com/api/v1/burn-in/stale-test-operations/",
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.example.com/api/v1/burn-in/stale-test-operations/"
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.example.com/api/v1/burn-in/stale-test-operations/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/burn-in/stale-test-operations/")
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[
{
"slug": "<string>",
"label": "<string>",
"test_slugs": [
"multi-node.hello-world"
]
}
]{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Devices to include when resolving stale test operations (comma-separated).
1Device type to include when resolving stale test operations.
Racks whose host devices should be included when resolving stale test operations (comma-separated).
1Response
multi-node.hello-world- multi-node.hello-worldmulti-node.iperf-matrix- multi-node.iperf-matrixmulti-node.nccl-all-gather- multi-node.nccl-all-gathermulti-node.nccl-all-reduce- multi-node.nccl-all-reducemulti-node.nccl-all-reduce-multi-rack- multi-node.nccl-all-reduce-multi-rackmulti-node.nccl-all-to-all- multi-node.nccl-all-to-allmulti-node.nvloom- multi-node.nvloommulti-node.pairwise-net-gpu.bw- multi-node.pairwise-net-gpu.bwmulti-node.pairwise-net-gpu.lat- multi-node.pairwise-net-gpu.latmulti-node.pairwise-net.bw- multi-node.pairwise-net.bwmulti-node.pairwise-net.lat- multi-node.pairwise-net.latmulti-node.s3-elbencho- multi-node.s3-elbenchomulti-node.storage-elbencho- multi-node.storage-elbenchomulti-node.training-gpt-oss-120b- multi-node.training-gpt-oss-120bmulti-node.training-llama3-1-405b- multi-node.training-llama3-1-405bmulti-node.training-llama3-70b- multi-node.training-llama3-70bmulti-node.training-nemotron-24x2h- multi-node.training-nemotron-24x2hmulti-node.training-nemotron-checkpoint- multi-node.training-nemotron-checkpointmulti-node.training-nemotron-h- multi-node.training-nemotron-hmulti-node.training-nemotron-h-multi-rack- multi-node.training-nemotron-h-multi-rackmulti-node.training-qwen3-235b- multi-node.training-qwen3-235bsingle-node.babelstream- single-node.babelstreamsingle-node.dcgmi-diag- single-node.dcgmi-diagsingle-node.gpu-fryer- single-node.gpu-fryersingle-node.hello-world- single-node.hello-worldsingle-node.hpl-cpu- single-node.hpl-cpusingle-node.hpl-gpu- single-node.hpl-gpusingle-node.lmbench-lat-mem-rd- single-node.lmbench-lat-mem-rdsingle-node.memtester- single-node.memtestersingle-node.nccl-all-gather- single-node.nccl-all-gathersingle-node.nccl-all-reduce- single-node.nccl-all-reducesingle-node.nccl-all-reduce-loopback- single-node.nccl-all-reduce-loopbacksingle-node.nccl-all-to-all- single-node.nccl-all-to-allsingle-node.node-health-check- single-node.node-health-checksingle-node.nvme-fio- single-node.nvme-fiosingle-node.nvme-self-test- single-node.nvme-self-testsingle-node.storage-elbencho- single-node.storage-elbenchosingle-node.stream- single-node.streamsingle-node.stress-ng-cpu- single-node.stress-ng-cpusingle-node.training-llama3-8b- single-node.training-llama3-8bsingle-node.training-nemotronh-8b- single-node.training-nemotronh-8b
multi-node.hello-world, multi-node.iperf-matrix, multi-node.nccl-all-gather, multi-node.nccl-all-reduce, multi-node.nccl-all-reduce-multi-rack, multi-node.nccl-all-to-all, multi-node.nvloom, multi-node.pairwise-net-gpu.bw, multi-node.pairwise-net-gpu.lat, multi-node.pairwise-net.bw, multi-node.pairwise-net.lat, multi-node.s3-elbencho, multi-node.storage-elbencho, multi-node.training-gpt-oss-120b, multi-node.training-llama3-1-405b, multi-node.training-llama3-70b, multi-node.training-nemotron-24x2h, multi-node.training-nemotron-checkpoint, multi-node.training-nemotron-h, multi-node.training-nemotron-h-multi-rack, multi-node.training-qwen3-235b, single-node.babelstream, single-node.dcgmi-diag, single-node.gpu-fryer, single-node.hello-world, single-node.hpl-cpu, single-node.hpl-gpu, single-node.lmbench-lat-mem-rd, single-node.memtester, single-node.nccl-all-gather, single-node.nccl-all-reduce, single-node.nccl-all-reduce-loopback, single-node.nccl-all-to-all, single-node.node-health-check, single-node.nvme-fio, single-node.nvme-self-test, single-node.storage-elbencho, single-node.stream, single-node.stress-ng-cpu, single-node.training-llama3-8b, single-node.training-nemotronh-8b