Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Redfish Endpoints Reference

This page documents all Redfish endpoints used by NCX Infra Controller (NICo), organized by resource group. Each section includes endpoint tables, required response fields with their importance to NICo, and vendor-specific notes.

Field importance levels:

  • Critical — NICo cannot function correctly without this field. Pairing, identification, or core workflows fail.
  • Required — Expected by NICo and used in normal operation. Missing values cause degraded behavior.
  • Recommended — Used when available, with graceful fallback if absent.
  • Optional — Informational or used only in specific configurations.

For the manually-maintained tracker with full vendor coverage and response payload examples, see the DSX OEM Redfish APIs spreadsheet.


Service Root

Code: get_service_root() in libredfish; probe_redfish_endpoint() in site_explorer/redfish.rs

EndpointMethodPurpose
/redfish/v1GETService root, vendor detection

Key Response Fields

FieldImportanceNICo Usage
VendorRequiredVendor detection — determines all vendor-specific behavior
SystemsRequiredLink to systems collection
ManagersRequiredLink to managers collection
ChassisRequiredLink to chassis collection
UpdateServiceRequiredLink to firmware update service

Systems

Code: get_systems(), get_system() in libredfish; exploration in site_explorer/redfish.rs

EndpointMethodPurpose
/redfish/v1/SystemsGETList computer systems
/redfish/v1/Systems/{id}GETSystem info, serial number, power state
/redfish/v1/Systems/{id}PATCHBoot source override (boot_once/boot_first)
/redfish/v1/Systems/{id}/Actions/ComputerSystem.ResetPOSTPower control (On/ForceOff/GracefulRestart/ForceRestart/ACPowercycle/PowerCycle)

Key Response Fields

FieldImportanceNICo Usage
SerialNumberCriticalMachine ID generation via DMI hash. Pairing fails without it.
IdRequiredDPU detection (checks for "bluefield" substring)
PowerStateRequiredHealth reporting, preingestion state validation. Values: On, Off, PoweringOn, PoweringOff, Paused, Reset
Boot.BootOrderRequiredBoot order reporting and verification
Boot.BootOptionsRequiredLink to boot options for interface detection
PCIeDevicesRequiredArray of links — primary DPU-host pairing path
EthernetInterfacesRequiredLink to system NICs for DPU pairing
ModelRecommendedDPU model detection (BF2 vs BF3). Falls back gracefully.
ManufacturerRecommendedMachine ID generation. Has DEFAULT_DMI_SYSTEM_MANUFACTURER fallback.
SKUOptionalValidation against expected machines manifest
BiosVersionOptionalBIOS version tracking
TrustedModulesOptionalTPM status reporting

Sample response (GET /redfish/v1/Systems/{id}):

{
  "Id": "System.Embedded.1",
  "SerialNumber": "J1234XY",
  "PowerState": "On",
  "Manufacturer": "Dell Inc.",
  "Model": "PowerEdge R750",
  "Boot": {
    "BootOrder": ["NIC.Slot.3-1", "HardDisk.Direct.0-0:AHCI"],
    "BootOptions": { "@odata.id": "/redfish/v1/Systems/System.Embedded.1/BootOptions" }
  },
  "PCIeDevices": [
    { "@odata.id": "/redfish/v1/Systems/System.Embedded.1/PCIeDevices/236-0" }
  ],
  "EthernetInterfaces": { "@odata.id": "/redfish/v1/Systems/System.Embedded.1/EthernetInterfaces" }
}

Vendor-specific notes: Dell/Supermicro/HPE have system info overrides. NVIDIA DPU uses Oem.Nvidia for mode set/rshim. NVIDIA GBx00 uses Oem.Nvidia for machine setup.


System Ethernet Interfaces

Code: get_system_ethernet_interfaces(), get_system_ethernet_interface() in libredfish

EndpointMethodPurpose
/redfish/v1/Systems/{id}/EthernetInterfacesGETList system network interfaces
/redfish/v1/Systems/{id}/EthernetInterfaces/{id}GETInterface details (MAC, UEFI path)

Key Response Fields

FieldImportanceNICo Usage
MACAddress (or MacAddress)CriticalDPU-host pairing, interface identification. Accepts both field name variants.
UefiDevicePathRequiredPrimary interface detection via PCI path ordering (parsed to format "2.1.0.0.0")
IdRequiredInterface identification
InterfaceEnabledOptionalError handling — disabled interfaces may have invalid MAC values

Chassis

Code: get_chassis_all(), get_chassis(), get_chassis_assembly() in libredfish

EndpointMethodPurpose
/redfish/v1/ChassisGETList chassis
/redfish/v1/Chassis/{id}GETChassis info, serial number
/redfish/v1/Chassis/{id}/AssemblyGETAssembly info (GB200 serial extraction)
/redfish/v1/Chassis/{id}/Actions/Chassis.ResetPOSTChassis power control (AC power cycle)

Key Response Fields

FieldImportanceNICo Usage
IdCriticalSystem classification: "Card1"=DPU, "powershelf"=power shelf, "mgx_nvswitch_0"=NVSwitch, "Chassis_0"=GB200
SerialNumberCriticalFallback for system serial (DPU uses Chassis/Card1 serial). Power shelf/switch IDs. Whitespace trimmed.
PartNumberRequiredBlueField DPU identification via part number matching (900-9d3b6, SN37B36732, etc.)
NetworkAdaptersRequiredLink to network adapters collection for DPU identification
ModelRecommendedModel identification. GB200: Assembly checked for "GB200 NVL" model.
ManufacturerRecommendedPower shelf vendor identification. Has fallback defaults.
Oem.Nvidia.chassis_physical_slot_numberOptionalPhysical slot in multi-node systems
Oem.Nvidia.compute_tray_indexOptionalTray index in modular systems
Oem.Nvidia.topology_idOptionalSystem topology identifier

Sample response (GET /redfish/v1/Chassis/{id}):

{
  "Id": "Card1",
  "SerialNumber": "MBF2M516A-CECA_Ax_SN123456",
  "PartNumber": "900-9D3B6-00CV-AA0",
  "Model": "BlueField-2 DPU 25GbE",
  "Manufacturer": "NVIDIA",
  "NetworkAdapters": { "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters" }
}

Network Adapters

Code: get_chassis_network_adapters(), get_chassis_network_adapter() in libredfish

EndpointMethodPurpose
/redfish/v1/Chassis/{id}/NetworkAdaptersGETList network adapters
/redfish/v1/Chassis/{id}/NetworkAdapters/{id}GETAdapter details (serial, part number)
/redfish/v1/Chassis/{id}/NetworkAdapters/{id}/NetworkDeviceFunctionsGETNetwork device functions (NVIDIA DPU)
/redfish/v1/Chassis/{id}/NetworkAdapters/{id}/PortsGETNetwork adapter ports
/redfish/v1/Chassis/{id}/NetworkAdapters/{id}/Ports/{id}GETPort details

Key Response Fields

FieldImportanceNICo Usage
SerialNumberCriticalDPU-host pairing fallback path. Must be visible to Host BMC. Whitespace trimmed.
PartNumberCriticalBlueField/SuperNIC identification via is_bluefield_model()
IdRequiredAdapter tracking

Sample response (GET /redfish/v1/Chassis/{id}/NetworkAdapters/{id}):

{
  "Id": "ConnectX6_1",
  "SerialNumber": "MT2243X01234",
  "PartNumber": "MCX653106A-HDAT_Ax",
  "Controllers": [
    {
      "FirmwarePackageVersion": "24.37.1014",
      "Links": { "PCIeDevices": [{ "@odata.id": "/redfish/v1/Systems/System.Embedded.1/PCIeDevices/236-0" }] }
    }
  ]
}

PCIe Devices

Code: pcie_devices() in libredfish; site_explorer exploration

EndpointMethodPurpose
/redfish/v1/Chassis/{id}/PCIeDevicesGETPCIe device list (Supermicro uses chassis path)
/redfish/v1/Chassis/{id}/PCIeDevices/{id}GETPCIe device details
/redfish/v1/Systems/{id} (PCIeDevices array)GETPCIe device links embedded in system response

Key Response Fields

FieldImportanceNICo Usage
SerialNumberCriticalPrimary DPU-host pairing — matched against DPU system serial numbers
PartNumberCriticalBlueField identification via is_bluefield_model() (BF2, BF3, BF3 SuperNIC)
IdRequiredDevice tracking

Vendor-specific note: Supermicro uses Chassis/{id}/PCIeDevices; others embed PCIeDevices links in Systems/{id} response.


Managers

Code: get_managers(), get_manager() in libredfish

EndpointMethodPurpose
/redfish/v1/ManagersGETList BMC managers
/redfish/v1/Managers/{id}GETBMC info, firmware version
/redfish/v1/Managers/{id}/Actions/Manager.ResetPOSTBMC reset
/redfish/v1/Managers/{id}/Actions/Manager.ResetToDefaultsPOSTBMC factory reset

Key Response Fields

FieldImportanceNICo Usage
IdRequiredManager identification. Viking detection: id == "BMC". Sets default manager ID for subsequent calls.
FirmwareVersionRequiredBMC firmware version tracking
UUIDRecommendedManager unique identification
EthernetInterfacesRequiredLink to BMC network interfaces
LogServicesRequiredLink to log services for event collection

Vendor-specific notes: HPE has lockdown status override. Dell uses Managers/{id}/Attributes for lockdown/remote access. Supermicro uses Oem/Supermicro/SysLockdown.


Manager Ethernet Interfaces

Code: get_manager_ethernet_interfaces(), get_manager_ethernet_interface() in libredfish

EndpointMethodPurpose
/redfish/v1/Managers/{id}/EthernetInterfacesGETList BMC interfaces
/redfish/v1/Managers/{id}/EthernetInterfaces/{id}GETBMC MAC, IP configuration

Key Response Fields

FieldImportanceNICo Usage
MACAddressCriticalBMC identification and credential storage/lookup

Sample response (GET /redfish/v1/Managers/{id}/EthernetInterfaces/{id}):

{
  "Id": "1",
  "MACAddress": "B8:3F:D2:90:95:82",
  "IPv4Addresses": [{ "Address": "10.0.1.100" }]
}

Boot Options

Code: get_boot_options(), get_boot_option() in libredfish

EndpointMethodPurpose
/redfish/v1/Systems/{id}/BootOptionsGETList boot options
/redfish/v1/Systems/{id}/BootOptions/{id}GETBoot option details

Key Response Fields

FieldImportanceNICo Usage
DisplayNameRequiredOOB interface detection (checks for "OOB" string)
UefiDevicePathRequiredMAC extraction via regex MAC\((?<mac>[[:alnum:]]+)\, — e.g. extracts B83FD2909582 to B8:3F:D2:90:95:82
BootOptionEnabledOptionalBoot option state
BootOptionReferenceRequiredBoot option ordering

Sample response (GET /redfish/v1/Systems/{id}/BootOptions/{id}):

{
  "Id": "NIC.Slot.3-1",
  "DisplayName": "PXE OOB NIC Slot 3 Port 1",
  "UefiDevicePath": "PciRoot(0x2)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(B83FD2909582,0x1)",
  "BootOptionEnabled": true,
  "BootOptionReference": "NIC.Slot.3-1"
}

BIOS

Code: bios(), set_bios(), pending(), clear_pending(), reset_bios(), change_bios_password() in libredfish

EndpointMethodPurpose
/redfish/v1/Systems/{id}/BiosGETRead BIOS attributes
/redfish/v1/Systems/{id}/Bios/SettingsGETRead pending BIOS changes
/redfish/v1/Systems/{id}/Bios/SettingsPATCHWrite BIOS attributes (pending next reboot)
/redfish/v1/Systems/{id}/Bios/Actions/Bios.ResetBiosPOSTBIOS factory reset
/redfish/v1/Systems/{id}/Bios/Actions/Bios.ChangePasswordPOSTUEFI password management

Key Response Fields

FieldImportanceNICo Usage
AttributesRequiredBIOS attribute read/write (SR-IOV enablement, machine setup)

Vendor-specific paths: HPE uses /Bios/settings (lowercase). Lenovo uses /Bios/Pending. Viking uses /Bios/SD. Dell/NVIDIA DPU/GBx00/Supermicro have attribute-specific overrides.


Secure Boot

Code: get_secure_boot(), enable_secure_boot(), disable_secure_boot(), get_secure_boot_certificates(), add_secure_boot_certificate() in libredfish

EndpointMethodPurpose
/redfish/v1/Systems/{id}/SecureBootGETRead secure boot status
/redfish/v1/Systems/{id}/SecureBootPATCHEnable/disable secure boot
/redfish/v1/Systems/{id}/SecureBoot/SecureBootDatabases/{db}/CertificatesGETList secure boot certs
/redfish/v1/Systems/{id}/SecureBoot/SecureBootDatabases/{db}/CertificatesPOSTAdd secure boot cert
/redfish/v1/Systems/{id}/SecureBoot/SecureBootDatabases/{db}/Certificates/{id}GETCert details

Key Response Fields

FieldImportanceNICo Usage
SecureBootEnableRequiredSecure boot enabled status
SecureBootCurrentBootRequiredCurrent boot secure boot state
SecureBootModeOptionalSecure boot mode reporting

Account Service

Code: get_accounts(), change_password_by_id(), create_user(), delete_user(), set_machine_password_policy() in libredfish

EndpointMethodPurpose
/redfish/v1/AccountServicePATCHPassword policy/lockout settings
/redfish/v1/AccountService/AccountsGETList user accounts
/redfish/v1/AccountService/AccountsPOSTCreate user account
/redfish/v1/AccountService/Accounts/{id}GETAccount details
/redfish/v1/AccountService/Accounts/{id}PATCHPassword/username change
/redfish/v1/AccountService/Accounts/{id}DELETEDelete user account

Key Response Fields

FieldImportanceNICo Usage
UserNameRequiredAccount management
PasswordRequiredCredential rotation
RoleIdRequiredAdmin role verification
IdRequiredAccount identification. Vendor-specific: Lenovo="1", AMI/Viking="2", NVIDIA=current user.

Firmware Inventory

Code: get_software_inventories(), get_firmware() in libredfish; FirmwareCollector in health crate via nv-redfish

EndpointMethodPurpose
/redfish/v1/UpdateServiceGETUpdate service info
/redfish/v1/UpdateService/FirmwareInventoryGETList firmware components
/redfish/v1/UpdateService/FirmwareInventory/{id}GETComponent version details
/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdatePOSTURL-based firmware update
/redfish/v1/UpdateService/MultipartUploadPOSTBinary firmware upload (Dell)

Key Response Fields

FieldImportanceNICo Usage
IdRequiredComponent ID — matched against firmware config regex. Vendor-specific IDs: NVIDIA DPU=DPU_NIC/DPU_UEFI, Supermicro=CPLD_Backplane_1/CPLD_Motherboard, GBx00=EROT_BIOS_0/HGX_FW_BMC_0/HostBMC_0
VersionRequiredFirmware version — used for upgrade decisions. DPU versions: trim, lowercase, remove "bf-" prefix.
NameRequiredComponent name — exported as Prometheus metric label firmware_name
ReleaseDateOptionalInformational

Sample response (GET /redfish/v1/UpdateService/FirmwareInventory/{id}):

{
  "Id": "BMC_Firmware",
  "Name": "BMC Firmware",
  "Version": "7.00.00.171",
  "ReleaseDate": "2024-06-15T00:00:00Z",
  "Updateable": true
}

Sensors and Thermal (Health Monitoring)

Code: monitor.rs in health crate; get_thermal_metrics(), get_power_metrics() in libredfish

All endpoints below are polled at the configured sensor_fetch_interval (default 60 seconds).

EndpointMethodPurpose
/redfish/v1/Chassis/{id}/SensorsGETEnvironmental sensors
/redfish/v1/Chassis/{id}/ThermalGETTemperature/fan readings
/redfish/v1/Chassis/{id}/PowerGETPower consumption/PSU
/redfish/v1/Chassis/{id}/PowerSuppliesGETPower supply collection
/redfish/v1/Chassis/{id}/PowerSupplies/{id}/SensorsGETPSU sensor metrics
/redfish/v1/Systems/{id}/Processors/{id}/EnvironmentSensorsGETCPU temperature
/redfish/v1/Systems/{id}/Memory/{id}/EnvironmentSensorsGETMemory temperature
/redfish/v1/Systems/{id}/Storage/{id}/Drives/{id}/EnvironmentSensorsGETDrive temperature
/redfish/v1/Chassis/{id}/DrivesGETDrive info (GBx00)
/redfish/v1/Chassis/{id}/ThermalSubsystem/ThermalMetricsGETThermal metrics (GBx00)
/redfish/v1/Chassis/{id}/ThermalSubsystem/LeakDetection/LeakDetectorsGETLeak detection (GBx00)
/redfish/v1/Chassis/{id}/EnvironmentMetricsGETChassis power (GBx00/DPS)

Key Response Fields

FieldImportanceNICo Usage
Reading / ReadingCelsiusRequiredSensor value for Prometheus metrics
ReadingUnits / ReadingTypeRequiredSensor classification: Cel, RPM, W, A
NameRequiredSensor identification in Prometheus labels
Status.HealthRequiredHealth state: Ok, Warning, Critical
Thresholds.UpperCriticalOptionalAlert thresholds (configurable via include_sensor_thresholds)
Thresholds.LowerCriticalOptionalAlert thresholds
ReadingRangeMax / ReadingRangeMinOptionalValid reading range

Log Services

Code: logs_collector.rs in health crate; get_bmc_event_log(), get_system_event_log() in libredfish

Log collection runs at 5-minute intervals and uses incremental fetching: ?$filter=Id gt '{last_id}'

Discovery endpoints (all vendors)

EndpointMethodPurpose
/redfish/v1/Managers/{id}/LogServicesGETDiscover manager log services
/redfish/v1/Chassis/{id}/LogServicesGETChassis log services
/redfish/v1/Systems/{id}/LogServicesGETSystem log services

BMC event log entries (vendor-specific)

EndpointMethodVendor
/redfish/v1/Managers/{id}/LogServices/Sel/EntriesGETDell
/redfish/v1/Managers/{id}/LogServices/IEL/EntriesGETHPE
/redfish/v1/Managers/{id}/LogServices/SEL/EntriesGETViking
/redfish/v1/Systems/{id}/LogServices/AuditLog/EntriesGETLenovo

System event log entries (vendor-specific)

EndpointMethodVendor
/redfish/v1/Systems/{id}/LogServices/EventLog/EntriesGETNVIDIA DPU
/redfish/v1/Systems/{id}/LogServices/SEL/EntriesGETNVIDIA DPU/GBx00
/redfish/v1/Systems/{id}/LogServices/IML/EntriesGETHPE

Key Response Fields

FieldImportanceNICo Usage
IdRequiredEntry identifier for incremental collection
CreatedRequiredTimestamp
SeverityRequiredCritical/Warning/Ok — maps to OTEL severity
MessageRequiredLog message text
MessageArgsOptionalMessage format arguments

Task Service

Code: get_tasks(), get_task() in libredfish

EndpointMethodPurpose
/redfish/v1/TaskService/TasksGETList async operation tasks
/redfish/v1/TaskService/Tasks/{id}GETTask status (firmware updates, lockdown, etc.)

Dell also uses Managers/{id}/Jobs/{id} (converted to Task internally).


Component Integrity

Code: get_component_integrities(), get_component_ca_certificate(), trigger_evidence_collection(), get_evidence() in libredfish

EndpointMethodPurpose
/redfish/v1/ComponentIntegrityGETSPDM attestation components
{component}/Certificates/CertChainGETComponent CA certificate
{component}/Actions/ComponentIntegrity.SPDMGetSignedMeasurementsPOSTTrigger evidence collection

Manager Network Protocol

Code: get_manager_network_protocol() in libredfish

EndpointMethodPurpose
/redfish/v1/Managers/{id}/NetworkProtocolGETBMC network services config
/redfish/v1/Managers/{id}/NetworkProtocolPATCHEnable/disable IPMI access

Storage

Code: get_drives_metrics() in libredfish; discover_drive_entities() in health monitor

EndpointMethodPurpose
/redfish/v1/Systems/{id}/StorageGETList storage controllers
/redfish/v1/Systems/{id}/Storage/{id}GETStorage controller details
/redfish/v1/Systems/{id}/Storage/{id}/Drives/{id}GETDrive details
/redfish/v1/Systems/{id}/Storage/{id}/VolumesPOSTCreate RAID volume (Dell)

NVIDIA OEM Extensions

Code: Various methods in libredfish nvidia_dpu.rs, nvidia_gh200.rs, nvidia_gb200.rs, nvidia_gbswitch.rs

EndpointMethodVendorPurpose
Systems/{id}/Oem/NvidiaGETNVIDIA DPUBase MAC, rshim status, NIC mode
Systems/{id}/Oem/Nvidia/Actions/HostRshim.SetPOSTNVIDIA DPUSet rshim (BF3)
Systems/{id}/Oem/Nvidia/Actions/Mode.SetPOSTNVIDIA DPUSet NIC/DPU mode
Managers/Bluefield_BMC/Oem/NvidiaPATCHNVIDIA DPUEnable rshim
Chassis/BMC_0/Actions/Oem/NvidiaChassis.AuxPowerResetPOSTNVIDIA GBx00AC power cycle
Chassis/HGX_Chassis_0GETNVIDIA GBx00HGX chassis info
Systems/HGX_Baseboard_0/ProcessorsGETNVIDIA GBx00GPU enumeration (DPS)
Systems/HGX_Baseboard_0/Processors/{id}/Oem/Nvidia/WorkloadPowerProfileGET/POSTNVIDIA GBx00WPPS config (DPS)

CI/CD Pipeline Endpoints

These endpoints are used by the CI/CD tooling (cicd/redfish_cli.py, cicd/install_wrapper.py) and are not part of core NICo.

EndpointMethodPurpose
{System}/VirtualMedia or {Manager}/VirtualMediaGETVirtual media devices
{VirtualMedia}/Actions/VirtualMedia.InsertMediaPOSTMount ISO image
{VirtualMedia}/Actions/VirtualMedia.EjectMediaPOSTEject media
Systems/{id}PATCHBoot source override (CD once)
{Manager}/HostInterfaces/{id}PATCHEnable/disable OS-to-BMC NIC
SessionService/SessionsPOSTCreate auth session