List a node's reservations
Returns every reservation on one node, each with its reserved unit ids, the units released to spot, its audience, managing orgs, term and status. Readable by a platform operator, the org that owns the node, and any org managing a reservation on it that is active and inside its term. Anyone else gets 404.
Required permission
Requires the reservation.read permission. A caller without it gets 404. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl reservations node list <node-id>apiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
nodeId*stringOK
application/json- response
[index: integer]?Exclusive placement rights for a set of orgs over specific GPU units of one node, for a term. Scoped to units, not GPU counts, because units are the indivisible allocation primitive.
curl -X GET 'https://api.openrelay.inc/v1/nodes/string/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" ] }]List a node's reservable GPU units GET
Returns the allocatable GPU units on one node, with the unit ids that create, release, and reclaim take, and whether each unit can be reserved. Without this those calls are unusable: they are unit-scoped by design, and nothing else on the API returns a unit id, so the first reservation on a node could not be written at all. Each unit is one IOMMU group and is indivisible: a paired unit sells its GPUs together. Sellable units of a reservable class (vfio-group for VMs, device-request for pods) are reservable, and the response says which, and why not, rather than leaving the caller to infer it from a rejection. Readable by a platform operator, the org that owns the node, and any org managing a reservation on it. Anyone else gets 404, so the fleet stays unenumerable.
Reserve GPU units for orgs (platform admin) POST
Grants exclusive placement rights over specific GPU units for a term. Reserved units disappear from every other org's catalog and cannot be placed on by them. Overlap with an existing reservation is rejected atomically.