List provider nodes with GPUs and location
Returns the organization's nodes, newest first, with hardware, GPUs, location and status. Removed nodes are left out unless includeRemoved is set. A status filter returns only the nodes in that status, removed included. Each node also carries its disk space while its tunnel is up, and a summary of any live reservation on it.
Required permission
Requires the provider.read permission. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl provider node listapiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
orgId*stringincludeRemoved?booleanstatus?stringFilter to one status (online|offline|maintenance|draining|removed)
class?stringFilter to one node class
"persistent""interruptible"OK
application/json- response
[index: integer]?curl -X GET 'https://api.openrelay.inc/v1/orgs/string/provider/nodes'[ { "id": "string", "hostname": "string", "nodeType": "string", "runtime": "string", "noticeSeconds": 0, "terminateAt": "string", "tdxEnabled": true, "status": "string", "cpuModel": "string", "cpuCores": 0, "ramGb": 0, "diskFreeGb": 0, "diskTotalGb": 0, "createdAt": "string", "locationCity": "string", "locationCountry": "string", "gpus": [ { "gpuName": "string", "vramGb": 0, "quantity": 0 } ], "reservation": { "reservedUnitCount": 0, "releasedUnitCount": 0, "reservations": [ { "id": "string", "nodeId": "string", "reservedUnitIds": [ "string" ], "releasedUnitIds": [ "string" ], "allowedOrgIds": [ "string" ], "managingOrgIds": [ "string" ], "startsAt": "string", "endsAt": "string", "status": "pending", "topologyGen": 0, "contractRef": "string", "reason": "string", "createdAt": "string", "updatedAt": "string", "terminated": [ "string" ], "skipped": [ "string" ], "wouldTerminate": [ "string" ], "wouldSkip": [ "string" ] } ] } }]Revoke a provisioning token DELETE
Revokes a provisioning token so it can no longer enroll nodes, and it stays listed as revoked. Nodes the token already enrolled keep running. A legacy API key needs clusters:write.
Set a node's lifecycle status PATCH
Sets the lifecycle status of a node your organization owns to one of online, draining, maintenance, or removed, and returns the node as updated. draining and removed also terminate the VMs and pods on the node that are not already stopped; removed ends stopped pods too. A removed node answers 400 NODE_DECOMMISSIONED; re-enroll it to bring it back.