---
title: "Replace all Expected Power Shelves"
method: PUT
path: "/v2/org/{org}/nico/expected-power-shelf/all"
tags: ["Expected Power Shelf"]
---

# Replace all Expected Power Shelves

`PUT /v2/org/{org}/nico/expected-power-shelf/all`

## Request

- Base URL: `https://nico-rest-api.nico.svc.cluster.local`
- URL: `https://nico-rest-api.nico.svc.cluster.local/v2/org/{org}/nico/expected-power-shelf/all`
- Auth: HTTP bearer

Replace the complete Expected Power Shelf set for one Site. Entries omitted from the request are deleted, and entries in the request are created with new REST IDs. The `expectedPowerShelves` array may be empty to clear the Site's set.

Every entry must use the top-level `siteId`. BMC MAC addresses and shelf serial numbers must be unique within the replacement set.

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

Alternatively, Tenant Admins with `TargetedInstanceCreation` capability can also replace Expected Power Shelves if they have an account with the Site's Infrastructure Provider.

## Request body

- ExpectedPowerShelfList: Complete replacement set of Expected Power Shelves for one Site. Every entry must use the top-level `siteId`; the array may be empty to clear the set.
  - `siteId` string, uuid, required: ID of the Site whose Expected Power Shelves should be replaced
  - `expectedPowerShelves` ExpectedPowerShelfCreateRequest[], required: Full desired Expected Power Shelf set; BMC MAC addresses and shelf serial numbers must be unique
    - `siteId` string, uuid, required: ID of the site the Expected Power Shelf belongs to
    - `bmcMacAddress` string, required: MAC address of the Expected Power Shelf's BMC (Baseboard Management Controller)
    - `defaultBmcUsername` string, nullable: Username for accessing the Expected Power Shelf's BMC
    - `defaultBmcPassword` string, nullable: Password for accessing the Expected Power Shelf's BMC
    - `shelfSerialNumber` string, required: Serial number of the Expected Power Shelf
    - `bmcIpAddress` string, nullable: Optional BMC IP address (IPv4 or IPv6). When set, pre-allocates a reserved IP for the BMC. It must not be unspecified, multicast, or IPv4 limited broadcast.
    - `rackId` string, nullable: Optional rack identifier for this component
    - `name` string, nullable: Display name for this component
    - `manufacturer` string, nullable: Manufacturer of this component
    - `model` string, nullable: Model of this component
    - `description` string, nullable: Description of this component
    - `slotId` integer, nullable: Slot ID within the rack
    - `trayIdx` integer, nullable: Tray index within the rack
    - `hostId` integer, nullable: Host ID within the tray
    - `labels` Labels: Label keys must not be empty or whitespace-only. Keys and values may contain at most 255 characters and must not contain the Unicode NUL character (U+0000). Empty values are allowed.

## Response `200`

Expected Power Shelves replaced successfully

- ExpectedPowerShelf[]
  - `id` string, uuid: Unique identifier for the Expected Power Shelf
  - `siteId` string, uuid: ID of the site the Expected Power Shelf belongs to
  - `bmcMacAddress` string: MAC address of the Expected Power Shelf's BMC (Baseboard Management Controller)
  - `shelfSerialNumber` string: Serial number of the Expected Power Shelf
  - `bmcIpAddress` string, nullable: Optional BMC IP address (IPv4 or IPv6). When set, pre-allocates a reserved IP for the BMC.
  - `rackId` string, nullable: Optional rack identifier for this component
  - `name` string, nullable: Display name for this component
  - `manufacturer` string, nullable: Manufacturer of this component
  - `model` string, nullable: Model of this component
  - `description` string, nullable: Description of this component
  - `slotId` integer, nullable: Slot ID within the rack
  - `trayIdx` integer, nullable: Tray index within the rack
  - `hostId` integer, nullable: Host ID within the tray
  - `labels` Labels: Label keys must not be empty or whitespace-only. Keys and values may contain at most 255 characters and must not contain the Unicode NUL character (U+0000). Empty values are allowed.
  - `created` string, date-time: ISO 8601 datetime when the Expected Power Shelf was created
  - `updated` string, date-time: ISO 8601 datetime when the Expected Power Shelf was last updated

## Other responses

- `400`: Error response when request data cannot be validated
- `403`: Error response when user is not authorized to call an endpoint or retrieve/modify objects
- `409`: Error response when the request conflicts with an existing resource or operation

## Changes

- **2026-10-15** `293dc126ab73`: 3 info
  - removed the `nico` enum value from the `source` response property for the response status `400`
  - removed the `nico` enum value from the `source` response property for the response status `403`
  - removed the `nico` enum value from the `source` response property for the response status `409`
- **2026-10-14** `4a2b5e050a2e`: 1 info
  - added the non-success response with the status `409`
- **2026-09-29** `485b50d90226`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/changes/v2/org/:org/nico/expected-power-shelf/all/put.md)

---

[API](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api.md) - [All operations](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/revisions/db15b7308121?raw)
