API for EVerest API clients implementing occp / ocpp_data_transfer (consumer).
default local MQTT
The ID of the module as defined in the EVerest config file
Direction: EVerest to Module
Available only on servers:
Accepts the following message:
Request data transfer.
{
"headers": {
"replyTo": "string"
},
"payload": {
"vendor_id": "string",
"message_id": "string",
"data": "string",
"custom_data": {
"vendor_id": "string",
"data": "string"
}
}
}
Accepts the following message:
Reply to the request to transfer data
Type for data transfer response provided by OCPP
{
"status": "Accepted",
"data": "string",
"custom_data": {
"vendor_id": "string",
"data": "string"
}
}
Direction: Module to EVerest
Available only on servers:
Accepts the following message:
Request data transfer.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
},
"payload": {
"vendor_id": "string",
"message_id": "string",
"data": "string",
"custom_data": {
"vendor_id": "string",
"data": "string"
}
}
}
Accepts the following message:
Reply to the request to transfer data
Type for data transfer response provided by OCPP
{
"status": "Accepted",
"data": "string",
"custom_data": {
"vendor_id": "string",
"data": "string"
}
}
Direction: Module to EVerest
Available only on servers:
Accepts the following message:
Request the variables.
Reads variables using canonical component/variable addressing (e.g. component OCPPCommCtrlr, variable HeartbeatInterval), identical for OCPP 1.6 and 2.x. An empty component.name marks the deprecated OCPP 1.6 legacy key form (variable.name = configuration key); it is only accepted while OCPP 1.6 is active and will be removed per the deprecation policy. A non-empty component.name is never reinterpreted as a configuration key. Each result echoes the requested component_variable and carries a status.
See the OCPPmulti module documentation ("Configuration access" and "Migration from OCPP 1.6 key addressing") for examples and the migration guide.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
},
"payload": {
"items": [
{
"component_variable": {
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
},
"attribute_type": "Actual"
}
]
}
}
Accepts the following message:
Reply to the request transmit the requested variables
List of GetVariableResult values
{
"items": [
{
"status": "Accepted",
"attribute_type": "Actual",
"value": "string",
"component_variable": {
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
}
}
]
}
Direction: Module to EVerest
Available only on servers:
Accepts the following message:
Request setting the variables.
Writes variables using the same canonical component/variable addressing as get_variables, identical for OCPP 1.6 and 2.x; the empty-component OCPP 1.6 legacy key form is deprecated and scheduled for removal. Connection-configuration writes (component NetworkConfiguration with the profile slot number as component instance, and the OCPPCommCtrlr/NetworkConfigurationPriority selector) return RebootRequired: the value is validated and persisted immediately and takes effect on the next (re)connect or reboot.
See the OCPPmulti module documentation ("Configuration access" and "Migration from OCPP 1.6 key addressing") for examples and the migration guide.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
},
"payload": {
"variables": {
"items": [
{
"component_variable": {
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
},
"value": "string",
"attribute_type": "Actual"
}
]
},
"source": "string"
}
}
Accepts the following message:
Reply to the request to set the variables
List of SetVariableResult values
{
"items": [
{
"status": "Accepted",
"component_variable": {
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
},
"attribute_type": "Actual"
}
]
}
Direction: Module to EVerest
Available only on servers:
Accepts the following message:
Monitor the variables.
Command to start monitoring the given ComponentVariable(s), using the same canonical component/variable addressing as get_variables, identical for OCPP 1.6 and 2.x; the empty-component OCPP 1.6 legacy key form is deprecated. Changes to monitored variables are published on the event_data channel and echo the addressing form used at registration. Consecutive calls of this operation will not override but extend the existing monitors.
See the OCPPmulti module documentation ("Configuration access" and "Migration from OCPP 1.6 key addressing") for examples and the migration guide.
List of MonitorVariableRequest values
{
"items": [
{
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
}
]
}
Direction: Module to EVerest
Available only on servers:
Accepts the following message:
Request to change the availability of the Charging Station / an EVSE / a Connector.
Allows to send a ChangeAvailabilityRequest internally (as can be done by the CSMS).
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
},
"payload": {
"operational_status": "Inoperative",
"evse": {
"id": 1,
"connector_id": 1
}
}
}
Accepts the following message:
Reply to the request to change the availability
Response type to request to change the availability of the Charging Station/ an EVSE / a Connector.
{
"status": "Accepted",
"status_info": {
"reason_code": "string",
"additional_info": "string"
}
}
Direction: Module to EVerest
Available only on servers:
Accepts the following message:
Trigger a security event.
Triggers a SecurityEventNotification.req at the CSMS if it is deemed critical, either by setting the flag in this event or if absent automatically by libocpp
Type for a security event
{
"type": "string",
"info": "string",
"critical": true,
"timestamp": "2026-07-30T12:00:00Z"
}
Available only on servers:
Accepts the following message:
Events related to OCPP transactions
Element providing information on OCPP transactions.
{
"transaction_event": "Started",
"evse": {
"id": 1,
"connector_id": 1
},
"session_id": "string",
"transaction_id": "string"
}
Deprecated: use receive_connection_status instead, which reports the same connection state in its connected property together with the connection details.
Available only on servers:
Accepts the following message:
Deprecated: use receive_connection_status instead. Indicates if chargepoint is connected to CSMS
Deprecated: use ConnectionStatus (connection_status) instead. Indicates if chargepoint is connected to CSMS
Accepts the following message:
Indicates if the chargepoint is connected to the CSMS and reports the details of the connection the status refers to. Published on every connect and disconnect, replacing the deprecated is_connected variable.
Status of the connection of the chargepoint to the CSMS, including the details of the connection the status refers to. While connected, the details describe the active connection; while disconnected, they describe the connection that has just been lost or whose connection attempt has just failed. Details that are not available for the active OCPP version are omitted.
{
"connected": true,
"csms_url": "string",
"identity": "string",
"security_profile": 0,
"configuration_slot": 0,
"ocpp_interface": "string",
"ocpp_transport": "string",
"ocpp_version": "string"
}
Accepts the following message:
Published when an internal sucurity event occured
Type for a security event
{
"type": "string",
"info": "string",
"critical": true,
"timestamp": "2019-08-24T14:15:22Z"
}
Request the most recently published (latched) ocpp transaction event. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) ocpp transaction event.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published ocpp transaction event.
{
"transaction_event": "Started",
"evse": {
"id": 1,
"connector_id": 1
},
"session_id": "string",
"transaction_id": "string"
}
Request the most recently published (latched) security event. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) security event.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published security event.
{
"type": "string",
"info": "string",
"critical": true,
"timestamp": "2019-08-24T14:15:22Z"
}
Available only on servers:
Accepts the following message:
Published any time a BootNotificationResponse message is received from the CSMS
OCPP BootNotificationResponse
{
"status": "Accepted",
"current_time": "2019-08-24T14:15:22Z",
"interval": 0,
"status_info": {
"reason_code": "string",
"additional_info": "string"
}
}
Request the most recently published (latched) boot notification response. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) boot notification response.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published boot notification response.
{
"status": "Accepted",
"current_time": "2019-08-24T14:15:22Z",
"interval": 0,
"status_info": {
"reason_code": "string",
"additional_info": "string"
}
}
Accepts the following message:
Published for a component variable combination when a variable with a monitor has been changed
Type to report an event notification for a component-variable
{
"component_variable": {
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
},
"event_id": 0,
"timestamp": "2019-08-24T14:15:22Z",
"trigger": "Alerting",
"actual_value": "string",
"event_notification_type": "HardWiredNotification",
"cause": 0,
"tech_code": "string",
"tech_info": "string",
"cleared": true,
"transaction_id": "string",
"variable_monitoring_id": 0
}
Request the most recently published (latched) event data. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) event data.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published event data.
{
"component_variable": {
"component": {
"name": "string",
"instance": "string",
"evse": {
"id": 1,
"connector_id": 1
}
},
"variable": {
"name": "string",
"instance": "string"
}
},
"event_id": 0,
"timestamp": "2019-08-24T14:15:22Z",
"trigger": "Alerting",
"actual_value": "string",
"event_notification_type": "HardWiredNotification",
"cause": 0,
"tech_code": "string",
"tech_info": "string",
"cleared": true,
"transaction_id": "string",
"variable_monitoring_id": 0
}
Available only on servers:
Accepts the following message:
Object that contains OCPP charging schedules of all connectors
The object contains one composite charging schedule for each connector id starting from connector 0. Connector 0 contains a schedule for the whole charging station.
The frequency of publication is controlled by PublishChargingScheduleIntervalS (OCPP 2.x) and CompositeScheduleIntervalS (OCPP 1.6)
The duration of the composite schedules is controlled by PublishChargingScheduleDurationS (OCPP 2.x) and RequestCompositeScheduleDurationS (OCPP 1.6)
schedules for connectors
{
"schedules": [
{
"evse": 0,
"charging_rate_unit": "string",
"charging_schedule_period": [
{
"start_period": 0,
"limit": 0,
"limit_L2": 0,
"limit_L3": 0,
"number_phases": 0,
"stack_level": 0,
"phase_to_use": 0,
"discharge_limit": 0,
"discharge_limit_L2": 0,
"discharge_limit_L3": 0,
"setpoint": 0,
"setpoint_L2": 0,
"setpoint_L3": 0,
"setpoint_reactive": 0,
"setpoint_reactive_L2": 0,
"setpoint_reactive_L3": 0,
"preconditioning_request": true,
"evse_sleep": true,
"v2x_baseline": 0,
"operation_mode": "Idle",
"v2x_freq_watt_curve": [
{
"frequency": 0,
"power": 0
}
],
"v2x_signal_watt_curve": [
{
"signal": 0,
"power": 0
}
]
}
],
"duration": 0,
"start_schedule": "string",
"min_charging_rate": 0
}
]
}
Deprecated: use send_request_get_connection_status instead. Request the most recently published (latched) Is Connected. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Deprecated: use send_request_get_connection_status instead. Request the most recently published (latched) Is Connected.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
Deprecated: use receive_reply_get_connection_status instead. The most recently published Is Connected.
Request the most recently published (latched) Connection Status. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) Connection Status.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published Connection Status.
{
"connected": true,
"csms_url": "string",
"identity": "string",
"security_profile": 0,
"configuration_slot": 0,
"ocpp_interface": "string",
"ocpp_transport": "string",
"ocpp_version": "string"
}
Request the most recently published (latched) Charging Schedules. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) Charging Schedules.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published Charging Schedules.
{
"schedules": [
{
"evse": 0,
"charging_rate_unit": "string",
"charging_schedule_period": [
{
"start_period": 0,
"limit": 0,
"limit_L2": 0,
"limit_L3": 0,
"number_phases": 0,
"stack_level": 0,
"phase_to_use": 0,
"discharge_limit": 0,
"discharge_limit_L2": 0,
"discharge_limit_L3": 0,
"setpoint": 0,
"setpoint_L2": 0,
"setpoint_L3": 0,
"setpoint_reactive": 0,
"setpoint_reactive_L2": 0,
"setpoint_reactive_L3": 0,
"preconditioning_request": true,
"evse_sleep": true,
"v2x_baseline": 0,
"operation_mode": "Idle",
"v2x_freq_watt_curve": [
{
"frequency": 0,
"power": 0
}
],
"v2x_signal_watt_curve": [
{
"signal": 0,
"power": 0
}
]
}
],
"duration": 0,
"start_schedule": "string",
"min_charging_rate": 0
}
]
}
A serialized OCPP message
Available only on servers:
Accepts the following message:
A serialized OCPP message
OCPP message with direction
{
"message": "string",
"direction": "CSMSToChargingStation",
"version": "string"
}
Request the most recently published (latched) ocpp message. The reply will be sent to the replyTo address specified in the message headers. If no latched value is available yet, a null payload will be sent.
Available only on servers:
Accepts the following message:
Request the most recently published (latched) ocpp message.
{
"headers": {
"replyTo": "everest_api/1/{interface_type}/{module_id}/e2m/{operation_name}/{uuid}"
}
}
Accepts the following message:
The most recently published ocpp message.
{
"message": "string",
"direction": "CSMSToChargingStation",
"version": "string"
}
Accepts the following message:
Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration
64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached
Heartbeat
Accepts the following message:
Signal to EVerest that communication is good or check shall be stopped
Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check
Request data transfer.
Reply to the request to transfer data
Type for data transfer response provided by OCPP
Request data transfer.
Reply to the request to transfer data
Type for data transfer response provided by OCPP
Request the variables.
Reads variables using canonical component/variable addressing (e.g. component OCPPCommCtrlr, variable HeartbeatInterval), identical for OCPP 1.6 and 2.x. An empty component.name marks the deprecated OCPP 1.6 legacy key form (variable.name = configuration key); it is only accepted while OCPP 1.6 is active and will be removed per the deprecation policy. A non-empty component.name is never reinterpreted as a configuration key. Each result echoes the requested component_variable and carries a status.
See the OCPPmulti module documentation ("Configuration access" and "Migration from OCPP 1.6 key addressing") for examples and the migration guide.
Reply to the request transmit the requested variables
List of GetVariableResult values
Request setting the variables.
Writes variables using the same canonical component/variable addressing as get_variables, identical for OCPP 1.6 and 2.x; the empty-component OCPP 1.6 legacy key form is deprecated and scheduled for removal. Connection-configuration writes (component NetworkConfiguration with the profile slot number as component instance, and the OCPPCommCtrlr/NetworkConfigurationPriority selector) return RebootRequired: the value is validated and persisted immediately and takes effect on the next (re)connect or reboot.
See the OCPPmulti module documentation ("Configuration access" and "Migration from OCPP 1.6 key addressing") for examples and the migration guide.
Reply to the request to set the variables
List of SetVariableResult values
Monitor the variables.
Command to start monitoring the given ComponentVariable(s), using the same canonical component/variable addressing as get_variables, identical for OCPP 1.6 and 2.x; the empty-component OCPP 1.6 legacy key form is deprecated. Changes to monitored variables are published on the event_data channel and echo the addressing form used at registration. Consecutive calls of this operation will not override but extend the existing monitors.
See the OCPPmulti module documentation ("Configuration access" and "Migration from OCPP 1.6 key addressing") for examples and the migration guide.
List of MonitorVariableRequest values
Request to change the availability of the Charging Station / an EVSE / a Connector.
Allows to send a ChangeAvailabilityRequest internally (as can be done by the CSMS).
Reply to the request to change the availability
Response type to request to change the availability of the Charging Station/ an EVSE / a Connector.
Trigger a security event.
Triggers a SecurityEventNotification.req at the CSMS if it is deemed critical, either by setting the flag in this event or if absent automatically by libocpp
Type for a security event
Events related to OCPP transactions
Element providing information on OCPP transactions.
Request the most recently published (latched) ocpp transaction event.
The most recently published ocpp transaction event.
Deprecated: use receive_connection_status instead. Indicates if chargepoint is connected to CSMS
Deprecated: use ConnectionStatus (connection_status) instead. Indicates if chargepoint is connected to CSMS
Indicates if the chargepoint is connected to the CSMS and reports the details of the connection the status refers to. Published on every connect and disconnect, replacing the deprecated is_connected variable.
Status of the connection of the chargepoint to the CSMS, including the details of the connection the status refers to. While connected, the details describe the active connection; while disconnected, they describe the connection that has just been lost or whose connection attempt has just failed. Details that are not available for the active OCPP version are omitted.
Published when an internal sucurity event occured
Type for a security event
Request the most recently published (latched) security event.
The most recently published security event.
Published any time a BootNotificationResponse message is received from the CSMS
OCPP BootNotificationResponse
Request the most recently published (latched) boot notification response.
The most recently published boot notification response.
Published for a component variable combination when a variable with a monitor has been changed
Type to report an event notification for a component-variable
Request the most recently published (latched) event data.
The most recently published event data.
Object that contains OCPP charging schedules of all connectors
The object contains one composite charging schedule for each connector id starting from connector 0. Connector 0 contains a schedule for the whole charging station.
The frequency of publication is controlled by PublishChargingScheduleIntervalS (OCPP 2.x) and CompositeScheduleIntervalS (OCPP 1.6)
The duration of the composite schedules is controlled by PublishChargingScheduleDurationS (OCPP 2.x) and RequestCompositeScheduleDurationS (OCPP 1.6)
schedules for connectors
Deprecated: use send_request_get_connection_status instead. Request the most recently published (latched) Is Connected.
Deprecated: use receive_reply_get_connection_status instead. The most recently published Is Connected.
Request the most recently published (latched) Connection Status.
The most recently published Connection Status.
Request the most recently published (latched) Charging Schedules.
The most recently published Charging Schedules.
A serialized OCPP message
OCPP message with direction
Request the most recently published (latched) ocpp message.
The most recently published ocpp message.
Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration
64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached
Signal to EVerest that communication is good or check shall be stopped
Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check
Attribute enum
OCPP BootNotificationResponse
Operational status of Charging Station /EVSE / Connector
Request type to change the availability of the Charging Station/ an EVSE / a Connector.
Status returned in response to ChangeAvailabilityRequest.
Response type to request to change the availability of the Charging Station/ an EVSE / a Connector.
Type to report an event notification for a component-variable
A point of a frequency-watt curve.
A point of a signal-watt curve.
Element providing information on a charging schedule period.
Element providing information on an OCPP charging schedule.
schedules for connectors
Indicates the trigger reason of a generic event as part of the type EventData Alerting: Monitored variable has passed an Lower or Upper Threshold Delta: Delta Monitored Variable value has changed by more than specified amount Periodic: Periodic Monitored Variable has been sampled for reporting at the specified interval
Indicates the event notification type as part of the type EventData HardWiredNotification: The software implemented by the manufacturer triggered a hardwired notification HardWiredMonitor: Triggered by a monitor, which is hardwired by the manufacturer PreconfiguredMonitor: Triggered by a monitor, which is preconfigured by the manufacturer. CustomMonitor: Triggered by a monitor which is set by a message by the Charging Station Operator.
Type for a component with name, optional instance and optional evse For OCPP1.6: A definition of a Component doesn't exist in OCPP1.6; In the context of OCPP1.6 this type may not be relevant or used. For OCPP2.0.1: All properties of the Component can be used
Type for a combination of component and variable. Note that for OCPP1.6 only the Variable.name (configuration key) is sufficient to identify a configuration key. For OCPP2.0.1 all properties of the type(s) can be used.
Deprecated: use ConnectionStatus (connection_status) instead. Indicates if chargepoint is connected to CSMS
Status of the connection of the chargepoint to the CSMS, including the details of the connection the status refers to. While connected, the details describe the active connection; while disconnected, they describe the connection that has just been lost or whose connection attempt has just failed. Details that are not available for the active OCPP version are omitted.
Custom data extension
Type for data transfer request provided by OCPP
Type for data transfer response provided by OCPP
Data Transfer Status enum
Type of an EVSE. If only the id is present, this type identifies an EVSE. If also a connector_id is given, this type identifies a Connector of the EVSE
Type to request a variable value (OCPP2.0.1) or configuration value (OCPP1.6)
List of GetVariableRequest values
Result of a GetVariableRequest
List of GetVariableResult values
Indicates the status of the GetVariableRequest as part of the GetVariableResult operation
List of MonitorVariableRequest values
Element providing information on OCPP transactions.
Indicates whether the Charging Station has been registered within the OCPP CSMS
Type for a security event
Type to request to set a variable or configuration key
List of SetVariableRequest values
Result of a SetVariableRequest
List of SetVariableResult values
Indicates the status of the SetVariableRequest operation as part of the SetVariableResult
Arguments for set_variables
Element providing more information about the status.
The transaction event enumeration
Type for a variable with a name and an optional instance For OCPP1.6: A Variable should only contain a name. The name identifies the configuration key. For OCPP2.0.1: All properties of the Variable can be used
OCPP message direction
OCPP message with direction
Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check
64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached