Configurations API

The Configurations API allows setting global properties for Fusion. Some settings are not set by any configuration file but are reported as settings from the operating system. Those settings cannot be changed with this API.

Get, Create or Update Configuration Items

The path for this request is:

/api/apollo/configurations/<key>

where <key> is the name of a configuration item.

A POST will create a new configuration item, and a PUT will update an existing configuration item.

A GET request will list matching configuration items or all configuration items if no key is specified. When no key is specified, a GET request takes the following query parameters:

Parameter Description

pattern

The pattern allows finding all configuration items that contain the specified string.

prefix

The prefix allows finding all configuration items that start with the specified string.

verbose

If true, the response will include what part of the Fusion system (or the server’s operating system) has set the configuration item. The default is false, which means the output will include only the name of the configuration item and its value.

When adding new configuration items or updating existing items, pass them in a JSON object, meaning they should be enclosed in curly braces ({}). The output includes the configuration items that match the query parameters and their values. If verbose is enabled, the "location" property will also be returned.

Examples

Show the configuration items that include the pattern 'zk-connect', with verbose enabled:

REQUEST

curl -u user:pass http://localhost:8764/api/apollo/configurations?verbose=true&pattern=zk-connect

RESPONSE

{
  "com.lucidworks.apollo-admin.config/zk-connect" : [ {
    "value" : "localhost:9983",
    "location" : "system properties"
  } ]
}

Get the configuration items from the Connectors JVM that include the term 'connect':

REQUEST

curl -u user:pass http://localhost:8984/connectors/api/v1/configurations?pattern=connect

Get the configuration items from the Fusion JVM that start with 'com.lucidworks':

REQUEST

http://localhost:8764/api/apollo/configurations?prefix=com.lucidworks

Change the default allowed recommendation types to include 'itemsForItem":

REQUEST

curl -u user:pass -X PUT -H 'Content-type: application/json' -d '{"itemsForQuery", "termsForDocument", "itemsforItem"}' http://localhost:8764/api/apollo/configurations/com.lucidworks.apollo.service.recommend.allowed.types

RESPONSE

None. Check the setting again to confirm the changes.