curl --request GET \
--url https://nks.nks.europe-west4.nscale.com/api/v1/clusters \
--header 'Authorization: Bearer <token>'import requests
url = "https://nks.nks.europe-west4.nscale.com/api/v1/clusters"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://nks.nks.europe-west4.nscale.com/api/v1/clusters', 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://nks.nks.europe-west4.nscale.com/api/v1/clusters",
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://nks.nks.europe-west4.nscale.com/api/v1/clusters"
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://nks.nks.europe-west4.nscale.com/api/v1/clusters")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nks.nks.europe-west4.nscale.com/api/v1/clusters")
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[
{
"metadata": {
"id": "1e44f19a-21a9-43cc-a460-5d6f21247f65",
"generation": 3,
"name": "production-cluster",
"organizationId": "9a8c6370-4065-4d4a-9da0-7678df40cd9d",
"projectId": "e36c058a-8eba-4f5b-91f4-f6ffb983795c",
"creationTime": "2026-05-14T10:00:00.000Z",
"provisioningStatus": "provisioned",
"provisioningStatusDetail": {
"reason": "Provisioned",
"message": "cluster is available"
},
"healthStatus": "healthy",
"healthStatusDetail": {
"reason": "Healthy",
"message": "cluster is healthy"
},
"tags": [
{
"name": "environment",
"value": "production"
}
]
},
"spec": {
"networkId": "61f0ad85-3001-41cb-824a-e6a047668dfe",
"platformReleaseId": "nks-1-32-3",
"apiServer": {
"publicIP": false
},
"addons": {
"hardware": {
"enabled": true
},
"nodeHealth": {
"enabled": true
}
}
},
"status": {
"regionId": "uk-lon-1",
"observedGeneration": 3,
"kubernetesVersion": {
"target": "v1.32.3",
"observed": "v1.32.3"
},
"apiServer": {
"certificateAuthorityData": "dGVzdC1jYQ==",
"endpoints": {
"private": {
"address": "api.production-cluster.private.example.com",
"port": 6443
}
}
},
"controlPlane": {
"readyReplicas": 3,
"desiredReplicas": 3
},
"nodePools": {
"count": 1,
"totalDesiredReplicas": 3,
"totalCurrentReplicas": 3,
"totalReadyReplicas": 3
},
"addons": {
"core": {
"status": "ready",
"components": [
{
"name": "cilium",
"version": "1.16.6",
"status": "ready"
},
{
"name": "metrics-server",
"version": "0.7.2",
"status": "ready"
}
]
},
"hardware": {
"status": "ready",
"components": [
{
"name": "nvidia-gpu-operator",
"version": "24.9.2",
"status": "ready"
}
]
}
},
"release": {
"appliedId": "nks-1-32-3",
"deprecated": false,
"upgradeAvailable": true,
"eligibleTargets": [
"nks-1-32-4"
]
}
}
}
]{
"error": "invalid_request",
"error_description": "request body invalid",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}{
"error": "access_denied",
"error_description": "authentication failed",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}{
"error": "forbidden",
"error_description": "user credentials do not have the required privileges",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}{
"error": "server_error",
"error_description": "failed to token claim",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}List clusters
List clusters. Results are ordered by exact display name and then by public resource ID. Repeated values within one status filter are combined with OR; different filter classes are combined with AND.
curl --request GET \
--url https://nks.nks.europe-west4.nscale.com/api/v1/clusters \
--header 'Authorization: Bearer <token>'import requests
url = "https://nks.nks.europe-west4.nscale.com/api/v1/clusters"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://nks.nks.europe-west4.nscale.com/api/v1/clusters', 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://nks.nks.europe-west4.nscale.com/api/v1/clusters",
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://nks.nks.europe-west4.nscale.com/api/v1/clusters"
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://nks.nks.europe-west4.nscale.com/api/v1/clusters")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nks.nks.europe-west4.nscale.com/api/v1/clusters")
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[
{
"metadata": {
"id": "1e44f19a-21a9-43cc-a460-5d6f21247f65",
"generation": 3,
"name": "production-cluster",
"organizationId": "9a8c6370-4065-4d4a-9da0-7678df40cd9d",
"projectId": "e36c058a-8eba-4f5b-91f4-f6ffb983795c",
"creationTime": "2026-05-14T10:00:00.000Z",
"provisioningStatus": "provisioned",
"provisioningStatusDetail": {
"reason": "Provisioned",
"message": "cluster is available"
},
"healthStatus": "healthy",
"healthStatusDetail": {
"reason": "Healthy",
"message": "cluster is healthy"
},
"tags": [
{
"name": "environment",
"value": "production"
}
]
},
"spec": {
"networkId": "61f0ad85-3001-41cb-824a-e6a047668dfe",
"platformReleaseId": "nks-1-32-3",
"apiServer": {
"publicIP": false
},
"addons": {
"hardware": {
"enabled": true
},
"nodeHealth": {
"enabled": true
}
}
},
"status": {
"regionId": "uk-lon-1",
"observedGeneration": 3,
"kubernetesVersion": {
"target": "v1.32.3",
"observed": "v1.32.3"
},
"apiServer": {
"certificateAuthorityData": "dGVzdC1jYQ==",
"endpoints": {
"private": {
"address": "api.production-cluster.private.example.com",
"port": 6443
}
}
},
"controlPlane": {
"readyReplicas": 3,
"desiredReplicas": 3
},
"nodePools": {
"count": 1,
"totalDesiredReplicas": 3,
"totalCurrentReplicas": 3,
"totalReadyReplicas": 3
},
"addons": {
"core": {
"status": "ready",
"components": [
{
"name": "cilium",
"version": "1.16.6",
"status": "ready"
},
{
"name": "metrics-server",
"version": "0.7.2",
"status": "ready"
}
]
},
"hardware": {
"status": "ready",
"components": [
{
"name": "nvidia-gpu-operator",
"version": "24.9.2",
"status": "ready"
}
]
}
},
"release": {
"appliedId": "nks-1-32-3",
"deprecated": false,
"upgradeAvailable": true,
"eligibleTargets": [
"nks-1-32-4"
]
}
}
}
]{
"error": "invalid_request",
"error_description": "request body invalid",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}{
"error": "access_denied",
"error_description": "authentication failed",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}{
"error": "forbidden",
"error_description": "user credentials do not have the required privileges",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}{
"error": "server_error",
"error_description": "failed to token claim",
"trace_id": "57bc14d9bd461f0b5a72db830149b67a"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
A set of tags to match against resources in the form "name=value", thus when encoded you get "?tag=foo%3Dcat&tag=bar%3Ddog".
Allows resources to be filtered by organization.
Allows resources to be filtered by project.
Allows resources to be filtered by region. For platform releases, matches releases available in any supplied region.
Allows resources to be filtered by network.
Filters resources by exact, case-sensitive display name. Every matching resource is returned because display names are not unique. A valid Kubernetes label value, typically used for resource names that can be indexed in the database.
^[0-9A-Za-z](?:[0-9A-Za-z-_.]{0,61}[0-9A-Za-z])?$Filters resources by UNI provisioning status. Repeat the parameter to match any supplied value.
The provisioning state of a resource.
pending, provisioning, provisioned, deprovisioning, error Filters resources by UNI health status. Repeat the parameter to match any supplied value.
The health state of a resource.
unknown, healthy, degraded, error Filters by deletion state. True returns terminating resources, false returns non-terminating resources, and omission returns both.
Was this page helpful?