API for EVerest modules and clients to interact with the Config Service. Provides configuration slot management, module control requests, and publication of active slot and configuration update events.
default local MQTT
Request a list of configuration slots stored in the database.
Available only on servers:
Accepts the following message:
Request a list of all configuration slots.
Request all configuration slots
{
"headers": {
"replyTo": "arbitrary/reply/topic"
}
}
Accepts the following message:
Reply containing all stored configuration slots.
A list of Metadata for all configuration slots stored in the database.
List of configuration slots
{
"slots": [
{
"slot_id": 1,
"last_updated": "2026-04-08T16:00:00Z",
"description": "Production_AC_v1",
"config_file_path": "/var/opt/everest/slots/slot_1.yaml"
},
{
"slot_id": 2,
"last_updated": "2026-03-15T09:30:00Z",
"description": "Testing_DC_Fast"
}
]
}
Request the currently active configuration slot.
Available only on servers:
Accepts the following message:
Request the currently active configuration slot.
Request active slot
{
"headers": {
"replyTo": "arbitrary/reply/topic"
}
}
Accepts the following message:
Reply containing the currently active slot.
The slot ID of the currently active configuration slot.
Currently active slot 1, slot 2 marked for next boot
{
"active_slot_id": 1,
"next_boot_slot_id": 2
}
Request that a slot become active on the next restart.
Available only on servers:
Accepts the following message:
Request to mark a specific slot as active on the next restart.
Mark slot 1 as active
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 1
}
}
Accepts the following message:
Reply indicating whether the active slot change was accepted.
Result when requesting to mark a slot as active.
Slot does not exist
{
"result": "DoesNotExist"
}
Request deletion of a configuration slot.
Available only on servers:
Accepts the following message:
Request deletion of a configuration slot.
Delete slot 2
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 2
}
}
Accepts the following message:
Reply indicating the result of deleting a slot.
Result when requesting to delete a configuration slot.
Cannot delete active slot
{
"result": "CannotDeleteActiveSlot"
}
Request duplication of a configuration slot.
Available only on servers:
Accepts the following message:
Request duplication of a configuration slot.
Duplicate slot 1 with new description
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 1,
"new_description": "Backup of Config XYZ"
}
}
Accepts the following message:
Reply indicating the result of duplicating a slot.
Result when requesting to duplicate a configuration slot, includes the slot ID of the newly created slot if successful.
Slot successfully duplicated
{
"success": true,
"slot_id": 5
}
Request loading from a YAML configuration string.
Available only on servers:
Accepts the following message:
Request loading from YAML configuration string.
Load configuration from YAML
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"raw_yaml": "active_modules:\n store:\n module: Store\n example:\n config_implementation:\n example:\n current: 42\n enum_test: one\n enum_test2: 2\n connections:\n kvs:\n - module_id: store\n implementation_id: main\n module: Example\n example_user:\n connections:\n example:\n - module_id: example\n implementation_id: example\n module: ExampleUser\n",
"description": "Example configuration loaded from YAML"
}
}
Accepts the following message:
Reply indicating whether loading YAML succeeded.
Result when requesting to create a new slot from a YAML configuration, includes the slot ID of the newly created slot if successful.
YAML loaded successfully
{
"success": true,
"error_message": "",
"slot_id": 5
}
Request to change description for configuration slot.
Available only on servers:
Accepts the following message:
Request setting a new description for a slot.
Set a new description for slot 1
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 1,
"description": "Production AC v2"
}
}
Accepts the following message:
Reply indicating whether setting the description succeeded.
If setting a new description was successful.
Setting description successfully
{
"success": true
}
Request updates of configuration parameters within a slot.
Available only on servers:
Accepts the following message:
Request updates to configuration parameters within a slot.
Update configuration parameters
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 1,
"parameter_updates": [
{
"cfg_param_id": {
"module_id": "evse_manager_main",
"parameter_name": "max_current"
},
"value": "16"
},
{
"cfg_param_id": {
"module_id": "ocpp",
"parameter_name": "ChargePointId",
"implementation_id": "main"
},
"value": "CP_001"
}
]
}
}
Accepts the following message:
Reply containing the result of each parameter update.
Result for a configuration parameter update request.
Parameter update results
{
"results": [
"WillApplyOnRestart",
"Applied"
]
}
Request current configuration parameter values.
Available only on servers:
Accepts the following message:
Request current configuration parameter values.
Get configuration parameter values
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 1,
"parameters": [
{
"module_id": "evse_manager_main",
"parameter_name": "max_current"
},
{
"module_id": "ocpp",
"parameter_name": "ChargePointId",
"implementation_id": "main"
}
]
}
}
Accepts the following message:
Reply containing the value of each requested parameter.
Result for a configuration parameter request.
Get parameter results
{
"status": "Success",
"parameter_values": [
{
"status": "OK",
"parameter": {
"name": "max_current",
"value": "16",
"characteristics": {
"datatype": "Integer",
"mutability": "ReadWrite",
"unit": "A"
}
}
},
{
"status": "DoesNotExist"
}
]
}
Request the complete module configuration for a slot.
Available only on servers:
Accepts the following message:
Request the module configuration tree for a slot.
Get configuration for slot 1
{
"headers": {
"replyTo": "arbitrary/reply/topic"
},
"payload": {
"slot_id": 1
}
}
Accepts the following message:
Reply containing the module configuration tree.
Result of a get configuration request, containing the status of the request and the requested module configuration details if successful.
Module configuration tree
{
"status": "Success",
"module_configurations": [
{
"module_id": "evse_manager_main",
"module_name": "EvseManager",
"connections": [
{
"requirement_id": "board_support",
"fulfillments": [
{
"module_id": "yeti_board",
"implementation_id": "board_support",
"index": 0
}
]
}
],
"mapping": {
"module": {
"evse": 1,
"connector": 1
},
"implementations": [
{
"implementation_id": "board_support",
"mapping": {
"evse": 1,
"connector": 1
}
}
]
},
"module_configuration_parameters": [
{
"name": "session_logging",
"value": "true",
"characteristics": {
"datatype": "Boolean",
"mutability": "ReadWrite"
}
}
],
"implementation_configuration_parameters": [
{
"implementation_id": "board_support",
"configuration_parameters": [
{
"name": "max_current",
"value": "32",
"characteristics": {
"datatype": "Integer",
"mutability": "ReadWrite",
"unit": "A"
}
}
]
}
],
"standalone": false,
"telemetry_enabled": false,
"config_access": {
"config": {
"allow_global_read": true,
"allow_global_write": false,
"allow_set_read_only": false,
"module_config_access": [
{
"module_id": "ocpp",
"allow_read": true,
"allow_write": true,
"allow_set_read_only": false
}
]
}
}
}
]
}
Published when the active configuration slot changes or its start status changes.
Available only on servers:
Accepts the following message:
Published update for slot status changes. Indicates when a slot starts running, fails to start, or when a restart is triggered for a specific slot.
An update regarding the active slot. Indicates when a slot starts running, or fails to do so, or when a restart is triggered.
Slot successfully started and is now running
{
"tstamp": "2026-03-30T17:45:00Z",
"active_slot_id": 1,
"status": "Running"
}
Slot failed to start
{
"tstamp": "2026-03-30T17:46:00Z",
"active_slot_id": 2,
"status": "FailedToStart"
}
Restart triggered for slot (system may still be running with previous slot)
{
"tstamp": "2026-03-30T17:47:00Z",
"active_slot_id": 1,
"status": "RestartTriggered"
}
Published when configuration parameters of any slot change.
Available only on servers:
Accepts the following message:
Published when configuration parameters of any slot change.
A notice regarding a configuration parameter update, consisting of the update and the result of the update (no rejected updates included).
Configuration parameters changed
{
"tstamp": "2026-03-30T17:45:00Z",
"slot_id": 1,
"update_results": [
{
"update": {
"cfg_param_id": {
"module_id": "evse_manager_main",
"parameter_name": "max_current"
},
"value": "16"
},
"result": "Applied"
},
{
"update": {
"cfg_param_id": {
"module_id": "ocpp",
"parameter_name": "ChargePointId",
"implementation_id": "main"
},
"value": "CP_001"
},
"result": "WillApplyOnRestart"
}
],
"origin": {
"external": false,
"identifier": "ocpp_module"
}
}
Request a list of all configuration slots.
Reply containing all stored configuration slots.
A list of Metadata for all configuration slots stored in the database.
Request the currently active configuration slot.
Reply containing the currently active slot.
The slot ID of the currently active configuration slot.
Request to mark a specific slot as active on the next restart.
Reply indicating whether the active slot change was accepted.
Result when requesting to mark a slot as active.
Request deletion of a configuration slot.
Reply indicating the result of deleting a slot.
Result when requesting to delete a configuration slot.
Request duplication of a configuration slot.
Reply indicating the result of duplicating a slot.
Result when requesting to duplicate a configuration slot, includes the slot ID of the newly created slot if successful.
Request loading from YAML configuration string.
Reply indicating whether loading YAML succeeded.
Result when requesting to create a new slot from a YAML configuration, includes the slot ID of the newly created slot if successful.
Request setting a new description for a slot.
Reply indicating whether setting the description succeeded.
If setting a new description was successful.
Request updates to configuration parameters within a slot.
Reply containing the result of each parameter update.
Result for a configuration parameter update request.
Request current configuration parameter values.
Reply containing the value of each requested parameter.
Result for a configuration parameter request.
Request the module configuration tree for a slot.
Reply containing the module configuration tree.
Result of a get configuration request, containing the status of the request and the requested module configuration details if successful.
Published update for slot status changes. Indicates when a slot starts running, fails to start, or when a restart is triggered for a specific slot.
An update regarding the active slot. Indicates when a slot starts running, or fails to do so, or when a restart is triggered.
Published when configuration parameters of any slot change.
A notice regarding a configuration parameter update, consisting of the update and the result of the update (no rejected updates included).
Metadata for a configuration slot stored in the database.
A list of Metadata for all configuration slots stored in the database.
The slot ID of the currently active configuration slot.
A request to mark a configuration slot as active, consisting of the slot_id of the slot to be marked as active.
Result when requesting to mark a slot as active.
Result when requesting to mark a slot as active.
A request to delete a configuration slot, consisting of the slot_id of the slot to be deleted.
Result when requesting to delete a configuration slot.
Result when requesting to delete a configuration slot.
A request to duplicate a configuration slot, consisting of the slot_id of the slot to be duplicated and a description for the new slot.
Result when requesting to duplicate a configuration slot, includes the slot ID of the newly created slot if successful.
A request to load a raw YAML configuration, into a new or a given slot; consists of the raw configuration YAML string and optionally the slot_id and a description for the slot.
Result when requesting to create a new slot from a YAML configuration, includes the slot ID of the newly created slot if successful.
Slot ID and description for this slot.
If setting a new description was successful.
Identifier for a configuration parameter, consisting of the module it belongs to, the parameter name, and optionally the implementation it belongs to (for implementation-specific parameters).
A configuration parameter update, consisting of the parameter identifier, and the new value.
A request to update a configuration parameter, consisting of the slot_id and an array of parameter updates (parameter id and new value).
Result for a configuration parameter update request for a single parameter.
Result for a configuration parameter update request.
A request to get the module configuration tree for a configuration slot, consisting of the slot_id of the slot to get the configuration for.
EVSE and connector sth. can be mapped to.
Mapping of an EVerest interface implementation to a EVSE/connector.
Mapping of an EVerest module to EVSEs/connectors, and mapping of its implementations to EVSEs/connectors.
Fulfillment of a module requirement by another module's implementation.
Connection of a module requirement to fulfillments by other modules' implementations.
Data type of a configuration parameter.
Mutability of a configuration parameter.
Characteristics of a configuration parameter, including its data type, mutability, and optionally its unit and min/max values.
A configuration parameter, consisting of its name, value, and characteristics.
Status result for getting a single configuration parameter.
Result for a single configuration parameter value request.
An implementation-specific configuration parameter, consisting of the implementation it belongs to, and the parameter details.
The telemetry ID for a module.
Access settings for a module's configuration, indicating which configuration parameters the module is allowed to read or write.
Controls which configuration a module has access to.
Access control settings for configuration
Configuration details of a module, including its connections, mapping, and configuration parameters.
Status of the active slot.
Status of a get configuration request.
Result of a get configuration request, containing the status of the request and the requested module configuration details if successful.
Origin of a configuration change. This can be used to indicate whether a change was triggered by an external request (e.g. via the API) or by an EVerest module (e.g. OCPP). The identifier is the module_id for changes triggered by EVerest modules, and can be used to identify external clients if they provide an identifier when making API requests.
Request for current configuration parameter values.
Result for a configuration parameter request.
An update regarding the active slot. Indicates when a slot starts running, or fails to do so, or when a restart is triggered.
A record of the result of a configuration parameter update, consisting of update and its result.
A notice regarding a configuration parameter update, consisting of the update and the result of the update (no rejected updates included).