EVerest API definition for the Config Service 1.0.0

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.

  • #EVerest
  • #ConfigService

Servers

  • mqtt://localhost:1883/everest_api/1/configuration/mqttdefault

    default local MQTT

Operations

  • REQUEST m2e/list_all_slots

    Request a list of configuration slots stored in the database.

    Operation IDsend_request_list_all_slots

    Available only on servers:

    Accepts the following message:

    List all slots requestsend_request_list_all_slots

    Request a list of all configuration slots.

    Message IDsend_request_list_all_slots
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_list_all_slots

    Available only on servers:

    Accepts the following message:

    List all slots replyreceive_reply_list_all_slots

    Reply containing all stored configuration slots.

    Message IDreceive_reply_list_all_slots
    object

    A list of Metadata for all configuration slots stored in the database.

    Examples

  • REQUEST m2e/get_active_slot

    Request the currently active configuration slot.

    Operation IDsend_request_get_active_slot

    Available only on servers:

    Accepts the following message:

    Get active slot requestsend_request_get_active_slot

    Request the currently active configuration slot.

    Message IDsend_request_get_active_slot
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_get_active_slot

    Available only on servers:

    Accepts the following message:

    Get active slot replyreceive_reply_get_active_slot

    Reply containing the currently active slot.

    Message IDreceive_reply_get_active_slot
    object

    The slot ID of the currently active configuration slot.

    Examples

  • REQUEST m2e/mark_active_slot

    Request that a slot become active on the next restart.

    Operation IDsend_request_mark_active_slot

    Available only on servers:

    Accepts the following message:

    Mark active slot requestsend_request_mark_active_slot

    Request to mark a specific slot as active on the next restart.

    Message IDsend_request_mark_active_slot
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_mark_active_slot

    Available only on servers:

    Accepts the following message:

    Mark active slot replyreceive_reply_mark_active_slot

    Reply indicating whether the active slot change was accepted.

    Message IDreceive_reply_mark_active_slot
    object

    Result when requesting to mark a slot as active.

    Examples

  • REQUEST m2e/delete_slot

    Request deletion of a configuration slot.

    Operation IDsend_request_delete_slot

    Available only on servers:

    Accepts the following message:

    Delete slot requestsend_request_delete_slot

    Request deletion of a configuration slot.

    Message IDsend_request_delete_slot
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_delete_slot

    Available only on servers:

    Accepts the following message:

    Delete slot replyreceive_reply_delete_slot

    Reply indicating the result of deleting a slot.

    Message IDreceive_reply_delete_slot
    object

    Result when requesting to delete a configuration slot.

    Examples

  • REQUEST m2e/duplicate_slot

    Request duplication of a configuration slot.

    Operation IDsend_request_duplicate_slot

    Available only on servers:

    Accepts the following message:

    Duplicate slot requestsend_request_duplicate_slot

    Request duplication of a configuration slot.

    Message IDsend_request_duplicate_slot
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_duplicate_slot

    Available only on servers:

    Accepts the following message:

    Duplicate slot replyreceive_reply_duplicate_slot

    Reply indicating the result of duplicating a slot.

    Message IDreceive_reply_duplicate_slot
    object

    Result when requesting to duplicate a configuration slot, includes the slot ID of the newly created slot if successful.

    Examples

  • REQUEST m2e/load_from_yaml

    Request loading from a YAML configuration string.

    Operation IDsend_request_load_from_yaml

    Available only on servers:

    Accepts the following message:

    Load from YAML requestsend_request_load_from_yaml

    Request loading from YAML configuration string.

    Message IDsend_request_load_from_yaml
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_load_from_yaml

    Available only on servers:

    Accepts the following message:

    Load from YAML replyreceive_reply_load_from_yaml

    Reply indicating whether loading YAML succeeded.

    Message IDreceive_reply_load_from_yaml
    object

    Result when requesting to create a new slot from a YAML configuration, includes the slot ID of the newly created slot if successful.

    Examples

  • REQUEST m2e/set_description

    Request to change description for configuration slot.

    Operation IDsend_request_set_description

    Available only on servers:

    Accepts the following message:

    Set description requestsend_request_set_description

    Request setting a new description for a slot.

    Message IDsend_request_set_description
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_set_description

    Available only on servers:

    Accepts the following message:

    Set description replyreceive_reply_set_description

    Reply indicating whether setting the description succeeded.

    Message IDreceive_reply_set_description
    object

    If setting a new description was successful.

    Examples

  • REQUEST m2e/set_config_parameters

    Request updates of configuration parameters within a slot.

    Operation IDsend_request_set_config_parameters

    Available only on servers:

    Accepts the following message:

    Set configuration parameters requestsend_request_set_config_parameters

    Request updates to configuration parameters within a slot.

    Message IDsend_request_set_config_parameters
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_set_config_parameters

    Available only on servers:

    Accepts the following message:

    Set configuration parameters replyreceive_reply_set_config_parameters

    Reply containing the result of each parameter update.

    Message IDreceive_reply_set_config_parameters
    object

    Result for a configuration parameter update request.

    Examples

  • REQUEST m2e/get_config_parameters

    Request current configuration parameter values.

    Operation IDsend_request_get_config_parameters

    Available only on servers:

    Accepts the following message:

    Get configuration parameters requestsend_request_get_config_parameters

    Request current configuration parameter values.

    Message IDsend_request_get_config_parameters
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_get_config_parameters

    Available only on servers:

    Accepts the following message:

    Get configuration parameters replyreceive_reply_get_config_parameters

    Reply containing the value of each requested parameter.

    Message IDreceive_reply_get_config_parameters
    object

    Result for a configuration parameter request.

    Examples

  • REQUEST m2e/get_configuration

    Request the complete module configuration for a slot.

    Operation IDsend_request_get_configuration

    Available only on servers:

    Accepts the following message:

    Get configuration requestsend_request_get_configuration

    Request the module configuration tree for a slot.

    Message IDsend_request_get_configuration
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • RECEIVE

    Operation IDreceive_reply_get_configuration

    Available only on servers:

    Accepts the following message:

    Get configuration replyreceive_reply_get_configuration

    Reply containing the module configuration tree.

    Message IDreceive_reply_get_configuration
    object

    Result of a get configuration request, containing the status of the request and the requested module configuration details if successful.

    Examples

  • RECEIVE e2m/active_slot

    Published when the active configuration slot changes or its start status changes.

    Operation IDreceive_active_slot

    Available only on servers:

    Accepts the following message:

    Active slot updatereceive_active_slot

    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.

    Message IDreceive_active_slot
    object

    An update regarding the active slot. Indicates when a slot starts running, or fails to do so, or when a restart is triggered.

    Examples

  • RECEIVE e2m/config_updates

    Published when configuration parameters of any slot change.

    Operation IDreceive_config_updates

    Available only on servers:

    Accepts the following message:

    Configuration update notificationreceive_config_updates

    Published when configuration parameters of any slot change.

    Message IDreceive_config_updates
    object

    A notice regarding a configuration parameter update, consisting of the update and the result of the update (no rejected updates included).

    Examples

Messages

  • #1List all slots requestsend_request_list_all_slots

    Request a list of all configuration slots.

    Message IDsend_request_list_all_slots
    object
  • #2List all slots replyreceive_reply_list_all_slots

    Reply containing all stored configuration slots.

    Message IDreceive_reply_list_all_slots
    object

    A list of Metadata for all configuration slots stored in the database.

  • #3Get active slot requestsend_request_get_active_slot

    Request the currently active configuration slot.

    Message IDsend_request_get_active_slot
    object
  • #4Get active slot replyreceive_reply_get_active_slot

    Reply containing the currently active slot.

    Message IDreceive_reply_get_active_slot
    object

    The slot ID of the currently active configuration slot.

  • #5Mark active slot requestsend_request_mark_active_slot

    Request to mark a specific slot as active on the next restart.

    Message IDsend_request_mark_active_slot
    object
  • #6Mark active slot replyreceive_reply_mark_active_slot

    Reply indicating whether the active slot change was accepted.

    Message IDreceive_reply_mark_active_slot
    object

    Result when requesting to mark a slot as active.

  • #7Delete slot requestsend_request_delete_slot

    Request deletion of a configuration slot.

    Message IDsend_request_delete_slot
    object
  • #8Delete slot replyreceive_reply_delete_slot

    Reply indicating the result of deleting a slot.

    Message IDreceive_reply_delete_slot
    object

    Result when requesting to delete a configuration slot.

  • #9Duplicate slot requestsend_request_duplicate_slot

    Request duplication of a configuration slot.

    Message IDsend_request_duplicate_slot
    object
  • #10Duplicate slot replyreceive_reply_duplicate_slot

    Reply indicating the result of duplicating a slot.

    Message IDreceive_reply_duplicate_slot
    object

    Result when requesting to duplicate a configuration slot, includes the slot ID of the newly created slot if successful.

  • #11Load from YAML requestsend_request_load_from_yaml

    Request loading from YAML configuration string.

    Message IDsend_request_load_from_yaml
    object
  • #12Load from YAML replyreceive_reply_load_from_yaml

    Reply indicating whether loading YAML succeeded.

    Message IDreceive_reply_load_from_yaml
    object

    Result when requesting to create a new slot from a YAML configuration, includes the slot ID of the newly created slot if successful.

  • #13Set description requestsend_request_set_description

    Request setting a new description for a slot.

    Message IDsend_request_set_description
    object
  • #14Set description replyreceive_reply_set_description

    Reply indicating whether setting the description succeeded.

    Message IDreceive_reply_set_description
    object

    If setting a new description was successful.

  • #15Set configuration parameters requestsend_request_set_config_parameters

    Request updates to configuration parameters within a slot.

    Message IDsend_request_set_config_parameters
    object
  • #16Set configuration parameters replyreceive_reply_set_config_parameters

    Reply containing the result of each parameter update.

    Message IDreceive_reply_set_config_parameters
    object

    Result for a configuration parameter update request.

  • #17Get configuration parameters requestsend_request_get_config_parameters

    Request current configuration parameter values.

    Message IDsend_request_get_config_parameters
    object
  • #18Get configuration parameters replyreceive_reply_get_config_parameters

    Reply containing the value of each requested parameter.

    Message IDreceive_reply_get_config_parameters
    object

    Result for a configuration parameter request.

  • #19Get configuration requestsend_request_get_configuration

    Request the module configuration tree for a slot.

    Message IDsend_request_get_configuration
    object
  • #20Get configuration replyreceive_reply_get_configuration

    Reply containing the module configuration tree.

    Message IDreceive_reply_get_configuration
    object

    Result of a get configuration request, containing the status of the request and the requested module configuration details if successful.

  • #21Active slot updatereceive_active_slot

    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.

    Message IDreceive_active_slot
    object

    An update regarding the active slot. Indicates when a slot starts running, or fails to do so, or when a restart is triggered.

  • #22Configuration update notificationreceive_config_updates

    Published when configuration parameters of any slot change.

    Message IDreceive_config_updates
    object

    A notice regarding a configuration parameter update, consisting of the update and the result of the update (no rejected updates included).

Schemas

  • object

    Metadata for a configuration slot stored in the database.

  • object

    A list of Metadata for all configuration slots stored in the database.

  • object

    The slot ID of the currently active configuration slot.

  • object

    A request to mark a configuration slot as active, consisting of the slot_id of the slot to be marked as active.

  • MarkActiveSlotResultEnum
    string

    Result when requesting to mark a slot as active.

    • Success: Accepted and slot will be marked active on next restart
    • NoChangeRequired: Accepted, but slot is already marked for the next reboot, thus no change will be made
    • DoesNotExist: Rejected, because the specified slot_id does not exist
    • Failed: Marking as active for next reboot failed
    • AccessDenied: Rejected because of insufficient permissions
      Allowed values:
    • "Success"
    • "NoChangeRequired"
    • "DoesNotExist"
    • "Failed"
    • "AccessDenied"
  • object

    Result when requesting to mark a slot as active.

  • object

    A request to delete a configuration slot, consisting of the slot_id of the slot to be deleted.

  • DeleteSlotResultEnum
    string

    Result when requesting to delete a configuration slot.

    • Success: Accepted and slot will be deleted
    • CannotDeleteActiveSlot: Rejected, because the specified slot is currently active
    • DoesNotExist: Rejected, because the specified slot_id does not exist
    • Failed: Deleting the Slot Failed
    • AccessDenied: Rejected because of insufficient permissions
      Allowed values:
    • "Success"
    • "CannotDeleteActiveSlot"
    • "DoesNotExist"
    • "Failed"
    • "AccessDenied"
  • object

    Result when requesting to delete a configuration slot.

  • object

    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.

  • object

    Result when requesting to duplicate a configuration slot, includes the slot ID of the newly created slot if successful.

  • object

    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.

  • object

    Result when requesting to create a new slot from a YAML configuration, includes the slot ID of the newly created slot if successful.

  • object

    Slot ID and description for this slot.

  • object

    If setting a new description was successful.

  • object

    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).

  • object

    A configuration parameter update, consisting of the parameter identifier, and the new value.

  • object

    A request to update a configuration parameter, consisting of the slot_id and an array of parameter updates (parameter id and new value).

  • ConfigurationParameterUpdateResultEnum
    string

    Result for a configuration parameter update request for a single parameter.

    • Applied: Update was accepted and applied successfully. The change is effective immediately.
    • WillApplyOnRestart: Update was accepted and applied successfully. The change will become effective on the next start of the slot (which may be immediately if modules are being restarted, or on the next restart if modules are currently running).
    • RetryLater: Update was rejected, because it couldn't be processed now, but it might succeed at a later time
    • DoesNotExist: Rejected, because the specified configuration parameter does not exist
    • AccessDenied: Rejected, because the access was denied
    • Rejected: Rejected for other reasons (e.g. invalid value format, invalid value for enum, etc.)
      Allowed values:
    • "Applied"
    • "WillApplyOnRestart"
    • "RetryLater"
    • "DoesNotExist"
    • "AccessDenied"
    • "Rejected"
  • object

    Result for a configuration parameter update request.

  • object

    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.

  • object

    EVSE and connector sth. can be mapped to.

  • object

    Mapping of an EVerest interface implementation to a EVSE/connector.

  • object

    Mapping of an EVerest module to EVSEs/connectors, and mapping of its implementations to EVSEs/connectors.

  • object

    Fulfillment of a module requirement by another module's implementation.

  • object

    Connection of a module requirement to fulfillments by other modules' implementations.

  • ConfigurationParameterDatatype
    string

    Data type of a configuration parameter.

      Allowed values:
    • "String"
    • "Decimal"
    • "Integer"
    • "Boolean"
    • "Unknown"
  • ConfigurationParameterMutability
    string

    Mutability of a configuration parameter.

      Allowed values:
    • "ReadOnly"
    • "ReadWrite"
    • "WriteOnly"
  • object

    Characteristics of a configuration parameter, including its data type, mutability, and optionally its unit and min/max values.

  • object

    A configuration parameter, consisting of its name, value, and characteristics.

  • ConfigurationParameterGetResultEnum
    string

    Status result for getting a single configuration parameter.

      Allowed values:
    • "OK"
    • "DoesNotExist"
  • object

    Result for a single configuration parameter value request.

  • object

    An implementation-specific configuration parameter, consisting of the implementation it belongs to, and the parameter details.

  • object

    The telemetry ID for a module.

  • object

    Access settings for a module's configuration, indicating which configuration parameters the module is allowed to read or write.

  • object

    Controls which configuration a module has access to.

  • object

    Access control settings for configuration

  • object

    Configuration details of a module, including its connections, mapping, and configuration parameters.

  • ActiveSlotStatusEnum
    string

    Status of the active slot.

    • Running: The modules are running.
    • Stopped: No modules are running.
    • Starting: Transitional State Stopped->Running
    • Stopping: Transitional State Running->Stopped
    • FailedToStart: The slot is currently marked active but failed to start.
    • RestartTriggered: A restart has been triggered for the slot, but it has not started yet. This status may be published after when a restart is requested.
      Allowed values:
    • "Running"
    • "Stopped"
    • "Starting"
    • "Stopping"
    • "FailedToStart"
    • "RestartTriggered"
  • GetConfigurationStatusEnum
    string

    Status of a get configuration request.

    • Success: Request was successful and the response contains the requested configuration details.
    • SlotDoesNotExist: Request was rejected because the specified slot_id does not exist.
    • Failed: The request could not be processed.
      Allowed values:
    • "Success"
    • "SlotDoesNotExist"
    • "Failed"
  • object

    Result of a get configuration request, containing the status of the request and the requested module configuration details if successful.

  • object

    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.

  • object

    Request for current configuration parameter values.

  • object

    Result for a configuration parameter request.

  • object

    An update regarding the active slot. Indicates when a slot starts running, or fails to do so, or when a restart is triggered.

  • object

    A record of the result of a configuration parameter update, consisting of update and its result.

  • object

    A notice regarding a configuration parameter update, consisting of the update and the result of the update (no rejected updates included).