Knowledge base

List of configuration files

/configFile listconfigfiles
Which files exist at all

Lists the active configuration files: the main one, those included with the include line, and the defaults file.

The call is GET /configFile?op=listconfigfiles&format=json. Without format, the response comes in XML.

It also shows included files — the ones easy to forget when setting permissions and making a backup.

The defaults file is in the list, but it cannot be edited: installation and upgrades overwrite it entirely.

For reading, the key is not required if the requesting address has at least the operator level in http-access; the key from http-api-key in the X-API-Key header lifts the address restriction.

The main trap is taking the list for everything the engine reads. Only configuration files are here. The license, certificates and signing keys that directives name by path are not included, and a backup “based on this list” will be incomplete.
What the Hub does. It does not ask: the Hub knows the set of files on the node itself — it writes them: /etc/pmta/config, the sending address file /etc/pmta/virtualhost.txt and the proxy file /etc/pmta/proxy.txt.
Recommended values

Parameters:

Parameter Required What it sets
op yes listconfigfiles — the file list
format no json or xml, xml by default
The parameters, the format default and the caveat about the defaults file come from the manual (§ 8.2.3, § 5.6). The conclusion about an incomplete backup is ours.
Example configuration
# active configuration files
curl -s 'http://127.0.0.1:8080/configFile?format=json&op=listconfigfiles'
The response will also include the defaults file /etc/pmta/config-defaults: it is in effect, but edits to it will not survive an upgrade.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
How to check on the node
Reconcile the list with the include lines:
curl -s 'http://127.0.0.1:8080/configFile?format=json&op=listconfigfiles'
grep -rn '^include' /etc/pmta/config
The manual promises the active files in the list, so a file that is included but missing from the response is a reason to check the path in the include line.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing
Scenarios
Configuration lifecycle