Skip to main content
PUT
Controllers / Update

Authorizations

Authorization
string
header
required

OAuth2 Bearer Authorization

Scopes

asset:controllers

Headers

Accept-Language
string

BCP 47 language tag for content negotiation (e.g. en, de-DE).

Example:

"en"

Path Parameters

uuid
string
required

UUID of the Controller

Pattern: ^[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[89ab][a-f0-9]{3}\-[a-f0-9]{12}$

Body

application/json

Updates a controller. Required permission: asset:controllers:update. Available contexts: API Key, User.

logging
boolean
default:true
required

Records detailed protocol logs when true. Defaults to true.

fairmode
boolean
default:false
required

When true, caps output to share available power across active sessions.

software
enum<string>
required

Firmware/software stack the controller runs, selected per manufacturer. Must be compatible with backend_communication_type and is required for firmware update management. Allowed values are lowercase manufacturer or model identifiers (e.g. abb, alfen, keba, mennekes_ecu, siemens_sicharge_d); each names the vendor firmware family the backend talks to.

Available options:
mennekes,
mennekes_ecu,
mennekes_amtron_non_eichrecht,
mennekes_amedio_eichrecht,
mennekes_amedio_non_eichrecht,
mennekes_4you_500,
mennekes_4business_700,
mennekes_4business_700_eichrecht,
nidec,
ebg,
phoenix,
ecotap,
abb,
abb_terra_ac,
alfen,
amperfied,
ampure,
hubject,
kathrein,
keba,
kostad_sissy2,
heliox,
innogy,
ochp,
ebee,
enercharge,
chargeamps,
schneiderelectric,
tritium,
walther,
vinci_proxy,
vestel,
volkswagen,
chargehere,
schrack,
ebemobility,
kostad,
circontrol,
eluminocity,
abl,
abl_em4,
bauer_gen3,
bauer_gen4,
gewiss,
getpower,
delta,
photon,
porsche,
powerjames,
ads_tec,
siemens,
siemens_sicharge_d,
smight,
aixacct,
alpitronic,
stoehr,
meenergy,
whbcharging,
starchargeaurora,
compleo_solo,
evboxdc,
evboxliviqo,
unknown,
smappee,
hager_witty_share,
hager_witty_park,
hager_witty_pro,
zaptec,
peblar,
rzb,
kempower,
spelsberg,
mahlechargebig,
goe
Example:

"abb"

name
string
required

Display name. Must be unique across the client's controllers and exactly match the chargeBoxIdentity configured on the physical device. Avoid mixed case, umlauts, special characters and spaces; use underscores instead.

Maximum string length: 50
backend_communication_type
enum<string>
required

Protocol the controller uses to talk to the ChargeCloud backend. Must match the configuration on the physical device and be supported by the chosen software. Allowed values: ocpp_1_5 (OCPP-1.5 SOAP), ocpp_1_6_soap (OCPP-1.6 SOAP), ocpp_1_6_json (OCPP-1.6 JSON Websocket), ocpp_1_6_json_v2 (OCPP-1.6 JSON, V2), ocpp_201_json (OCPP-2.0.1 JSON).

Available options:
ocpp_1_5,
ocpp_1_6_soap,
ocpp_1_6_json,
ocpp_1_6_json_v2,
ocpp_201_json
mobile_communication_type
enum<string>
required

Network type used to reach the backend. Allowed values: DSL (wired), GSM (cellular via SIM), WLAN.

Available options:
DSL,
GSM,
WLAN
charge_point_model
string

Charging point hardware model. Found on the purchase receipt, in the station documentation, or via the serial number in the boot notification.

Maximum string length: 20
ssl
boolean
default:false

When true, the backend connection uses TLS. Required for all backend communication types except OCPP 1.6 JSON V2.

ip_address
string

IP address of the controller. Optional. When you supply an icc_id, the API derives the IP from the matching SIM card and ignores any value sent in this field. The IP+port combination is rejected if it collides with another controller that does not allow shared IPs.

dns_name
string

Hostname of the controller, alternative to ip_address. Only allowed for backend communication types that support hostname addressing.

ip_port
integer<int64>

TCP port of the controller. Only allowed for backend communication types that support direct port addressing.

proxy_port
integer<int64>

TCP port of the backend proxy. Only allowed for backend communication types that use a proxy.

manufacturer
string

Hardware manufacturer reported by the device.

mobile_number
string

Phone number of the SIM card.

Maximum string length: 25
icc_id
string

ICCID of the installed SIM card. When provided, the IP address is taken from the matching SIM card record.

Maximum string length: 25
imsi
string

IMSI of the installed SIM card.

Maximum string length: 30
imei
string

IMEI of the cellular modem.

Maximum string length: 30
sim_card_name
string

Free-text SIM card label.

Maximum string length: 50
radius_pwd
string

RADIUS password for network authentication, where applicable.

Maximum string length: 50
pin
string

PIN code of the SIM card.

Maximum string length: 5
puk
string

PUK code of the SIM card. Unlocks the SIM after wrong PIN attempts.

Maximum string length: 8
alternative_heartbeat_interval
integer<int64>

Overrides the default heartbeat interval (seconds). Range: 60-7200; recommended 900. Not applicable for OCPP 1.6 JSON controllers.

Required range: 60 <= x <= 7200
alternative_meter_values_interval
integer<int64>

Overrides the default meter values reporting interval (seconds). Range: 60-7200.

Required range: 60 <= x <= 7200
alternative_ftp_host
string

Overrides the default FTP host for diagnostic logs and firmware artefacts.

Maximum string length: 55
serial_number
string

Hardware serial number from the manufacturer.

Maximum string length: 16
article_number
string

Manufacturer SKU identifying the model.

Maximum string length: 16
u_ids
object[]

Authentication uIds (RFID/NFC tag IDs) accepted for local authorization. Empty when none are configured.

Response

The updated controller in full projection.

controller
object
required

The controller record with its backend connectivity, SIM card and interval settings.