Project configuration APIs

Export and import the project configurations across environments, without the need for any manual reconfiguration after project import.

GET - Export project configurations

Exports all configurations defined in a project.

URL
../apis/v2/rest/projects/{project}/configurations
Parameters
  • {project} - Name of the project.
Request headers
Content-Type: application/json
X-INSTANCE-API-KEY: <generated API key>
Request body
None
Response
{
  "apiVersion": "1.0",
  "metadata": {
    "source": "<source_env_name>",
    "project": "<project>",
    "generatedOn": <timestamp>
  },
  "configurations": {
    "packages": [<an_array_of_packages>],
    "variables": [<an_array_of_project_variables_and_paramters>],
    "connections": [<an_array_of_connections>],
    "certificates": [<an_array_of_certificates>],
    "servicesSchedule": [<an_array_of_schedules_of_flowservices>]
  },
  "globals": {
    "alertRules": [<an_array_of_workflow_and_flowservice_alertrules>],
    "versionControlAccounts": [<an_array_of_version_control_accounts>]
  }
}
Sample response:
{
  "apiVersion": "1.0",
  "metadata": {
    "source": "webmdev",
    "project": "fl813755c19900196cbd599b",
    "generatedOn": 1750854252087
  },
  "configurations": {
    "packages": [
      {
        "packageName": "WmSalesforceProvider",
        "wpmServer": "https://xxx.xxxxxxxx.xx",
        "wpmRegistry": "supported",
        "wpmVersion": "latest"
      }
    ],
    "variables": [
      {
        "key": "username",
        "value": "webMInt",
        "packageName": "DemoConfigurationsExportImport",
        "type": "projectVariable",
        "typeProjectVariable": true,
        "isPassword": false,
        "isGlobal": false
      },
      {
        "key": "password",
        "value": null,
        "packageName": "DemoConfigurationsExportImport",
        "type": "projectVariable",
        "typeProjectVariable": true,
        "isPassword": true,
        "isGlobal": false
      },
      {
        "key": "username",
        "value": "webMInt",
        "isPassword": false,
        "isRequired": false,
        "uid": "xxxxxxx15652e888f80",
        "type": "projectParameter"
      },
      {
        "key": "password",
        "value": null,
        "isPassword": true,
        "isRequired": true,
        "uid": "xxxxxxxff4af0b2fd1e2",
        "type": "projectParameter"
      }
    ],
    "connections": [
      {
        "name": "DefaultAccount",
        "type": "connection",
        "source": "cloudstream",
        "sourceMetadata": {
          "connectorID": "com.xxxx.xxx_v1",
          "connectionType": "<connection_type>",
          "authenticationScheme": "credentials",
          "providerName": "WmMessagingProvider"
        },
        "uid": "uconnaxxxxxxxxxxxxxxxxxxxxxxxxxxxxc",
        "data": {}
      },
      {
        "name": "SoapConnector_1",
        "type": "connection",
        "source": "cloudstream",
        "sourceMetadata": {
          "connectorID": "SoapConnector",
          "connectionType": "<connection_type>",
          "authenticationScheme": "credentials",
          "providerName": "WmSOAPProvider",
          "connectorType": "CustomSOAP"
        },
        "uid": "uconnxxxxxxxxxxxxxxxxxxxxxxxxxxxx0e77e0",
        "data": {
          "cn_url": "http://xxx.xxxx/services/TemperatureConversions.wso",
          "cn_portBinding": "TemperatureConversionsSoap",
          "cn_timeout": 300000,
          "wss_timestampTTL": null,
          "wss_timestampMaxSkew": null,
          "cr_keystoreAlias": "",
          "cr_keyAlias": "",
          "wss_truststoreAlias": "",
          "wss_partnerCert": ""
        }
      }
    ],
    "certificates": [],
    "servicesSchedule": [
      {
        "runOnceType": "scheduledAt",
        "scheduleType": "runRecurrent",
        "pipeline": null,
        "executionTime": [
          1750756080000
        ],
        "recurrenceType": "daily",
        "recurrenceInterval": 1,
        "startDate": 1750748400000,
        "endDate": 0,
        "lastRunTime": 0,
        "nextRunTime": 1750928880000,
        "serviceName": "getReports",
        "status": "ACTIVE"
      }
    ]
  },
  "globals": {
    "alertRules": [
      {
        "name": "FailedExecutions",
        "type": "FlowAlertRule",
        "description": "Alert users if any of the selected flow, rest, or soap service invocation fails.",
        "enabled": true,
        "events": {
          "failed": true,
          "success": false
        },
        "users": [
          "john@doe.com"
        ],
        "integrations": [
          {
            "name": "getReports",
            "type": "FlowService",
            "project": "DemoConfigurationsExportImport"
          },
          {
            "name": "calculator",
            "type": "SoapApi",
            "project": "DemoConfigurationsExportImport"
          },
          {
            "name": "petStore",
            "type": "RestApi",
            "project": "DemoConfigurationsExportImport"
          }
        ]
      },
      {
        "name": "TimedOutTransactions",
        "description": "Alert users if any of the selected workflows timeout.",
        "enabled": true,
        "type": "WorkflowAlertRule",
        "users": [
          "john@doe.com"
        ],
        "events": {
          "failed": false,
          "timeout": true,
          "success": false
        },
        "integrations": [
          {
            "name": "placeOrder",
            "uid": "fl76508663b4198997de4d3e",
            "project": "DemoConfigurationsExportImport"
          }
        ]
      }
    ],
    "versionControlAccounts": [
      {
        "type": "github",
        "hostname": "github.com",
        "credentials": {
          "username": "john-doe"
        },
        "displayName": "JohnD",
        "owner": "john@doe.com",
        "expiryDate": "2029-07-22T17:48:50.000Z"
      }
    ]
  }
}

PUT - Import project configurations

Imports all configurations to a project.
Note: When a project is imported, triggers and any custom connectors that are used in workflows are not configured automatically. After the import is complete, you must manually configure these components. To configure a trigger,
  1. Open the workflow in the user interface.
  2. Select the appropriate account for the trigger.
  3. Save the workflow to apply the changes.
This step help ensure that the workflow functions as intended within the new environment.
URL
../apis/v2/rest/projects/{project}/configurations
Parameters
  • {project} - Name of the project.
Request headers
Content-Type: application/json
X-INSTANCE-API-KEY: <generated API key>
Request body

The response payload of the Export project configurations API contains the configuration data for your environment, including connections and variables.

Important: Before you import this payload into another environment, you must update all passwords and secrets that are associated with the connections and variables. These sensitive values are not included in the export for security reasons and must be manually reentered to make sure proper functionality after import.
{
  "apiVersion": "1.0",
  "metadata": {
    "source": "<source_env_name>",
    "project": "<project>",
    "generatedOn": <timestamp>
  },
  "configurations": {
    "packages": [<an_array_of_packages>],
    "variables": [<an_array_of_project_variables_and_paramters>],
    "connections": [<an_array_of_connections>],
    "certificates": [<an_array_of_certificates>],
    "servicesSchedule": [<an_array_of_schedules_of_flowservices>]
  },
  "globals": {
    "alertRules": [<an_array_of_workflow_and_flowservice_alertrules>],
    "versionControlAccounts": [<an_array_of_version_control_accounts>]
  }
}
Sample request:
{
  "apiVersion": "1.0",
  "metadata": {
    "source": "webmdev",
    "project": "xxxxxxxx96cbd599b",
    "generatedOn": 1750854252087
  },
  "configurations": {
    "packages": [
      {
        "packageName": "WmSalesforceProvider",
        "wpmServer": "https://xxx.xxxxxx.io",
        "wpmRegistry": "supported",
        "wpmVersion": "latest"
      }
    ],
    "variables": [
      {
        "key": "username",
        "value": "webMInt",
        "packageName": "DemoConfigurationsExportImport",
        "type": "projectVariable",
        "typeProjectVariable": true,
        "isPassword": false,
        "isGlobal": false
      },
      {
        "key": "password",
        "value": "secret",
        "packageName": "DemoConfigurationsExportImport",
        "type": "projectVariable",
        "typeProjectVariable": true,
        "isPassword": true,
        "isGlobal": false
      },
      {
        "key": "username",
        "value": "webMInt",
        "isPassword": false,
        "isRequired": false,
        "uid": "xxxxxxxb015652e888f80",
        "type": "projectParameter"
      },
      {
        "key": "password",
        "value": "secret",
        "isPassword": true,
        "isRequired": true,
        "uid": "xxxxxxxxxxxxx51ff4af0b2fd1e2",
        "type": "projectParameter"
      }
    ],
    "connections": [
      {
        "name": "DefaultAccount",
        "type": "connection",
        "source": "cloudstream",
        "sourceMetadata": {
          "connectorID": "com.xxxx.xxxxx_v1",
          "connectionType": "xxxxxxxcloud",
          "authenticationScheme": "credentials",
          "providerName": "WmMessagingProvider"
        },
        "uid": "uconnaxxxxxxxxxxxxxxxxx9e5b2c38ef15c972c357ec",
        "data": {}
      },
      {
        "name": "SoapConnector_1",
        "type": "connection",
        "source": "cloudstream",
        "sourceMetadata": {
          "connectorID": "SoapConnector",
          "connectionType": "<connection_type>",
          "authenticationScheme": "credentials",
          "providerName": "WmSOAPProvider",
          "connectorType": "CustomSOAP"
        },
        "uid": "uconnxxxxxxxxxxxxxxxxxxda30ac29663231930e77e0",
        "data": {
          "cn_url": "http://xxxxxxxxxxxxx.xxxxxxxxxxxx.com/services/TemperatureConversions.wso",
          "cn_portBinding": "TemperatureConversionsSoap",
          "cn_timeout": 300000,
          "wss_timestampTTL": null,
          "wss_timestampMaxSkew": null,
          "cr_keystoreAlias": "cr_keystoreAlias",
          "cr_keyAlias": "cr_keyAlias",
          "wss_truststoreAlias": "wss_truststoreAlias",
          "wss_partnerCert": "wss_partnerCert"
        }
      }
    ],
    "certificates": [],
    "servicesSchedule": [
      {
        "runOnceType": "scheduledAt",
        "scheduleType": "runRecurrent",
        "pipeline": null,
        "executionTime": [
          1750756080000
        ],
        "recurrenceType": "daily",
        "recurrenceInterval": 1,
        "startDate": 1750748400000,
        "endDate": 0,
        "lastRunTime": 0,
        "nextRunTime": 1750928880000,
        "serviceName": "getReports",
        "status": "ACTIVE"
      }
    ]
  },
  "globals": {
    "alertRules": [
      {
        "name": "FailedExecutions",
        "type": "FlowAlertRule",
        "description": "Alert users if any of the selected flow, rest, or soap service invocation fails.",
        "enabled": true,
        "events": {
          "failed": true,
          "success": false
        },
        "users": [
          "john@doe.com"
        ],
        "integrations": [
          {
            "name": "getReports",
            "type": "FlowService",
            "project": "DemoConfigurationsExportImport"
          },
          {
            "name": "calculator",
            "type": "SoapApi",
            "project": "DemoConfigurationsExportImport"
          },
          {
            "name": "petStore",
            "type": "RestApi",
            "project": "DemoConfigurationsExportImport"
          }
        ]
      },
      {
        "name": "TimedOutTransactions",
        "description": "Alert users if any of the selected workflows timeout.",
        "enabled": true,
        "type": "WorkflowAlertRule",
        "users": [
          "john@doe.com",
          "random@user.com"
        ],
        "events": {
          "failed": false,
          "timeout": true,
          "success": false
        },
        "integrations": [
          {
            "name": "placeOrder",
            "uid": "fl76508663b4198997de4d3e",
            "project": "DemoConfigurationsExportImport"
          }
        ]
      }
    ],
    "versionControlAccounts": [
      {
        "type": "github",
        "hostname": "github.com",
        "credentials": {
          "username": "john-doe"
        },
        "displayName": "JohnD",
        "owner": "john@doe.com",
        "expiryDate": "2029-07-22T17:48:50.000Z"
      }
    ]
  }
}
Response
If successful, configurations are added to your project. If any configurations are not updated, you can see the error messages in the response payload.
{
  "apiVersion": "1.0",
  "metadata": {
    "source": "<source_env_name>",
    "project": "<project>",
    "generatedOn": <timestamp>
  },
  "configurations": {
    "packages": [<summary_of_import>],
    "variables": [<summary_of_import>],
    "connections": [<summary_of_import>],
    "certificates": [<summary_of_import>],
    "servicesSchedule": [<summary_of_import>]
  },
  "globals": {
    "alertRules": [<summary_of_import>],
    "versionControlAccounts": [<summary_of_import>]
  }
}
Sample response:
{
  "apiVersion": "1.0",
  "metadata": {
    "source": "webmdev",
    "project": "xxxxxxxxxxxxxxxx96cbd599b",
    "generatedOn": 1750854252087
  },
  "configurations": {
    "packages": [
      {
        "name": "WmSalesforceProvider",
        "status": "success"
      }
    ],
    "variables": [
      {
        "name": "username",
        "status": "success",
        "type": "projectVariable"
      },
      {
        "key": "password",
        "status": "success",
        "type": "projectVariable"
      },
      {
        "key": "username",
        "status": "success",
        "type": "projectParameter"
      },
      {
        "key": "password",
        "status": "success",
        "type": "projectParameter"
      }
    ],
    "connections": [
      {
        "name": "DefaultAccount",
        "status": "success"
      },
      {
        "name": "SoapConnector_1",
        "status": "success"
      }
    ],
    "certificates": [],
    "servicesSchedule": [
      {
        "name": "getReports",
        "status": "success"
      }
    ]
  },
  "globals": {
    "alertRules": [
      {
        "name": "FailedExecutions",
        "type": "FlowAlertRule",
        "status": "success"
      },
      {
        "name": "TimedOutTransactions",
        "status": "failed",
        "type": "WorkflowAlertRule",
        "details": {
          "reason": "john@doe.com is not a valid user."
        }
      }
    ],
    "versionControlAccounts": [
      {
        "name": "JohnD",
        "status": "success"
      }
    ]
  }
}