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,
- Open the workflow in the user interface.
- Select the appropriate account for the trigger.
- Save the workflow to apply the changes.
- 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.
Sample request:{ "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>] } }{ "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.
Sample response:{ "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>] } }{ "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" } ] } }