---
title: "Retrieve all SKUs"
method: GET
path: "/v2/org/{org}/nico/sku"
tags: ["SKU"]
---

# Retrieve all SKUs

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

Retrieve all SKUs (Stock Keeping Units) for a Site.

SKUs represent unique hardware configurations discovered at sites. They are automatically derived from machine characteristics.

A `siteId` query parameter is required for all requests.

For Infrastructure Providers: Org must have an Infrastructure Provider entity and own the Site that the Machine belongs to. User must have authorization role with `PROVIDER_ADMIN` suffix.

For Tenants: Org must have a Tenant with `TargetedInstanceCreation` capability enabled and Tenant Account with Machine's Provider. User must have authorization role with `TENANT_ADMIN` suffix.

## Query parameters

- `siteId` string, uuid, required
- `pageNumber` integer
- `pageSize` integer
- `orderBy` 'CREATED_ASC' | 'CREATED_DESC' | 'UPDATED_ASC' | 'UPDATED_DESC' | 'ID_ASC' | 'ID_DESC'

## Response `200`

OK

- Sku[]
  - `id` string — Unique identifier for the SKU
  - `siteId` string, uuid — ID of the Site this SKU belongs to
  - `description` string — Human-readable SKU description
  - `schemaVersion` integer — Core SKU schema version when available
  - `deviceType` string, nullable — Optional device type identifier (e.g. "gpu", "cpu", "storage")
  - `associatedMachineIds` string[] — List of machine IDs associated with this SKU
  - `components` SkuComponents — Hardware components that make up a SKU
    - `cpus` SkuCpu[] — CPU components
      - `vendor` string — Vendor of the CPU
      - `model` string — Model of the CPU
      - `threadCount` integer — Number of threads for the CPU
      - `count` integer — Number of CPUs present
    - `gpus` SkuGpu[] — GPU components
      - `vendor` string — Vendor of the GPU
      - `model` string — Model of the GPU
      - `totalMemory` string — Total memory of the GPU (e.g. "80GB HBM3")
      - `count` integer — Number of GPUs present
    - `memory` SkuMemory[] — Memory components
      - `capacityMb` integer — Capacity in megabytes
      - `memoryType` string — Type of memory (e.g. "DDR4", "DDR5")
      - `count` integer — Number of memory modules present
    - `storage` SkuStorage[] — Storage components
      - `vendor` string — Storage vendor used for schema version 4 matching. Read-only in REST mutation requests and preserved in responses for legacy SKUs. Schema version 5 does not use this field.
      - `model` string — Informational storage model. Starting with the 2.1 release, NICo does not use this field for storage matching or validation.
      - `capacityMb` integer — Storage capacity in megabytes used for schema version 4 matching. Read-only in REST mutation requests and preserved in responses for legacy SKUs. Schema version 5 uses minSizeMiB and maxSizeMiB instead.
      - `count` integer — Number of storage devices present
      - `minSizeMiB` integer, nullable — Inclusive minimum size in MiB for each storage device. Null or omission means no lower bound. Used for SKU schema version 5 and later.
      - `maxSizeMiB` integer, nullable — Inclusive maximum size in MiB for each storage device. Null or omission means no upper bound. Used for SKU schema version 5 and later.
      - `pciPatterns` string[] — Regular expressions matched against storage sysfs PCI paths. An empty or omitted list disables PCI location matching. Used for SKU schema version 5 and later.
    - `chassis` SkuChassis — Chassis component in a SKU
      - `vendor` string — Vendor of the chassis
      - `model` string — Model of the chassis
      - `architecture` string — Architecture of the chassis
    - `ethernetDevices` SkuEthernetDevice[] — Read-only Ethernet device components reported by Core. Omit this property from REST mutation requests; null and an empty array are accepted for compatibility, while a non-empty array is rejected with HTTP 400.
      - `vendor` string — Vendor of the ethernet device
      - `model` string — Model of the ethernet device
      - `count` integer — Number of ethernet devices present
      - `isConnected` boolean — Whether the ethernet device is connected
    - `infinibandDevices` SkuInfinibandDevice[] — Infiniband device components
      - `vendor` string — Vendor of the infiniband device
      - `model` string — Model of the infiniband device
      - `count` integer — Number of infiniband devices present
      - `inactiveDevices` integer[] — Zero-based indexes of inactive devices
    - `tpm` SkuTpm[] — TPM components
      - `vendor` string — Vendor of the TPM
      - `version` string — Version of the TPM
  - `created` string, date-time — ISO 8601 datetime when the SKU was created, using the Site-reported timestamp when available

## 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)
