Skip to content
Art2link ESB HomeDocumentationBlogContact
Updated August 2, 2026
Administration/Snapshots
Configuration Guide

Snapshots

Capture the full configuration of an Application as a portable JSON file. Apply it later, share it, or move it between environments, all from a single panel.

A snapshot is the complete configuration of an Application captured as a portable JSON document. It contains every artifact that defines how the Application is wired, ports, pipelines, pipeline component source, custom function source, message types, schemas, maps, variables, constants definitions, NuGet package registrations, and routing, and it does not contain any of the transactions that have flowed through it. A snapshot describes how the system is set up, not what it has been doing.

The code artifacts travel with the rest. Because Pipeline components, Custom functions, and NuGet packages belong to the Application rather than to the platform, a snapshot carries their source and their registrations, and applying it into another environment brings the code across with the wiring.

Those references travel by name. A pipeline names the pipeline components it runs rather than pointing at an internal identifier, and because component and function names are unique inside an Application, the name is all that is needed to resolve the reference once the snapshot is applied to a target Application.

SNAPSHOT configuration only, never transactions CONFIGURATION: TRAVELS IN THE CLEAR Ports receive / send wiring Pipelines stages and components Pipeline components C# source Custom functions C# source Message types declared shapes Schemas XSD / JSON definitions Maps transformations Variables declarations and uses Constants names and references NuGet packages registrations Routing subscriptions, filters NOT IN A SNAPSHOT transactions · runtime state · tracking history SENSITIVE PAYLOAD: OPT-IN Authentications credentials each port adapter uses Constants values the per-deployment values, not the names SCOPE One snapshot covers one Application · it is attached to that Application's snapshots list.

A snapshot is scoped to a single Application, its configuration, attached to that Application's snapshots list. It can be applied to put the configuration back in place, or exported as a JSON file to share, archive, or move to another environment.

A snapshot is not a backup of what happened. Deleting an Application removes every artifact it owns, its private bus, and all of its tracking data. A snapshot taken beforehand puts the configuration back, but it cannot bring the tracking data back, because snapshots have never contained tracking history.

Almost everything inside a snapshot travels as plain JSON. Two specific pieces are the exception: the values stored inside an application's Authentications, and the values held against its Constants. They are governed together by a single Credentials switch at snapshot time; turn it on and the snapshot is password-protected for those values, the same way a PDF can be password-protected. The same password is required to import them elsewhere.

OPEN STRUCTURE: ALWAYS IN THE CLEAR Ports, Pipelines, Message types Pipeline components, Custom functions (C# source) Schemas, Maps, Variables Constants (names and references only) NuGet package registrations Routing subscriptions and filters PLAIN JSON Diffable. Reviewable. Hand-editable. No password needed to read this section. ENCRYPTED PAYLOAD: OPT-IN Sealed under one password like a password-protected PDF Authentications credentials each port adapter uses Constants values per-deployment values, not their names

Both go in or both stay out; there is no way to take one without the other. The password is asked for only when something is being encrypted, so with Credentials left off the snapshot is entirely plain JSON. Turn it on and a single password protects both members.

For the background on each of the two encrypted members, see Authentications and Constants.

Same caveat as any password-protected file: the password is not recoverable. A snapshot whose password is forgotten can still be imported, the structure comes through, but the encrypted values land empty.

Open the Snapshots panel to see every snapshot you have access to, both snapshots taken locally and snapshots imported from a file. Each snapshot lives attached to the Application it captures.

Each row in the list displays the following columns:

ColumnDescription
NameThe name given when the snapshot was taken or imported. Required at both, and not generated for you.
DescriptionRequired free-text note recording why the snapshot was taken (e.g. "before adding the new EDI partner").
ApplicationThe Application this snapshot belongs to. Appears only when no Application is selected, see Selected Application.
NamespaceThe Application's Namespace, the identifier-style handle for the Application this snapshot belongs to.
CreatedDate and time the snapshot was added to the list.
SourceTaken for snapshots created locally, Imported for snapshots brought in from a file.
Created ByThe user who took or imported the snapshot.
AuthReads Included behind a lock on rows whose snapshot carries an encrypted payload, the Authentications and Constants values the password-protected section of the file holds.

The list view follows the platform's Selected Application behavior, with an Application selected, the list filters to that Application's snapshots; with no selection, the list spans every Application you have access to and the Application column is shown.

From a row, the available actions are Apply, Export, and Delete. Above the list, a primary Take Snapshot button creates a new entry, and an Import Snapshot button brings in a snapshot file from disk.


Open the Snapshots panel and click Take snapshot.

1. Enter a Name. It is required and nothing is generated for you. The row already records when the snapshot was taken and by whom, so name it for what it captures.

2. Enter a Description. Also required: record the change you are about to make, or the state you want to be able to come back to.

3. Decide whether to include Credentials:

  • Off, the snapshot captures configuration only and is entirely plain JSON.
  • On, every Authentication object the Application owns and the current value of every Constant in it are both added to the encrypted payload. The two go together; there is no way to include one without the other. Constant definitions (names, descriptions, and every {{Constant.Name}} reference) travel in the clear regardless of this choice.

4. If Credentials is on, the dialog reveals two password fields. Enter a password and confirm it, the same as setting a password on a PDF. The same password is required to import the encrypted values elsewhere; applying the snapshot locally needs no password. Forget it, and an import still succeeds, just without the Authentications and Constants values.

5. Click Take Snapshot. The new snapshot appears at the top of the list, marked Taken in the Source column and tagged with your username under Created By. A lock indicator appears on the row if the snapshot contains an encrypted payload.

Two password fields, one password. Confirming twice catches typos at creation time; once the snapshot is sealed, there is no way to recover the password.

Applying a snapshot reconciles its contents with the configuration the target Application already holds. No password is needed, snapshots already in the list are decrypted in place when needed.

Every apply is governed by an apply policy you choose before it runs. The policy decides three cases for each item: an item in the snapshot the target is missing, an item present in both, and an item the target has that the snapshot does not.

PolicyMissing from targetIn bothOnly in target
OverwriteCreatedOverwrittenLeft untouched
RestoreCreatedOverwrittenDeleted
Add missingCreatedLeft as-isLeft untouched
PromptPer itemPer itemLeft untouched
  • Overwrite, missing items are created and items present in both are overwritten with the snapshot's version; items the target has that the snapshot does not are left untouched. Pushes a known-good configuration onto a target without disturbing anything extra already there. Never deletes.
  • Restore, the target is made to match the snapshot exactly, missing items created, items in both overwritten, and anything not in the snapshot deleted. The only policy that removes items. Returns the Application to precisely the captured state.
  • Add missing, only items the target lacks are created; items present in both are left as they are, and extras are left untouched. Nothing existing is ever changed or removed. Introduces new artifacts from a snapshot without touching a running configuration.
  • Prompt, the snapshot's items are listed one by one and you set each individually to Overwrite (take the snapshot's version) or Skip (keep what the target has). Items the target has that the snapshot does not are left untouched. For when no single blanket rule fits and you want to decide item by item.

1. Locate the snapshot in the list and click Apply on its row.

2. Choose the apply policy, Overwrite, Restore, Add missing, or Prompt. A confirmation dialog summarizes what the chosen policy will do to the target.

3. If you chose Prompt, work down the item list and set each item to Overwrite or Skip.

4. Confirm to proceed. The target Application is reconciled with the snapshot according to the policy.

⚠️
Restore deletes, and every policy can overwrite. Under Restore, anything in the target that is not in the snapshot is removed. Overwrite, Restore, and any item set to Overwrite under Prompt replace what the target already holds. If you may want to return to the current state, take a snapshot before applying.
⚠️
Stop executions before you apply. A snapshot carries pipeline component and custom function source, so an apply can replace the code a running port is executing, not just the wiring around it. Nothing should be running while an apply is in progress: stop the Application's ports, run the apply, then start them again. The platform does not enforce this, it is operational guidance, and an apply against live traffic is on the operator.

Click Delete on the snapshot's row and confirm. The snapshot is removed from the list and cannot be recovered. Deleting a snapshot has no effect on the live configuration, it only removes that saved copy. If you may want it back later, export it to a file first.


Exporting writes a snapshot that is already in the list to a .json file you can store, send, or import into another environment. It packages only what was captured, so the order is take the snapshot first, then export it.

1. Click Export on the snapshot's row.

2. The dialog confirms which snapshot is selected, its Application, and whether it includes an encrypted payload. There is nothing to choose: the file carries exactly what the snapshot holds.

3. The encrypted payload travels exactly as it was sealed at snapshot time, under the password given then. No password is asked for at export, and the recipient needs the original one to import the encrypted parts. Without it the import still succeeds, minus Authentications and Constants values.

4. Click Export to File. Your browser downloads the snapshot as a .json file.

✏️
The exported file is editable. The open-structure section of the JSON can be opened in any text editor and adjusted by hand before re-importing, useful when retargeting endpoints, renaming a port, or tweaking routing for a new environment. The encrypted payload, if present, is not human-readable and should be left alone (or removed entirely if you want the import to behave as if no encrypted payload were included).
Exporting without the credentials means taking without them. There is no opt-out at export time. To hand a file off with configuration only, take a second snapshot with Credentials off and export that one.

Importing brings a snapshot file from disk into the snapshots list. The file may have been exported from this environment or any other.

Import is not apply. Importing stores the snapshot JSON in the Application's snapshot repository and does nothing else. No artifact is created, no artifact is changed, and nothing is overwritten. The live configuration is untouched until you run Apply on the row, and what happens then is decided entirely by which of the four apply policies you pick.

1. Open the Snapshots panel and click Import Snapshot.

2. Choose the .json snapshot file from your computer.

3. Enter a Name and a Description. Both are required, and both are yours: the name and description the snapshot carried in the environment it came from are not kept, so this is where the file's provenance gets recorded.

4. If the file carries an encrypted payload, a password field appears once the file is selected, and Art2link ESB prompts for the password.

  • Enter the correct password and click Import Snapshot to bring the snapshot in with its encrypted payload unsealed. The Authentications and the Constants values are held inside the stored snapshot, and reach the Application when you apply it.
  • Or click Import Snapshot with the password field left empty (or with the wrong password). Art2link ESB asks whether you want to proceed without the encrypted payload. Confirm to store the structure only: the Authentication objects are discarded and the Constants carry no values, so applying it later leaves those value slots empty for an operator to fill in.

5. The snapshot appears in the list, marked Imported in the Source column and tagged with your username under Created By. It is a stored snapshot and nothing more at this point. Apply it from the list whenever you are ready.

.json FILE structure (clear) ENCRYPTED PAYLOAD Password? challenge CORRECT PASSWORD Authentications intact Constants values intact apply when ready MISSING / WRONG Auth objects discarded Constants values empty structure still lands DESTINATION Snapshot lands in the snapshots list marked Imported
🔑
Forgot the password? You can still import the snapshot without it, the structure of the configuration is stored, but anything that was sealed in the encrypted payload is not. Apply the snapshot, then recreate the missing Authentication objects and fill in the empty Constants values in the target Application.

Snapshots in your toolkit

Snapshot before any configuration change worth being able to undo. Export the ones worth keeping outside the system, hand-edit the open structure if you are retargeting endpoints, and apply when you need to put a setup back in place. Used routinely, snapshots make configuration reversible and your environments portable.