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

# Charge boxes

> Where you manage a charger's firmware, connectivity, and remote commands.

A charge box is the physical unit installed at a site: the cabinet that houses one or more EVSEs.

<Frame>
  <img src="https://mintcdn.com/spirii-7457b714/Hq2YBNx3n8oQoC1s/images/components/charge-boxes.png?fit=max&auto=format&n=Hq2YBNx3n8oQoC1s&q=85&s=13eeb5cf1043ee5b502f5808d547b5c8" alt="The charge boxes list in Spirii Connect, showing model, status, connectivity, serial, and firmware for each box" width="1708" height="649" data-path="images/components/charge-boxes.png" />
</Frame>

## Overview

A charge box is the hardware asset in the [charger hierarchy](#relationships): it sits beneath a location and above the EVSEs it contains. When an operator provisions a charger onto a location, the charge box is the object that represents that physical unit in the platform.

It holds the settings that belong to the unit as a whole ([firmware version](/capabilities/operation-monitoring/firmware-management), configuration keys, and connectivity) and it records the [unit's logs](/capabilities/operation-monitoring/charger-history-and-logs), such as OCPP message logs and connectivity history. [Remote commands](/capabilities/operation-monitoring/remote-commands) that act on the whole unit, like a reboot, are issued at this level.

## Context

A charge box is an operator-side object: you manage it in Connect and the Spirii API, and it has no direct equivalent over roaming. The OCPI standard has no charge box layer — it works at the EVSE level and groups EVSEs directly under the location. So a box's data isn't lost over roaming, it's folded into its EVSEs: a box that goes offline surfaces to drivers as an inoperative EVSE, while operator-only details such as firmware stay on the Spirii side.

## Key attributes

| Attribute             | Description                                                                                      | Example                 |
| --------------------- | ------------------------------------------------------------------------------------------------ | ----------------------- |
| ID                    | Unique identifier for the charge box in the Spirii platform                                      | `12345`                 |
| Charge box ID (CBID)  | The operator-facing identifier; the platform uses it to generate the IDs of the EVSEs on the box | `DE*SPI*E00012345`      |
| Vendor                | The hardware manufacturer                                                                        | `Alpitronic GmbH`       |
| Model                 | The specific hardware model                                                                      | `HYC_400`               |
| Firmware              | The firmware version currently installed                                                         | `hyc_2.4.0`             |
| Online                | Whether the box is currently connected to the platform                                           | `true`                  |
| Last connection event | Timestamp of the most recent ping from the box                                                   | `14:00:44, 27 Jan 2025` |

<Note>
  The `ID` is the platform's internal reference; the `CBID` is what an operator works with, and it seeds the IDs of the EVSEs the box contains.
</Note>

## States

A charge box reports its connection status to the platform:

| State   | Meaning                                                   |
| ------- | --------------------------------------------------------- |
| Online  | The box is connected to the platform and ready to charge  |
| Offline | The platform hasn't received a ping from the box recently |

Charging states, such as charging or faulted, are tracked at the EVSE level rather than on the box.

## Relationships

A charge box sits in the middle of the charger hierarchy: below the location it belongs to, above the [EVSEs](/components/charging/evses-and-connectors) it serves. It inherits site-level settings from its location, such as geolocation, access, and pricing, and passes its connection status down to its EVSEs.

```mermaid theme={null}
flowchart TD
    L("Location") --> CB1("Charge box\nAC")
    L --> CB2("Charge box\nDC")
    CB1 --> E1("EVSE")
    CB2 --> E2("EVSE")
    CB2 --> E3("EVSE")
    E1 --> C1("Connector\nType 2")
    E2 --> C2("Connector\nCCS")
    E2 --> C3("Connector\nCHAdeMO")
    E3 --> C4("Connector\nCCS")
```

## Used in

<CardGroup cols={2}>
  <Card title="EVSEs" icon="plug" href="/components/charging/evses-and-connectors">
    The charging units a charge box contains, and where its data surfaces over roaming.
  </Card>

  <Card title="Charge boxes API" href="https://docs.spirii.com/api-reference/chargeboxes-v2/fetches-a-single-charge-box">
    Retrieve and manage charge boxes programmatically.
  </Card>
</CardGroup>
