Get a node
Returns one node of the cluster: its registration and Ready state, its name in the cluster once it joins, the host's public IP and, on a GPU host, its GPUs. A legacy API key needs clusters:read.
Required permission
Requires the kubernetes.read permission. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl kube node get <id> <node-id>apiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
id*stringnodeId*stringThe node
application/json- response
One worker node, a whole host in the cluster: what the control plane owns about it. Its labels, annotations and conditions are read in the cluster with kubectl.
id*stringname?stringThe node's name in the cluster, set once it joins; kubectl shows the node under this name.
nodePoolId*stringregistrationStatus*KubernetesNodeRegistrationStatusregistered: the host is claimed and booting, not yet in the cluster. joined: the node joined the cluster.
"registered""joined"kubernetesStatus?KubernetesNodeKubernetesStatusThe node's Ready condition, set once it joins.
"Ready""NotReady""Unknown"publicIp?stringThe host's public IPv4 address, which the node advertises.
ipv4gpu?registeredAt?stringjoinedAt?stringcurl -X GET 'https://api.openrelay.inc/v1/kubernetes/clusters/string/nodes/string'{ "id": "string", "name": "string", "nodePoolId": "string", "registrationStatus": "registered", "kubernetesStatus": "Ready", "publicIp": "192.168.0.1", "gpu": { "count": 0, "model": "string", "driverVersion": "string", "cudaRuntimeVersion": "string", "memory": "string" }, "registeredAt": "string", "joinedAt": "string"}List a cluster's nodes GET
Returns a cluster's nodes as a cursor-paginated page, each with its pool, registration state and Ready condition; filter to one pool with nodePoolId. A legacy API key needs clusters:read.
Delete a node DELETE
Removes the node from the cluster and releases its host, draining it first unless drain is false, and drops its pool's count by one so the node is not replaced. Poll getKubernetesNode, which answers 404 once removal completes. The pool's last node is not deleted: that answers 409 LAST_NODE_IN_POOL, and deleting the pool removes it. A cluster that is deleting answers 409 INVALID_CLUSTER_STATE. A legacy API key needs clusters:write.