---
title: "Retrieve all Trays"
method: GET
path: "/v2/org/{org}/nico/tray"
tags: ["Tray"]
---

# Retrieve all Trays

`GET /v2/org/{org}/nico/tray`

Get all Trays (components) for the specified Site.

Org must have an Infrastructure Provider entity. User must have authorization role with `PROVIDER_ADMIN` suffix.

**Filter constraints:**
- `rackId` and `rackName` are mutually exclusive
- `rackId`/`rackName` cannot be combined with `id`/`componentId` (rack-level vs component-level targeting)
- `componentId` requires `type` to be specified
- `slotId` restricts to trays at that rack slot, requires `rackId` or `rackName`, and composes with the rest of the query via AND

## Query parameters

- `siteId` string, uuid, required
- `rackId` string, uuid
- `rackName` string
- `type` 'Compute' | 'NVSwitch' | 'PowerShelf'
- `componentId` string
- `id` string, uuid
- `slotId` integer
- `pageNumber` integer — One-indexed page number.
- `pageSize` integer
- `orderBy` 'NAME_ASC' | 'NAME_DESC' | 'MANUFACTURER_ASC' | 'MANUFACTURER_DESC' | 'MODEL_ASC' | 'MODEL_DESC' | 'TYPE_ASC' | 'TYPE_DESC'

## Response `200`

OK

- Tray[]
  - `id` string, uuid — Unique identifier of the Tray
  - `componentId` string — ID of the component
  - `type` 'Compute' | 'NVSwitch' | 'PowerShelf' — Type of the tray
  - `name` string — Name of the tray
  - `manufacturer` string — Manufacturer of the tray
  - `model` string — Model of the tray
  - `serialNumber` string — Serial number of the tray
  - `description` string — Description of the tray
  - `firmwareVersion` string — Firmware version of the tray
  - `powerState` string — Current power state of the tray
  - `operationStatus` 'Unknown' | 'Initializing' | 'Ready' | 'InUse' | 'Error' | 'Deleting' — Flow-derived operability phase of the tray
  - `leakStatus` 'Unknown' | 'NoLeak' | 'Leaking' — Whether the tray is considered leaking coolant
  - `position` TrayPosition — Position of a tray within a rack
    - `slotId` integer — Slot number of the tray in the rack
    - `trayIdx` integer — Index of the tray within its slot
    - `hostId` integer — Host ID associated with the tray
  - `bmcs` BMCInfo[] — BMC (Baseboard Management Controller) entries for the tray
    - `type` string — BMC type (e.g. BmcTypeHost, BmcTypeDpu)
    - `macAddress` string — MAC address of the BMC
    - `ipAddress` string — IP address of the BMC
  - `rackId` string, uuid — ID of the rack this tray belongs to

## Other responses

- `403` — Error response when user is not authorized to call an endpoint or retrieve/modify objects
- `504` — The Site did not return a result within the request budget allocated to Site communication within the request cycle. This can occur if the Site Controller is down or under heavy request load. Operations are in general safe to retry. In rare cases, operations that create or update resources may succeed even if timeout is returned.

---

[API](https://skmtc.net/nvidia/apis/nvidia-infra-controller-rest-api.md) · [All operations](https://skmtc.net/nvidia/apis/nvidia-infra-controller-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nvidia/nvidia-infra-controller-rest-api/revisions/a482c2d8f5e2/schema)
