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

# Remote control

> Reset controllers, release locked charging cables, stop charging sessions and manage controller settings remotely via the Core API.

Send remote commands to charging infrastructure via the [**Control endpoints**](https://chargecloud.dev/api/core-api.md) of the Core API. Charge point operators, support teams and field-service applications fix charging problems from their own systems: release a stuck cable, restart an unresponsive controller, stop a charging session or check a controller's settings, without working through the chargecloud OS. Every command is recorded with its status and result.

***

## Command model

A command is one remote operation against one target: you name the target and the operation, the chargecloud OS forwards the command to the controller and records the controller's answer.

**1. Target**

The device the command is for: a **controller** (the unit in the charging station that communicates with the chargecloud OS), a **connector** (one charging point, where a driver plugs in) or a running **charging session**.

Identified by `target_type` and `target_uuid`.

**2. Command type**

The operation to perform. Each command type fits certain targets; the chargecloud OS rejects other combinations before anything reaches the device.

| Command | Applies to | What it does |
| - | - | - |
| `soft_reset` | controller | Restarts the controller software. |
| `hard_reset` | controller | Restarts the controller completely, when a soft reset does not help. |
| `unlock` | connector | Releases a charging cable that is locked at the charging point. |
| `refresh_configuration` | controller | Asks the controller for its current settings. |
| `remote_stop` | connector or charging session | Ends a running charging session. |

Whether a controller restarts during a charging session is up to the controller. For the difference between a soft and a hard reset, see the Help Center article [**Restarting a Charging Station (Reset)**](https://support.chargecloud.de/hc/en-gb/articles/360000372278-Restarting-a-Charging-Station-Reset).

Sent as `type` on the command.

**3. Status and result**

Every command reports what happened, normally in the same response, so a support agent knows the outcome right away.

| Status | Meaning |
| - | - |
| `pending` | Recorded, not yet handed to the controller. |
| `sent` | Handed to the controller, waiting for its answer. |
| `accepted` | The controller carried out the command. |
| `rejected` | The controller refused. |
| `failed` | The chargecloud OS did not carry out the command, for example when no session is active. |

`result` holds the controller's answer or the failure reason. A command runs once; to repeat an action, create a new command. The list of commands is your history of what was sent to which device.

Identified by `command_uuid`.

***

## Command flow

The typical flow, using a stuck cable as the example:

**1. Authenticate**

Your system signs in once and receives an access token, see [**Authentication**](https://chargecloud.dev/authentication.md).

**2. Send the command**

One request naming the charging point and the operation, `unlock`.

```http theme={null}
POST /api/v1/control/commands
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "target_type": "connector",
  "target_uuid": "7f3e2b1a-9c4d-4e8f-a2b6-3d5c7e9f1a2b",
  "type": "unlock"
}
```

**3. Act on the result**

The response normally contains the outcome: `accepted` (the cable was released), `rejected` (the controller refused) or `failed` (with the reason). If the status is still `pending` or `sent`, read the command by its `command_uuid` until it has one of these statuses.

```json theme={null}
{
  "command": {
    "command_uuid": "a1b2c3d4-e5f6-4890-abcd-ef1234567890",
    "target_type": "connector",
    "target_uuid": "7f3e2b1a-9c4d-4e8f-a2b6-3d5c7e9f1a2b",
    "type": "unlock",
    "status": "accepted",
    "result": { "status": "Unlocked" },
    "created_at": "2026-09-14 12:30:00",
    "completed_at": "2026-09-14 12:30:02"
  }
}
```

`created_at` and `completed_at` are server-local time in `Y-m-d H:i:s`, without a time zone.

**4. Look it up later**

[**Read a command**](https://chargecloud.dev/api-reference/commands/commands-read.md) by its `command_uuid` or [**list commands**](https://chargecloud.dev/api-reference/commands/commands-list.md) by device, type or status, for example all failed commands.

***

## Additional use cases

* **Restart an unresponsive controller:** A `soft_reset` usually recovers the device; a `hard_reset` is the stronger fallback.
* **Stop a charging session remotely:** Send a `remote_stop` for the charging point or for the session itself if your system already knows it. Either way, the running session on that charging point ends.
* **Check or change a controller's settings:** Read the [**settings**](https://chargecloud.dev/api-reference/controllers/controllers-configurations-list.md) the chargecloud OS last received from the controller, refresh them with a `refresh_configuration` command or [**change a value**](https://chargecloud.dev/api-reference/controllers/controllers-configurations-update.md). The controller answers `Accepted`, `Rejected`, `RebootRequired` (the change applies after a restart) or `NotSupported`.
* **Audit past commands:** [**List commands**](https://chargecloud.dev/api-reference/commands/commands-list.md) by device or status to review what was sent and how each device answered.

***

## Related topics

* [**Authentication**](https://chargecloud.dev/authentication.md)
* [**Asset management**](https://chargecloud.dev/asset-management.md)
* [**Contract management**](https://chargecloud.dev/contract-management.md)
* [**Core API reference**](https://chargecloud.dev/api/core-api.md)


## Related topics

- [Commands / Create](https://chargecloud.dev/api-reference/commands/commands-create.md)
- [Commands / List](https://chargecloud.dev/api-reference/commands/commands-list.md)
- [Commands / Read](https://chargecloud.dev/api-reference/commands/commands-read.md)


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