{key: value, ...} to the conf file (a {"updates": {...}} wrapper is also accepted; POST works identically). Every value is validated with the loader's own rules — integer keys must be integers, enum keys must hold a listed value (booleans map to yes/no), values must be single-line without #. Any invalid key rejects the whole request (400 with per-key details) and nothing is written. listen_addr/listen_port are refused: breaking the listener would sever this API. Comments and ordering in the file are preserved; a backup of the previous content is written to the state directory. Changes take effect on the next restart.Authorization: Bearer ********************curl --location --request PUT 'https://awqacore01.crexendocloud.com/ns-api/v2/ipaware/config' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"firewall_enable": "yes",
"firewall_block_ttl": 86400
}'{
"status": "updated",
"updated": {
"property1": "string",
"property2": "string"
},
"removed": [
"string"
],
"pending": [
{
"key": "string",
"running": null,
"file": null
}
],
"restartRequired": true
}