---
title: "Retrieve all Racks"
method: GET
path: "/v2/org/{org}/nico/rack"
tags: ["Rack"]
---

# Retrieve all Racks

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

Get all Racks for the specified Site.

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

## Query parameters

- `siteId` string, uuid, required
- `includeComponents` boolean
- `name` string
- `manufacturer` string
- `pageNumber` integer
- `pageSize` integer
- `orderBy` 'NAME_ASC' | 'NAME_DESC' | 'MANUFACTURER_ASC' | 'MANUFACTURER_DESC' | 'MODEL_ASC' | 'MODEL_DESC'

## Response `200`

OK

- Rack[]
  - `id` string, uuid — Unique identifier of the Rack
  - `name` string — Name of the Rack
  - `manufacturer` string — Manufacturer of the Rack
  - `model` string — Model of the Rack
  - `serialNumber` string — Serial number of the Rack
  - `description` string — Description of the Rack
  - `location` RackLocation — Physical location of a Rack
    - `region` string — Region where the rack is located
    - `datacenter` string — Datacenter where the rack is located
    - `room` string — Room within the datacenter
    - `position` string — Position of the rack within the room
  - `components` RackComponent[] — Components within the Rack. Only returned when includeComponents is true.
    - `id` string, uuid — Unique identifier of the component
    - `componentId` string — ID of the component
    - `rackId` string, uuid — ID of the rack this component belongs to
    - `type` string — Type of the component (e.g. ComponentTypeCompute, ComponentTypeNVSwitch)
    - `name` string — Name of the component
    - `serialNumber` string — Serial number of the component
    - `manufacturer` string — Manufacturer of the component
    - `model` string — Model of the component
    - `description` string — Description of the component (JSON string)
    - `firmwareVersion` string — Firmware version of the component
    - `slotId` integer — Slot ID of the component within the rack
    - `trayIdx` integer — Tray index of the component
    - `hostId` integer — Host ID of the component
    - `bmcs` BMCInfo[] — BMC (Baseboard Management Controller) entries for the component
      - `type` string — BMC type (e.g. BmcTypeHost, BmcTypeDpu)
      - `macAddress` string — MAC address of the BMC
      - `ipAddress` string — IP address of the BMC
    - `powerState` string — Current power state of the component
    - `operationStatus` 'Unknown' | 'Initializing' | 'Ready' | 'InUse' | 'Error' | 'Deleting' — Flow-derived operability phase of the component
    - `leakStatus` 'Unknown' | 'NoLeak' | 'Leaking' — Whether the component is considered leaking coolant

## 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/441cfc1afc1c/schema)
