---
title: "Retrieve all Machines"
method: GET
path: "/v2/org/{org}/nico/machine"
tags: ["Machine"]
---

# Retrieve all Machines

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

Get all Machines for Infrastructure Provider.

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

## Query parameters

- `siteId` string
- `id` string
- `hasInstanceType` boolean
- `instanceTypeId` string
- `tenantId` string
- `hasInstance` boolean
- `isMissingOnSite` boolean
- `includeMetadata` boolean
- `status` string
- `capabilityType` string
- `capabilityName` string
- `hwSkuDeviceType` string
- `query` string
- `includeRelation` 'InfrastructureProvider' | 'Site' | 'InstanceType'
- `pageNumber` integer
- `pageSize` integer
- `orderBy` 'STATUS_ASC' | 'STATUS_DESC' | 'CREATED_ASC' | 'CREATED_DESC' | 'UPDATED_ASC' | 'UPDATED_DESC' | 'ID_ASC' | 'ID_DESC'

## Response `200`

OK

- Machine[]
  - `id` string — Unique ID of Machine
  - `infrastructureProviderId` string, uuid — ID of the Provider that owns the Machine
  - `siteId` string, uuid — ID of the Site the Machine belongs to
  - `instanceTypeId` string, uuid, nullable — ID of the Instance Type, if assigned
  - `instanceId` string, uuid, nullable — ID of the Instance if this Machine is assigned to one
  - `tenantId` string, uuid, nullable — ID of the Tenant that owns the Instance if the Machine is assigned to one
  - `controllerMachineId` string — ID of the Machine at Site, now same as the primary ID
  - `controllerMachineType` string, nullable — Denotes architecture (x86 vs ARM) of the Machine
  - `hwSkuDeviceType` string, nullable — SKU derived device type of the machine, e.g. cpu, gpu, cache, storage, etc.
  - `vendor` string, nullable — Name of the vendor of the Machine
  - `productName` string, nullable — Product name of the Machine
  - `serialNumber` string, nullable — Serial number of the Machine, only visible to Provider
  - `machineCapabilities` MachineCapability[]
    - `type` 'CPU' | 'Memory' | 'Storage' | 'Network' | 'GPU' | 'InfiniBand' | 'DPU' — Type of the Capability
    - `name` string — Name of the Capability component
    - `frequency` string, nullable — Frequency of the Capability component, if available
    - `cores` integer, nullable — Number of Cores in the Capability component, if applicable
    - `threads` integer, nullable — Number of Threads in the Capability component, if applicable
    - `capacity` string, nullable — Capacity of the Capability component, if applicable
    - `vendor` string, nullable — Vendor of the Capability component, if available
    - `inactiveDevices` integer[] — A list of inactive devices
    - `count` integer, nullable — Count of the Capability component
    - `deviceType` string, nullable — Device Type of the Capability component, if available
  - `machineInterfaces` MachineInterface[]
    - `id` string, uuid
    - `machineId` string
    - `controllerInterfaceId` string, uuid, nullable
    - `controllerSegmentId` string, uuid, nullable
    - `attachedDpuMachineID` string, nullable
    - `subnetId` string, uuid, nullable
    - `hostname` string, hostname, nullable
    - `isPrimary` boolean
    - `macAddress` string, nullable
    - `ipAddresses` string[] — Array of IP addresses
    - `created` string, date-time
    - `updated` string, date-time
  - `maintenanceMessage` string, nullable — If the Machine is in maintenance mode, this message will typically describe the reason and how long it is expected to be in maintenance
  - `health` MachineHealth — Describes results of various Machine health probes and alerts
    - `source` string — Describes how the health report was generated
    - `observedAt` string, nullable — Date/time when health report was generated
    - `successes` MachineHealthProbeSuccess[] — Results from successful health probes for the Machine
      - `id` string — Health probe identifier
      - `target` string, nullable — Specific component targeted by health probe
    - `alerts` MachineHealthProbeAlert[] — Results from failed health probes for the Machine
      - `id` string — Health probe identifier
      - `target` string, nullable — Specific component targeted by health probe
      - `inAlertSince` string, nullable — Date/time since the alert has been in effect
      - `message` string — Details of the failed health probe result
      - `tenantMessage` string, nullable — Information provided by Tenant, if any
      - `classifications` string[] — Classifications for this alert, category or impact
  - `metadata` MachineMetadata — Describes metadata for various Machine components
    - `dmiData` MachineDMIData — Describes DMI data of a Machine
      - `boardName` string, nullable
      - `boardSerial` string, nullable
      - `boardVersion` string, nullable
      - `biosDate` string, nullable
      - `biosVersion` string, nullable
      - `productSerial` string, nullable
      - `chassisSerial` string, nullable
    - `bmcInfo` MachineBMCInfo — Describes BMC information of a Machine
      - `ip` string, ipv4, nullable
      - `mac` string, nullable
      - `version` string, nullable
      - `firmwareRevision` string, nullable
    - `gpus` MachineGPUInfo[]
      - `name` string, nullable
      - `serial` string, nullable
      - `driverVersion` string, nullable
      - `vbiosVersion` string, nullable
      - `inforomVersion` string, nullable
      - `totalMemory` string, nullable
      - `frequency` string, nullable
      - `pciBusId` string, nullable
    - `networkInterfaces` MachineNetworkInterface[]
      - `macAddress` string, nullable
      - `vendor` string, nullable
      - `device` string, nullable
      - `path` string, nullable
      - `numaNode` integer
      - `description` string, nullable
      - `slot` string, nullable
    - `infinibandInterfaces` MachineInfiniBandInterface[]
      - `guid` string, nullable
      - `vendor` string, nullable
      - `device` string, nullable
      - `path` string, nullable
      - `numaNode` integer
      - `description` string, nullable
      - `slot` string, nullable
  - `labels` Labels
  - `status` 'Initializing' | 'Ready' | 'Reset' | 'Maintenance' | 'InUse' | 'Error' | 'Decommissioned' | 'Unknown' — Status values for Machine objects
  - `isUsableByTenant` boolean — Indicates whether the machine is usable by or currently in use by a tenant.
  - `statusHistory` StatusDetail[]
    - `status` string
    - `message` string, nullable
    - `created` string, date-time
    - `updated` string, date-time
  - `created` string, date-time
  - `updated` string, date-time

## Other responses

- `403` — Error response when user is not authorized to call an endpoint or retrieve/modify objects

---

[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-service-production.skmtc.workers.dev/v1/apis/nvidia/nvidia-infra-controller-rest-api/revisions/c8ea33c2b23f/schema)
