---
title: "Replace all Expected Racks"
method: PUT
path: "/v2/org/{org}/nico/expected-rack"
tags: ["Expected Rack"]
---

# Replace all Expected Racks

`PUT /v2/org/{org}/nico/expected-rack`

Replace the full set of Expected Racks for a Site with the provided list. All existing Expected Racks for the Site that are not in the request body will be deleted, and any new Expected Racks in the request will be created. Existing Expected Racks with matching `rackId` values will be updated.

Every entry in `expectedRacks` must reference the same `siteId` as the top-level `siteId`. `rackId` values must be unique within the request. The `expectedRacks` array may be empty to clear all Expected Racks for the Site.

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 Racks if they have an account with the Site's Infrastructure Provider.

## Request body

- ExpectedRackList — Replace-all request body for Expected Racks. The `expectedRacks` array contains the full desired set of Expected Racks for the Site identified by `siteId`. All entries must reference the same `siteId` as the top-level field, and `rackId` values must be unique within the request. The array may be empty to clear all Expected Racks for the Site.
  - `siteId` string, uuid, required — ID of the Site whose Expected Racks should be replaced
  - `expectedRacks` ExpectedRackCreateRequest[], required — The full desired set of Expected Racks for the Site. Every entry must reference the same `siteId` as the top-level field, and `rackId` values must be unique within the request. May be empty to clear all Expected Racks for the Site.
    - `siteId` string, uuid, required — ID of the Site the Expected Rack belongs to
    - `rackId` string, required — Operator-supplied identifier for the rack (string, not UUID). Must be non-empty and unique within the Site.
    - `rackProfileId` string, required — Identifier of the Rack Profile this rack conforms to. Must be non-empty.
    - `name` string, nullable — Human-readable name of the Expected Rack
    - `description` string, nullable — Human-readable description of the Expected Rack
    - `labels` Labels

## Response `200`

OK

- ExpectedRack[]
  - `id` string, uuid — Unique identifier (UUID) for the Expected Rack
  - `rackId` string — Operator-supplied identifier for the rack (string, not UUID). Unique within a Site.
  - `siteId` string, uuid — ID of the Site the Expected Rack belongs to
  - `rackProfileId` string — Identifier of the Rack Profile this rack conforms to
  - `name` string — Human-readable name of the Expected Rack
  - `description` string — Human-readable description of the Expected Rack
  - `labels` Labels
  - `created` string, date-time — ISO 8601 datetime when the Expected Rack was created
  - `updated` string, date-time — ISO 8601 datetime when the Expected Rack 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

---

[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/4c29fe59bd4e/schema)
