Skip to main content

config

config

This call allows changing the core server configuration, anything passed to the call will be immediately used as then new configuration. We recommend using the config_backup API call if you're interested in receiving the current configuration.

Requests take the following form:

{
"config": {

//All of the below members are optional, and will only override their currently set values when given.
//To unset a value, set it to null, which will activate the default setting.

"controller": { //controller settings. Any of these may be left out or null to set the default.
"interface": "0.0.0.0", //interface to listen on. Defaults to 0.0.0.0 = all interfaces.
"port": 4242, //port to listen on. Defaults to 4242.
"username": "root", //username to drop privileges to. Defaults to root.
"debug": 3 // Debug level to run entire server under. Defaults to 3 (production level).
},
"protocols": [ //enabled outputs (named protocols here for historical reasons)
{
"connector": "HTTP" //Name of the output to enable
//any required and/or optional settings may be given here as "name": "value" pairs inside this object.
},
//above structure repeated for all enabled connectors / protocols
],
"triggers": { //Pro-only: list of enabled triggers
"SOME_TRIGGER": [
{
"handler": "/some/handler", //handler of trigger
"sync": true, //true if blocking, false otherwise
"streams": ["optional", "stream", "list"], //List of streams to trigger for
"params": "optional parameters"
},
//Or... (deprecated syntax)
["handler", nonblocking, ["optional", "stream", "list"]],
//Multiple handlers may be defined, a mixture of the above syntaxes is supported
],
//Multiple triggers may be defined. For details, see manual chapter on triggers!
},
"serverid": "", //human-readable server identifier
"prometheus": "", //Passphrase for prometheus access. When empty, prometheus access is disabled (default).
"accesslog": "LOG", //Where to write the access log. When set to LOG, prints to regular log (default).
"defaultStream": "" //Global default stream setting, when a requested stream cannot be opened by an output
}
}

Similarly to the call, all enabled outputs must be given at once. To add or remove outputs incrementally, see the [addprotocol][addprotcool], [deleteprotocol][deleteprotcool] and updateprotocol calls. Any/all changed settings will take immediate effect.

MistServer will respond as follows:

{
"config": {
"controller": {}, //controller settings, same as in request.
"protocols": [ //enabled outputs
{
"connector": "HTTP" //Name of the output
//any required and/or optional settings will be included here as well
"online": 1 //0 = offline, 1 = online, 2 = enabled (on demand)
},
//above structure repeated for all enabled outputs
],
"triggers": {},//Configured trigger list. Same format as in request.
"serverid": "", //human-readable server identifier, as configured.
"iid": "12345678", //Instance ID. Unique ID for this currently running instance, changes every restart.
"time": 1398982430, //Current server unix time.
"version": "2.7/Generic_64", //Currently running server version string.
"prometheus": "", //Passphrase for prometheus access.
"accesslog": "LOG" //Current accesslog storage location.
}
}