API reference: backup and restore

Download the whole configuration as one file and restore it, with a dry run that reports what would change.

Download the configuration

GET /api/config/export

Needs an Admin key.

The whole configuration as one JSON file, the same as Download backup on the Backup & Restore page. Its content is for POST /api/config/import to read back; its layout is not part of the documented API and changes between releases.

Replies

Status Meaning Body
200 OK none

Restore a configuration

POST /api/config/import

Needs an Admin key.

Send { "dryRun": true, "skipHostSpecific": false, "bundle": <the exported file> }. Try dryRun first: it reports what would change and changes nothing. A licence key is not restored onto a different machine.

Request body: ConfigImportBody

Field Type Description
dryRun boolean True to report what would change without changing anything. Default false, which applies the import.
skipHostSpecific boolean True to leave out settings that belong to the original server, such as its network addresses, for example when moving to a new server. Default false.
bundle any JSON The content of the file you downloaded from GET /api/config/export, sent as it was. Required.

Replies

Status Meaning Body
200 OK ConfigImportResult
400 Bad Request ApiError

Reply fields

Field Type Description
applied boolean True when the import was applied; false for a dry run. Always present.
sourceServer string The name of the server the bundle was exported from, or unknown. Always present.
sourceVersion string The PortWall version that exported the bundle, or unknown. Always present.
schemaVersion integer The layout version of the bundle; 0 when it does not say. Always present.
sections list of ConfigSectionChange The parts of the configuration found in the bundle and what happened to each. Parts the bundle does not contain are left out. Always present.
notes list of string Things to know after the import, such as settings that were skipped or secrets you must enter again. Always present.
Updated 2026-10-27Something unclear or missing? Tell us.