> ## Documentation Index
> Fetch the complete documentation index at: https://bytebeam.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to Inventory Management

Inventory is a place where you store all the firmware files, json configuration and geofence configuration versions.

> [tab] 💾 Firmware Files
>
> ## What Are Firmware Files?
>
> Firmware files are incremental updates to the software that runs on a device.
>
> Each firmware file has an associated version number which is used to to track changes and improvements (e.g., v1.0.0, v1.1.0, v2.0.0). These numbers help to identify the version running on a device and determine if an upgrade is necessary.
>
> Keeping firmware up to date is essential for device security, functionality, and compatibility with other systems.
>
> ## ○ Without Device Components
>
> > [card] [Upload New Firmware](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/without-device-components/creating-a-new-firmware-version.md)
> >
> > You can upload a new firmware file and update any of the devices with it by triggering update\_firmware action.
>
> > [card] [Edit Firmware Version](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/without-device-components/editing-a-firmware-version.md)
> >
> > You can edit the exisitng firmware versions to change the uncompressed file sizes.
>
> > [card] [Deactivate a Firmware Version](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/without-device-components/deactivating-a-firmware-version.md)
> >
> > You can deactivate the firmware versions that are not needed.
>
> > [card] [Activate a Deactivated Firmware Version](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/without-device-components/activating-a-deactivated-firmware-version.md)
> >
> > You can activate the deactivated firmware versions again.
>
> ## ⚙ With Device Components
>
> You can enable [Device Components](https://bytebeam.io/docs/platform-guide/device-components/device-components) section following the [instructions](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/enabling-device-components).
>
> > [card] [Upload New Firmware for a Component](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/creating-a-new-firmware-version-for-a-component.md)
> >
> > You can upload a new firmware file and update any of the devices with it by triggering update\_firmware action.
>
> > [card] [Update Dependency for a Component](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/updating-a-dependency-for-a-component.md)
> >
> > You can update the dependency of any firmware version for a component.
>
> > [card] [View Dependency for a Component](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/viewing-a-dependency-for-a-component.md)
> >
> > You can view the existing dependencies of a firmware version for a component.
>
> > [card] [Create Firmware Bundle](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/creating-a-firmware-bundle-version.md)
> >
> > You can create a new firmware bundle by choosing the components and their versions and update any of the devices with it by triggering update\_firmware action.
>
> > [card] [Edit Firmware Bundle](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/editing-a-firmware-bundle-version.md)
> >
> > You can edit the firmware bundle to change the uncompressed size of it.
>
> > [card] [Deactivate a Firmware Version for a Component](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/deactivating-a-firmware-version-for-a-component.md)
> >
> > You can deactivate the firmware versions of components that are not needed.
>
> > [card] [Activate a Deactivated Firmware Version for a Component](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/activating-a-deactivated-firmware-version-for-a-component.md)
> >
> > You can activate the deactivated firmware versions of components again.
>
> > [card] [Delete a Firmware Bundle](https://bytebeam.io/docs/platform-guide/actions/inventory-management/firmware-files/with-device-components/deleting-a-firmware-bundle-version.md)
> >
> > You can delete the firmware bundles that are not needed.

> [tab] 📄 JSON Configurations
>
> ## What are JSON Configurations?
>
> When configuring IoT devices, JSON is often used to define and send settings like operational parameters, thresholds, user preferences, or communication protocols, ensuring devices function as expected.
>
> ## Uses of JSON Configurations
>
> JSON configurations make managing IoT devices highly efficient, letting users deploy updates, change settings, and keep devices in sync with minimal manual effort.
>
> For instance, updating a configuration like `{"device_id": "1234", "firmware_version": "v2.1"}` across all devices ensures they operate on the latest version without manual intervention.
>
> > [card] [Create a JSON Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/json-configurations/creating-a-new-json-configuration-version.md)
> >
> > You can create a JSON Config and update any of the devices with it by triggering update\_config action.
>
> > [card] [View a JSON Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/json-configurations/viewing-a-json-configuration.md)
> >
> > You can view the existing JSON configs.
>
> > [card] [Edit a JSON Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/json-configurations/editing-a-json-configuration.md)
> >
> > You can edit the existing JSON configs.
>
> > [card] [Deactivate a JSON Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/json-configurations/deactivating-a-json-configuration.md)
> >
> > You can deactivate the JSON configs that are not needed.

> [tab] 🌐 Geofence Configurations
>
> ## What are Geofence Configurations?
>
> A geofence is a virtual boundary set around a specific geographic area, often defined by GPS coordinates and a geofence config contains the coordinate information like latitude, longitude etc.
>
> ## Uses of Geofence Configurations
>
> In IoT, geofencing is used for location-based automation. For instance, an IoT device can send alerts or adjust its behavior based on its location relative to a geofence, which is commonly used in asset tracking, security, and fleet management applications.
>
> > [card] [Create a Geofence Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/geofence-configurations/creating-a-new-geofence-configuration-version.md)
> >
> > You can create a Geofence Config and update any of the devices with it by triggering update\_geofence action.
>
> > [card] [View a Geofence Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/geofence-configurations/viewing-a-geofence-configuration.md)
> >
> > You can view the existing geofence configs.
>
> > [card] [Edit a Geofence Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/geofence-configurations/editing-a-geofence-configuration.md)
> >
> > You can edit the existing geofence configs.
>
> > [card] [Deactivate a Geofence Config](https://bytebeam.io/docs/platform-guide/actions/inventory-management/geofence-configurations/deactivating-a-geofence-configuration.md)
> >
> > You can deactivate the geofence configs that are not needed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.