Get Tray power state
Read actual power, stored desired policy, tracked power actions, and outstanding power tasks for a compute tray, NVLink switch, or power shelf. Accepts the same component ID or BMC/PMC MAC selector as tray inventory. These passive reads retrieve state without issuing power commands.
Org must have an Infrastructure Provider entity. User must have authorization role with PROVIDER_ADMIN suffix in that Org. The Site must belong to that Provider and have the flow capability enabled.
Each section is independent: a failed hardware read does not hide desired policy or outstanding work. A successful Unknown hardware observation differs from a null state with an error. Desired policy applies to compute trays; managed switches and shelves report NotApplicable. Observations, stored policy, actions and tasks can describe different instants; a Running task does not prove hardware dispatch or correlate to an Active action.
Live observations are supported by the Core Redfish compute reader and by RMS for compute trays, switches, and shelves. Standalone hosts (no rack association and no MNNVL capability) use Core’s direct Redfish reader; rack-scale hosts use the configured compute reader. Switches and shelves use their configured readers. NSM, PSM, and mock backends report Unsupported for live observations; policy, actions, and Flow tasks remain independently available.
All response fields are present. Null indicates unavailable or inapplicable information as documented on each field; successful empty actions and tasks lists are arrays with a null actionsError or tasksError. More than 256 outstanding power tasks across the rack makes operations.tasks unavailable with operations.tasksError: LimitExceeded, before filtering for this tray. The separate waiting-context limit is 256 nonterminal tasks of all types across the rack; exceeding it sets waitingContext.error to LimitExceeded while retaining the power tasks.
Component and rack IDs are external inventory identifiers. Task targets use identities from retained inventory, including soft-deleted rows, at read time; they are not historical copies saved with the task. A component can have moved racks since the task was recorded. A task’s unavailable target metadata sets its rackId and targets to null and reports targetsError, preserving the task’s other fields and other task rows. Missing metadata from a service or proxy reports Unsupported. A successful empty selection is targets: [] with targetsError: null. Internal hardware UUIDs are never substituted for external IDs.
Flow also limits the encoded proxy response to 1,991,680 bytes; this is not an HTTP response-body limit. When that allowance is exceeded, Flow first clears nonempty waiting-context lists that have no error and sets their waitingContext.error to LimitExceeded, retaining the power tasks. Empty contexts and existing context errors are unchanged. If the response still exceeds the allowance, successful external target results become null rackId and targets with targetsError: LimitExceeded; missing metadata and existing target errors are unchanged. If the response remains too large, Flow removes the complete task section and reports operations.tasksError: LimitExceeded. Target selections are never truncated. If the remaining encoded response is still too large, the request fails with HTTP 429.
Authentication
export JWT_BEARER_TOKEN="<jwt-bearer-token>"
# Example org name: "acme-inc
export ORG_NAME=<org-name>
# Use the JWT bearer token in your API request auth header:
curl -v -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $JWT_BEARER_TOKEN" https://nico-rest-api.nico.svc.cluster.local/v2/org/$ORG_NAME/nico/user/current
Path parameters
Query parameters
Response
Tray type; Unknown is reserved for an unrecognized service value.
External inventory ID of the tray’s assigned rack, including a retained soft-deleted rack. Null without rack assignment, when its external identity cannot be read, or when the service or proxy does not supply the ID.
A live hardware observation or a categorized failure. Explicit Unknown is a successful observation. An observation state this API cannot represent reports Unsupported. A present observation without a required state or error outcome reports InvalidResponse.
Stored compute policy, independent of hardware reads. Unavailable means the policy or managed target was not found; it does not prove an intentionally absent policy. A policy status or state this API cannot represent reports Unsupported. An Available policy without a required state reports InvalidResponse.