Import & Export Surveys
SALT can export a complete survey definition as a single JSON file and import it on another server. This is useful for sharing surveys between installations, creating backups of survey definitions, or transferring a survey from a test environment to production.
What is included in a survey export
An exported survey bundle contains:
- Survey metadata (name, version, settings)
- All sections
- All questions with their options
- All skip logic, validation scripts, and skip-to configurations
- System messages (ineligibility message and others)
- Rapid test configurations
- Audio files, embedded as base64 in the
audio_files_jsonfield
The export does not include collected response data. It is a definition-only export.
Exporting a survey
- Go to Surveys
- Click the export/download icon next to the survey you want to export
- Save the JSON file
The exported file contains a schema_version field set to 1.
Importing a survey
- Go to Surveys
- Click Import Survey
- Select the JSON file
What happens on import
- Import always creates a new, inactive survey: it never overwrites an existing survey
- If the imported survey’s name already exists in the database, the version number is automatically incremented (e.g.
Short MSM Survey v1becomesShort MSM Survey v2) - All questions, options, skip logic, messages, and audio are imported
- The import is fully transactional, if any part fails, nothing is written
After importing, review the survey in the editor and activate it when ready.
Version field
The schema_version field in the export JSON must be 1. Exports from future versions of SALT may have a higher schema version; those exports will not be importable into older server installations.
Audio in exports
Audio files are embedded as base64-encoded strings in the audio_files_json field. This makes the export self-contained but also large, a survey with extensive multi-language audio may produce an export file that is several hundred megabytes. Ensure your browser and server both allow uploads of sufficient size (the server limit is 50 MB by default; large audio surveys may require adjusting the nginx client_max_body_size and the Node.js body parser limit).