Configuration API

Included with KEPServerEX, no purchase necessary.
Download Free Demo

Product Overview

The Configuration API feature gives users complete remote management and configuration control over all their KEPServerEX instances.

With the Configuration API, users can remotely apply programmatic changes to any KEPServerEX configuration via third-party client applications that utilize a REST-based API—such as web clients, SCADA software that supports HTTP, and Internet of Things (IoT) platforms. With minimal programming, users can remotely change any project and use templates to standardize creation and naming among different device types. All changes take effect immediately, so there’s no HMI/SCADA or data downtime.

The Configuration API is especially helpful for users with large and constantly-changing projects who need to create consistency across remote and local instances.

Configuration API



  • Apply programmatic changes to Create, Read, Update, and Delete (CRUD) objects—such as channels, devices, and tags—in the server
  • Incorporate third-party applications to CRUD objects in KEPServerEX—such as channels, devices, tags, and advanced plug-in settings—via RESTful calls into the corresponding end points defined in the server
  • Programmatically build project files
  • Load full projects from a mapped file directory
  • Trigger project saves for any instance of KEPServerEX
  • Create an object with a child hierarchy in a single transaction
  • Create multiple objects in a single transaction
  • Initiate Automatic Tag Generation (ATG) through a simple service call at the device level
  • Programmatically access the Event Log
  • Programmatically configure KEPServerEX drivers and the IoT Gateway, Scheduler, EFM Exporter, and DataLogger
  • Programmatically add and edit users, user groups, and permissions in the KEPServerEX User Manager
  • Protect the project configuration by restricting modifications by role

Release Notes



  • Enhanced API to include configuration of the DataLogger Advanced Plug-in. This allows third-party applications to make RESTful calls into KEPServerEX to configure DataLogger.
  • A new parameter has been added to the ProjectSave service that allows for specifying a password to be used to encrypt the project file. Filenames using the extension "sopf" will be saved as encrypted project files, using the password specified in the new parameter. Previously the project file encryption was supported using the project properties "encrypt" and "password". Customers who have written programs interacting with the Config API using these properties to encrypt project files will need to update their programs to use the new ProjectSave interface. 
  • The Configuration API now supports the ability to access and modify User Manager settings. Authorized users are now able to create, modify and disable users, groups and passwords from the Configuration API. 
  • A new admin endpoint is available for modifying server properties. The endpoint “.../config/v1/admin” provides access to settings for Event Log, OPC Diagnostics, and Configuration API. 
  • Added the ability to create nested tags in a tag group. 



  • Added a startup retry for the Configuration API Service in case it is not able to start on the first attempt.



  • Removed SSL 3.0 support. Only TLS1.0, TLS1.1, and TLS1.2 are acceptable connections ciphers to improve security.
  • Added a new option to the Configuration API Settings to enable HTTP keep-alive property.
  • Added the ability to specify a password when loading an .opf project with the project load service.



  • Enabled HTTP keep-alive for the web server.



  • For the IEC 60870-5-104 Master driver, changed the min. and max. settings for T1, T2, and T3 wait times to match the specification. The settings are now in seconds. The old setting names are not supported. Config API projects need to be updated to use the new names.
    • CHANNEL_T1_SEC replaced CHANNEL_T1
    • CHANNEL_T2_SEC replaced CHANNEL_T2
    • CHANNEL_T3_SEC replaced CHANNEL_T3



  • Fixed an issue in the Config API Service where a valid query of the event log could result in a returned status of 400 Bad Request.
  • Fixed an issue with event_log where the query could search the entire log if there were not enough records returned as the number requested in the limit.
  • Fixed an issue with event_log where different records would be returned if the query contained no parameters (which has a default limit of 100) than if it contained a parameter limit of 100.

Sample Code

Access example code to learn how to utilize the Configuration API to make programmatic changes to a KEPServerEX project.

Download the Code