---
title: "Create or Update Host Firmware Config"
method: PUT
path: "/v2/org/{org}/nico/firmware-config/host"
tags: ["Host Firmware Config"]
---

# Create or Update Host Firmware Config

`PUT /v2/org/{org}/nico/firmware-config/host`

Create or update host firmware config for the org/site. The target Site
is specified by `siteId` in the request body.

User must have authorization role with `PROVIDER_ADMIN` suffix in the URL `{org}`.

## Request body

- HostFirmwareConfigCreateOrUpdateRequest — Host firmware configuration upsert payload. Configurations are keyed by `(vendor, model)` on the Site's Core instance. On first create, `ordering` must list every component being configured. On update, newly added components must also appear in `ordering`.
  - `siteId` string, uuid, required — ID of the Site where the host firmware config is stored.
  - `vendor` string, required — Hardware vendor for the configuration (for example `Nvidia`, `Dell`).
  - `model` string, required — Hardware model for the configuration (for example `DGXH100`).
  - `components` HostFirmwareComponentConfig[], required — Component firmware entries to create or merge.
    - `type` 'BMC' | 'CEC' | 'UEFI' | 'NIC' | 'CpldMb' | 'CpldPdb' | 'HgxBmc' | 'CombinedBmcUefi' | 'GPU' | 'Cx7', required — Host firmware component type exposed by the REST API.
    - `firmware` HostFirmwareVersionConfig[], required — Known firmware versions for this component. Versions are merged by version string on update.
      - `version` string, required — Firmware version string reported by inventory and stored in Core.
      - `default` boolean — When `true`, marks this version as the default target for the component.
      - `artifacts` HostFirmwareArtifact[], required — Artifact locations used to install this firmware version.
        - `url` string, required — URL from which the firmware artifact can be downloaded.
        - `sha256` string — Optional SHA-256 digest of the artifact, in lowercase hex.
      - `installOnlySpecified` boolean — When `true`, install only the artifacts explicitly listed for this version.
      - `powerDrainsNeeded` integer — Optional number of power drains required after installing this version.
      - `preUpdateResets` boolean — When `true`, perform pre-update resets before installing this version.
      - `preingestionExclusiveConfig` boolean — Optional. When `true`, this firmware version applies only during BMC pre-ingestion. Omitted on update preserves the stored value; set to `false` to clear a previously stored value.
    - `preingestUpgradeWhenBelow` string — Optional minimum firmware version required before BMC pre-ingestion can complete. Omitted on update preserves the stored value.
  - `explicitStartNeeded` boolean — Optional. When `true`, host firmware updates for this vendor/model require an explicit start. Omitted on update leaves the stored value unchanged.
  - `ordering` HostFirmwareComponentType[] — Update order for configured components. Required on first create. Must include every configured component and must be updated when adding a new component on subsequent PUTs.

## Response `200`

Host firmware config replaced/updated

- HostFirmwareConfig — Stored host firmware configuration returned after create or update.
  - `vendor` string, required — Hardware vendor for the configuration.
  - `model` string, required — Hardware model for the configuration.
  - `components` HostFirmwareComponent[], required — Stored component firmware entries.
    - `type` 'BMC' | 'CEC' | 'UEFI' | 'NIC' | 'CpldMb' | 'CpldPdb' | 'HgxBmc' | 'CombinedBmcUefi' | 'GPU' | 'Cx7', required — Host firmware component type exposed by the REST API.
    - `currentVersionDetectionRegEx` string — Inventory regex Core uses to match reported versions for this component.
    - `preingestUpgradeWhenBelow` string — Minimum firmware version required before BMC pre-ingestion can complete.
    - `firmware` HostFirmwareVersionConfig[], required — Known firmware versions currently stored for this component.
      - `version` string, required — Firmware version string reported by inventory and stored in Core.
      - `default` boolean — When `true`, marks this version as the default target for the component.
      - `artifacts` HostFirmwareArtifact[], required — Artifact locations used to install this firmware version.
        - `url` string, required — URL from which the firmware artifact can be downloaded.
        - `sha256` string — Optional SHA-256 digest of the artifact, in lowercase hex.
      - `installOnlySpecified` boolean — When `true`, install only the artifacts explicitly listed for this version.
      - `powerDrainsNeeded` integer — Optional number of power drains required after installing this version.
      - `preUpdateResets` boolean — When `true`, perform pre-update resets before installing this version.
      - `preingestionExclusiveConfig` boolean — Optional. When `true`, this firmware version applies only during BMC pre-ingestion. Omitted on update preserves the stored value; set to `false` to clear a previously stored value.
  - `explicitStartNeeded` boolean, required — Whether host firmware updates require an explicit start.
  - `ordering` HostFirmwareComponentType[], required — Stored update order for configured components.
  - `created` string, date-time, required — When this vendor/model configuration was first created.
  - `updated` string, date-time, required — When this vendor/model configuration was last updated.

## Other responses

- `201` — Host firmware config created on first call
- `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
- `404` — Error response when requested object is not found
- `500` — Response when the API handler encounters an unexpected error
- `503` — Core gRPC API is unavailable, so the host firmware config request cannot be served.

## Changes

- **2026-08-19** `484497856a94` — 1 breaking
  - the `components/items/firmware/items/powerDrainsNeeded` request property type/format changed from `integer`/`` to `integer`/`uint32`
- **2026-06-30** `10b784158763` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/changes/v2/org/:org/nico/firmware-config/host/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-service-production.skmtc.workers.dev/v1/apis/nvidia/nvidia-infra-controller-rest-api/revisions/022fecfce466/schema)
