Catalog item validation errors

The Red Hat Edge Manager API enforces lifecycle protection and type-validation rules for catalog items. When an operation violates these rules, the API returns an error with a descriptive message and an HTTP status code that indicates the cause and resolution.

Table 1. Catalog item validation errors
Operation Endpoint HTTP Status Error condition Resolution

Delete a catalog item

DELETE /catalogs/{catalog}/items/{name}

409 Conflict

The catalog item version is actively referenced by one or more devices or fleets.

Remove the catalogItemRef references from all affected devices and fleets before deleting the catalog item. See Safely remove or update in-use catalog items.

Modify a deployed catalog item version

PUT /catalogs/{catalog}/items/{name}

409 Conflict

The catalog item version being altered is actively deployed to one or more devices or fleets.

Remove the catalogItemRef references from all affected devices and fleets before modifying the catalog item version. Alternatively, add a new version to the catalog item instead of altering the deployed version.

Create or update a device with a type-mismatched catalog item

PUT /devices/{name}

422 Unprocessable Entity

The catalogItemRef references a catalog item whose type does not match the specification context. For example, a system-category catalog item is referenced in spec.applications, or an application-category catalog item is referenced in spec.os.

Verify that the catalog item type matches the target specification field. Use system-category catalog items (os, firmware, driver) in spec.os and application-category catalog items (container, quadlet, compose, helm, data) in spec.applications.

Create or update a fleet with a type-mismatched catalog item

PUT /fleets/{name}

422 Unprocessable Entity

The fleet device template contains a catalogItemRef that references a catalog item whose type does not match the specification context.

Verify that the catalog item type matches the target specification field in the fleet device template. The same type-matching rules apply as for individual devices.

Create or update a device with a nonexistent catalog reference

PUT /devices/{name}

422 Unprocessable Entity

The catalogItemRef references a catalog, item, or version that does not exist.

Verify that the catalog name, item name, and version in the catalogItemRef match existing Catalog and CatalogItem resources. List available catalog items with flightctl get catalogitems --catalog <catalog_name>.