Suppose, you upload app-settings with a single property:
{
"locale": "en"
}
Now if you download the current settings, you will see that everything is still there.
In order to remove the replication_depth setting for all roles, you can upload it as an empty array:
"replication_depth": []
Please note that trying to upload an empty settings file {} might not work because cht-conf would not detect any changes. Also, make sure to change the property slightly so that the change is detected. For example, "locale": "en" to "locale": "fr".
When uploading the settings, cht-conf sets replace=1 but leaves the overwrite parameter. So, it replaces the individual settings (such as replication_depth) but it does not overwrite the whole settings.
If it had set overwrite=1, whole settings would have been overwritten (although the permissions setting is still spared).
We can test all this by hitting the CHT API using tools such as curl or Postman.