This is the V2C RESTful API (Application Programming Interface), which facilitates interaction with V2C's web services. It enables remote control of charging devices, management of RFID credentials, retrieval of charging statistics, and configuration of specific device parameters.
This API allows you to integrate your e-Charger with self-developed applications or services, enabling the creation of custom automations and advanced functionalities for your charging points.
The API uses a Bearer Token (API Key) for authentication. You must provide your personal token in the custom header apikey with every request. If the apikey is invalid or missing, the API will return a 401 Unauthorized error.
To obtain your authentication token, log in to v2c.cloud, navigate to the API section in the left-hand menu, and generate your key.
For more information, visit: https://v2charge.com/support/v2c-cloud/get-token-id-api-rest-cloud/
Each user is subject to a rate limit of 1000 daily calls (requests). Should you require a higher volume of calls, please contact V2C technical support.
All successful responses will include the following headers for usage monitoring:
RateLimit-Limit: The maximum number of requests allowed in the daily period (e.g., 1000).RateLimit-Remaining: The number of requests remaining in the current daily period.Commands to remotely control and configure the core charging behavior and settings of devices (POST Actions).
Initiates or resumes the charging session on the specified device.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/startcharge?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Pauses the current charging session on the specified device.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/pausecharge?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Updates the maximum charging current (in Amperes) allowed for the session.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=16 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/intensity?deviceId=YOUR_DEVICE_ID&value=16' \ -H 'apikey: {APIKEY}'
Locks or unlocks the charging point access. 0: Unlock, 1: Lock.
| deviceId required | string Example: deviceId=DFL2JPV |
| value required | string Enum: "0" "1" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/locked?deviceId=DFL2JPV&value=1' \ -H 'apikey: {APIKEY}'
Enables or disables dynamic power control (load balancing). 0: Dynamic Off, 1: Dynamic On.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Enum: "0" "1" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/dynamic?deviceId=YOUR_DEVICE_ID&value=1' \ -H 'apikey: {APIKEY}'
Updates the photovoltaic charging mode. 0: PV + Minimum Power, 1: Exclusive PV, 2: Maximum Power.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Enum: "0" "1" "2" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/chargefvmode?deviceId=YOUR_DEVICE_ID&value=1' \ -H 'apikey: {APIKEY}'
{- "message": "Command executed successfully"
}Updates the maximum power (in Watts) allowed for the entire electrical installation.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=5750 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/maxpower?deviceId=YOUR_DEVICE_ID&value=5750' \ -H 'apikey: {APIKEY}'
Updates the maximum charging current (in Amperes) that the connected electric vehicle (EV) can accept.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=32 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/max_car_int?deviceId=YOUR_DEVICE_ID&value=32' \ -H 'apikey: {APIKEY}'
Updates the minimum charging current (in Amperes) that the connected electric vehicle (EV) requires to charge.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=6 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/min_car_int?deviceId=YOUR_DEVICE_ID&value=6' \ -H 'apikey: {APIKEY}'
Configures the device to automatically stop charging after a specific amount of energy (in kWh) has been delivered.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=10 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/charger_until_energy?deviceId=YOUR_DEVICE_ID&value=10' \ -H 'apikey: {APIKEY}'
Configures the device to automatically stop charging after a specific duration (in minutes).
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=60 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/charger_until_minutes?deviceId=YOUR_DEVICE_ID&value=60' \ -H 'apikey: {APIKEY}'
Starts a charging session that is scheduled to stop after delivering a specified amount of energy (in kWh).
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| kw required | string Example: kw=15 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/startchargekw?deviceId=YOUR_DEVICE_ID&kw=15' \ -H 'apikey: {APIKEY}'
Starts a charging session that is scheduled to stop after a specified number of minutes.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| minutes required | string Example: minutes=120 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/startchargeminutes?deviceId=YOUR_DEVICE_ID&minutes=120' \ -H 'apikey: {APIKEY}'
Configures a start/end time timer (timerId) on the device for scheduled charging.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| timer id required | string Example: timer id=1 |
| start_time | string <time> |
| end_time | string <time> |
| active | boolean |
V2C Production Server
{- "start_time": "22:00",
- "end_time": "06:00",
- "active": true
}Enables or disables the device's control mode via the third-party API.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| mode required | string Example: mode=1 |
| value required | string Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/thirdparty_mode?deviceId=YOUR_DEVICE_ID&mode=1&value=1' \ -H 'apikey: {APIKEY}'
Updates the electrical installation type. 0: Monophase, 1: Three-phase, 2: Photovoltaic.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Enum: "0" "1" "2" Example: value=0 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/inst_type?deviceId=YOUR_DEVICE_ID&value=0' \ -H 'apikey: {APIKEY}'
Activates or deactivates the Open Charge Point Protocol (OCPP) functionality. 0: OCPP Off, 1: OCPP On.
| id required | string Example: id=YOUR_DEVICE_ID The device's ID |
| value required | string Enum: "0" "1" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/ocpp?id=YOUR_DEVICE_ID&value=1' \ -H 'apikey: {APIKEY}'
Configures the unique Charge Point Identifier for OCPP communication.
| id required | string Example: id=YOUR_DEVICE_ID The device's ID |
| value required | string Example: value=V2C_Charger_001 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/ocpp_id?id=YOUR_DEVICE_ID&value=V2C_Charger_001' \ -H 'apikey: {APIKEY}'
Configures the endpoint URL for the central OCPP server.
| id required | string Example: id=YOUR_DEVICE_ID The device's ID |
| value required | string Example: value=ws://ocpp.server.com/endpoint |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/ocpp_addr?id=YOUR_DEVICE_ID&value=ws%3A%2F%2Focpp.server.com%2Fendpoint' \ -H 'apikey: {APIKEY}'
Updates the maximum power setting for Denka devices.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=5000 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/denka/max_power?deviceId=YOUR_DEVICE_ID&value=5000' \ -H 'apikey: {APIKEY}'
Configures the IP address of the connected solar inverter (e.g., Huawei).
| id required | string Example: id=YOUR_DEVICE_ID The device's ID |
| value required | string Example: value=192.168.1.100 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/inverter_ip?id=YOUR_DEVICE_ID&value=192.168.1.100' \ -H 'apikey: {APIKEY}'
Updates the device's WiFi network credentials (SSID and Password).
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| ssid required | string Example: ssid=MyWifiNetwork |
| password required | string Example: password=MyWifiPassword123 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/wifi?deviceId=YOUR_DEVICE_ID&ssid=MyWifiNetwork&password=MyWifiPassword123' \ -H 'apikey: {APIKEY}'
Updates the connected energy meter (slave) type for load balancing. 0: Shelly, 1: V2C v2, 3: Huawei, 4: Solax, etc.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Example: value=3 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/slave_type?deviceId=YOUR_DEVICE_ID&value=3' \ -H 'apikey: {APIKEY}'
Changes the device's display language. Values include 0: English, 1: Spanish, 2: Portuguese, etc.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Enum: "0" "1" "2" "3" "4" "5" "6" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/language?deviceId=YOUR_DEVICE_ID&value=1' \ -H 'apikey: {APIKEY}'
Turns the device's logo LED light on or off.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Enum: "0" "1" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/logo_led?deviceId=YOUR_DEVICE_ID&value=1' \ -H 'apikey: {APIKEY}'
Executes a remote reboot command on the device.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/reboot?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Queries to obtain the current operational state and diagnostic data from the device (GET Queries).
Retrieves the device's comprehensive operational data, including charging status, power metrics, and error codes.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/thirdparty/device/currentstatecharge?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
{- "error": "244",
- "battery": "0.000000",
- "voltage": "230.50",
- "intensity": "6",
- "seconds": "93",
- "photovoltaic_on": "1",
- "house_power": "3.500000",
- "charge_state": "2",
- "power": "1.380000",
- "sun_power": "1.500000",
- "phases": "1",
- "cp_level": "248.000000",
- "energy": "0.000000"
}Gets the last known status and data reported by the device (the "shadow" state). This is the most comprehensive data endpoint.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/device/reported?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Checks if the device is currently connected to the V2C Cloud service.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/device/connected?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Sends a command to the device to scan and return a list of all visible WiFi networks in its vicinity.
| id required | string Example: id=YOUR_DEVICE_ID The device's ID |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/device/wifilist?id=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Puts the device into a learning state to read and register a new physical RFID card.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| tag required | string Example: tag=NewCardName |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/rfid?deviceId=YOUR_DEVICE_ID&tag=NewCardName' \ -H 'apikey: {APIKEY}'
Deletes an RFID card from the device's whitelist using its unique code (UID).
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| code required | string Example: code=RFID_UID_TO_DELETE |
V2C Production Server
curl -X 'DELETE' \ 'https://v2c.cloud/kong/v2c_service/device/rfid?deviceId=YOUR_DEVICE_ID&code=RFID_UID_TO_DELETE' \ -H 'apikey: {APIKEY}'
Gets the list of all RFID cards currently registered on the device.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/device/rfid?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Manually adds an RFID card to the device's whitelist by specifying its code (UID) and a name (tag).
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| code required | string Example: code=NEW_RFID_UID |
| tag required | string Example: tag=ManualCardName |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/rfid/tag?deviceId=YOUR_DEVICE_ID&code=NEW_RFID_UID&tag=ManualCardName' \ -H 'apikey: {APIKEY}'
Updates the friendly name (tag) associated with an existing registered RFID card code.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| code required | string Example: code=RFID_UID_TO_UPDATE |
| tag required | string Example: tag=UpdatedCardName |
V2C Production Server
curl -X 'PUT' \ 'https://v2c.cloud/kong/v2c_service/device/rfid/tag?deviceId=YOUR_DEVICE_ID&code=RFID_UID_TO_UPDATE&tag=UpdatedCardName' \ -H 'apikey: {APIKEY}'
Activates or deactivates the physical RFID reader functionality on the device. 0: Reader Off, 1: Reader On.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| value required | string Enum: "0" "1" Example: value=1 |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/set_rfid?deviceId=YOUR_DEVICE_ID&value=1' \ -H 'apikey: {APIKEY}'
Gets the last 5 charging statistics for a specific device, with optional filtering by date range.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
| chargeDateStart | string <date> Example: chargeDateStart=2023-01-01 |
| chargeDateEnd | string <date> Example: chargeDateEnd=2023-01-31 |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/stadistic/device?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
[- {
- "id": 17307150,
- "deviceId": "QRPW7LV",
- "startChargeDate": "2025-10-28T11:44:47",
- "endChargeDate": "2025-10-28T14:45:05",
- "idCharge": "2025-10-28 11:44:47",
- "energy": 9.6,
- "cost": 1.44,
- "coCost": 2.976,
- "costFv": 0,
- "energyByHour": "0.9|3.5|3.6|1.6",
- "energyByHourFv": null,
- "rfidCode": "aa23b601",
- "rfidName": "Vicente",
- "message": null,
- "warning": false,
- "finished": true,
- "createdAt": "2025-10-28T10:44:52.000+00:00",
- "updatedAt": "2025-10-28T13:45:07.000+00:00"
}
]Gets aggregated (global) charging statistics for all devices associated with the authenticated user, optionally filtered by date range.
| endChargeDateStart | string <date> Example: endChargeDateStart=2023-01-01 |
| endChargeDateEnd | string <date> Example: endChargeDateEnd=2023-01-31 |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/stadistic/global/me?endChargeDateStart=2023-01-01&endChargeDateEnd=2023-01-31' \ -H 'apikey: {APIKEY}'
[- {
- "totalEnergy": 1500.75,
- "totalCharges": 120
}
]Creates and saves a new personalized power configuration profile.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID The device's ID |
| name required | string Example: name=SolarMode The profile name |
| updateAt required | string Example: updateAt=2023-10-27T10:00:00Z The time when sent (for versioning/timestamping) |
| mode | string |
| value | integer |
V2C Production Server
{- "mode": "solar",
- "value": 32
}Updates an existing personalized power configuration profile.
| id required | string Example: id=YOUR_DEVICE_ID The device's ID |
| name required | string Example: name=SolarMode The profile name |
| updateAt required | string Example: updateAt=2023-10-27T10:01:00Z The time when sent (for versioning/timestamping) |
| mode | string |
| value | integer |
V2C Production Server
{- "mode": "solar",
- "value": 32
}Retrieves a single personalized power configuration profile using its timestamp.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID The device's ID |
| updateAt required | string Example: updateAt=2023-10-27T10:00:00Z The profile timestamp |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/device/personalicepower/v2?deviceId=YOUR_DEVICE_ID&updateAt=2023-10-27T10:00:00Z' \ -H 'apikey: {APIKEY}'
Deletes a personalized power configuration profile by its name and timestamp.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID The device's ID |
| name required | string Example: name=SolarMode The personalice power name |
| updateAt required | string Example: updateAt=2023-10-27T10:00:00Z The profile timestamp |
V2C Production Server
curl -X 'DELETE' \ 'https://v2c.cloud/kong/v2c_service/device/personalicepower/v2?deviceId=YOUR_DEVICE_ID&name=SolarMode&updateAt=2023-10-27T10:00:00Z' \ -H 'apikey: {APIKEY}'
Gets a list of all personalized power configuration profiles associated with the device.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID The device's ID |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/device/personalicepower/all?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Sends a command to the device to search for and install the latest available firmware update.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'POST' \ 'https://v2c.cloud/kong/v2c_service/device/update?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Gets the current firmware version string of the specified device.
| deviceId required | string Example: deviceId=YOUR_DEVICE_ID |
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/version?deviceId=YOUR_DEVICE_ID' \ -H 'apikey: {APIKEY}'
Gets the list of all device pairings associated with the authenticated user.
V2C Production Server
curl -X 'GET' \ 'https://v2c.cloud/kong/v2c_service/pairings/me' \ -H 'apikey: {APIKEY}'
[- {
- "id": "pairing_id_123",
- "name": "My Pairing"
}
]