Toggle menu

Creating and Configuring an API Server

iCM/API Servers

This section lists all installed API Servers and is where you configure and manage the workers that run on those servers. All API Servers, including "remote servers" that iCM or the site communicates with are configured from here.

Access to this section of iCM can be granted to an iCM user via their System Configuration Privileges.

API Servers

Every server that has iCM installed on it, and every web server that delivers an iCM powered website, must also have an accompanying API Server. If your site and iCM run on the same server, you'll just have the one API Server.

It is also possible to install "remote" API Servers, perhaps on an internal network communicating with back-office systems. These remote servers are generally communicated with via a VPN connection. These remote servers are also managed from this section of iCM.

Creating an API Server

API Servers are installed using the appropriate Windows or Linux installer provided by us here at GOSS. API Servers run as a service.

Once installed each API Server needs to be registered in iCM. To register a new API Server click "Create an API Server" in the action panel. You'll need to set the following:

ItemDescription
HostThe name of the host that the API Server has been installed on
Server IDThis can be anything, but is visible in iCM, so should be a meaningful description
URLThe URL of the API Server. Avoid using 127.0.0.1 or localhost unless you are working in a local development environment.

In a clustered environment a hostname for the server that is resolvable by other servers in the cluster should be used.

You need to include the default API Server port, 5706.
Config fileThe file that holds the configuration you'd like to send to the API Server. The drop-down will list all of the .conf files found in the icm\custom\apiserverconfigs directory. This can be accessed using the File Manager

Standard configuration can be found in the icm-<VERSION>-standard.conf file, although site and environment specific versions may be present in your installation

When working in a clustered environment, or with a remote API Server, the IP addresses of all API Servers that iCM has to manage should be added to the MANAGER key in API Server Security. When installing a new server these IP addresses need to be added before the configuration is sent for the first time.

Edit and Configuration

To edit an API Server, right-click and choose "Edit Server".

The edit server screen displays a list of currently running services (workers) as well as services that are available but not in use.

API Server Edit

In a clustered environment each API Server will need to be managed in turn.

Running Services

Services listed as "Running" are those that were defined in the last configuration file sent to the API Server.

If any of these workers have updates available, the name of the update version is listed in bold. The updates available are those files that exist in the icm\custom\apiserverupdates directory that have not yet been deployed. 

Updates can be deployed individually (right-click on them) or all at once from the action panel.

Restarting Workers

To restart a worker, right-click on it in the list of running services and pick "Reload Worker". Restarting a worker does not update its configuration.

Available Services

Services listed as "Available" are either:

  • Workers that exist on the file system in the APIServer\workers directory but have not been configured to run
  • Uninstalled workers found in the icm\custom\apiserverupdates directory (for a file to show up here it must be a zip with a name in the format <name>-<version>-worker.zip). Uninstalled workers can be installed by right clicking on them, extracting your zip into the API Server's worker directory

If you are developing a new worker, adding a correctly named zipped copy of it to the apiserverupdates directory in the custom folder (often accessible via the File manager in iCM) will allow you to deploy it to the API Server. You'll then need to include appropriate configuration for it in the API Server configuration file.

Config File

The configuration file you send to the API Server is held in a file in the icm\custom\apiserverconfigs directory, accessed using the File Manager. Use this file to set up your workers and supply them with any optional or additional configuration.

Pick the file you'd like to use from this drop-down.

Once you've made changes to an API Server, including picking the configuration file that it uses, select "Save this server" from the action panel.

Sending Configuration

Once you have made all of your configuration changes in iCM, they need to be sent to the API Server.

Send API Server Config

Right-click on the API Server and pick "Send Configuration". The API Server will restart - wait until you see the "Configuration sent successfully to...." message at the top of the work area.

API Server Console

To access the API Server Console, right-click on an API Server and choose "Open Server Console". This will give you access to live tracing, logs, and individual worker configuration information.

Last modified on 10 October 2025