IBM webMethods Integration APIs
IBM® webMethods Integration APIs are categorized into the following domains:
| Domain | Description |
|---|---|
| Workflow APIs | Creating, exporting, importing, deleting, enabling, disabling, and executing a workflow |
| Flow service APIs | Exporting, importing, deleting, and executing a Flow service |
| Project APIs | Creating, updating, deleting, and retrieving a project Retrieving a list of projects Retrieving a list of project assets Publishing and deploying a project Exporting and importing a projectCreating, deleting, updating, and retrieving a project parameter Listing project parameters |
| Role Management APIs | Creating a role for a particular tenantUpdating an existing roleDeleting a roleRetrieving details of a particular roleListing a collection of roles associated with a particular tenant |
| User Management APIs | Retrieving a list of users associated with a particular tenant Assigning roles to a user |
| Themes APIs | Creating a theme Managing themes Retrieving theme details Listing themes Retrieving default values for the current theme |
| Webhook APIs | Retrieving details of workflows that are webhook-enabled Regenerating webhook URL for an existing workflow in a particular tenant Adding an authentication mechanism to a webhook in a particular tenant |
| Recipes APIs | Creating and deleting a recipe Retrieving recipe details Retrieving all recipes for a tenant |
| Trigger APIs | Retrieving details of trigger-enabled workflow Deleting a trigger |
| Account APIs | Allows you to retrieve, delete, switch accounts from the workflow connector and also allows you to retrieve the config data |
| Metrics APIs | Allows you to retrieve the execution summary and logs |
| Reference APIs | Allows you to retrieve, add, update, and delete the reference data |
Key points to note
-
When providing public and private keys to the APIs, they must be encoded as JSON string. To encode the contents of a public or private keys PEM files,
- Open the PEM file in a text editor.
- Replace all newlines (
\n) with the literal string\\r\\n. - Save and copy the file contents.
- Use the copied string in the API payload.
Tip: The Export configurations API already returns the public key in JSON format. - The passwords and secrets associated with the connections and variables in the payload are not stored for security reasons. You must manually re-enter to ensure proper functioning of the APIs.
- All APIs support API v2. API v2 excludes the
outputanderrorkeys from the response.Example
API v1 API v2 Endpoint:
<domain>/apis/v1/rest/projects/:project/workflowsSuccess response:{ output :{ uid: <workflow_uid>, name: <workflow_name>, description: <workflow_description> } }Endpoint:
<domain>/apis/v2/rest/projects/:project/workflowsSuccess response:{ uid: <workflow_uid>, name: <workflow_name>, description: <workflow_description> }Endpoint:
<domain>/apis/v1/rest/projects/:project/workflowsError response:{ "error": { "message": "No data found.", "code": 404, "errorSource": { "errorCode": "API_000", "requestID": "935d9c753d0897d07f2042cac0bf7577" } } }Endpoint:
<domain>/apis/v2/rest/projects/:project/workflowsError response:{ "message": "No data found.", "code": 404, "errorSource": { "errorCode": "API_000", "requestID": "b42240beb3f51a5f12af555fe793da83" } }
Deprecated URLs
The URL syntax of all public APIs that were introduced in Release 10.11 are deprecated and will become obsolete in a later release. Currently, deprecated URLs are functional and supported only for backward compatibility.
Old URL Format (Deprecated): <domain>/enterprise/v1/rest/...
New URL Format: <domain>/apis/v1/rest/...
The APIs listed below have been deprecated:
| APIs | Deprecated URL | New URL |
|---|---|---|
| Workflow API - Exporting a workflow | <domain>/enterprise/v1/rest/projects/:project/workflows/:workflow/export |
<domain>/apis/v1/rest/projects/:project/workflows/:workflow/export |
| Workflow API - Importing a workflow | <domain>/enterprise/v1/rest/projects/:project/workflow-import |
<domain>/apis/v1/rest/projects/:project/workflow-import |
| Workflow API - Deleting a workflow | <domain>/enterprise/v1/rest/projects/:project/workflows/:workflow |
<domain>/apis/v1/rest/projects/:project/workflows/:workflow |
| Workflow API - Executing a workflow | <domain>/enterprise/v1/rest/projects/:project/workflows/:workflow/run |
<domain>/apis/v1/rest/projects/:project/workflows/:workflow/run |
| Workflow API - Retrieving workflow execution status | <domain>/enterprise/v1/rest/projects/:project/workflow-run/:run_id |
<domain>/apis/v1/rest/projects/:project/workflow-run/:run_id |
| Flow service API - Exporting a Flow service | <domain>/enterprise/v1/rest/projects/:project/flows/:flow/export |
<domain>/apis/v1/rest/projects/:project/flows/:flow/export |
| Flow service API - Importing a Flow service | <domain>/enterprise/v1/rest/projects/:project/flow-import |
<domain>/apis/v1/rest/projects/:project/flow-import |
| Flow service API - Deleting a Flow service | <domain>/enterprise/v1/rest/projects/:project/flows/:flow |
<domain>/apis/v1/rest/projects/:project/flows/:flow |
| Flow service API - Executing a Flow service | <domain>/enterprise/v1/rest/projects/:project/flows/:flow/run |
<domain>/apis/v1/rest/projects/:project/flows/:flow/run |
| Project API - Creating a project | <domain>/enterprise/v1/rest/projects |
<domain>/apis/v1/rest/projects |
| Project API - Updating a project | <domain>/enterprise/v1/rest/projects |
<domain>/apis/v1/rest/projects/:project |
| Project API - Deleting a project | <domain>/enterprise/v1/rest/projects/project |
<domain>/apis/v1/rest/projects/:project |
| Project API - Retrieving a project | <domain>/enterprise/v1/rest/projects/project |
<domain>/apis/v1/rest/projects/:project |
| Project API - Retrieving a list of projects | <domain>/enterprise/v1/rest/projects |
<domain>/apis/v1/rest/projects |
Error Handling
When a request is successful, the API returns an HTTP 200 OK status, indicating that the operation was completed successfully.
If a request to any public API fails, the response includes the error source, providing more detailed information about the cause of the failure.
Workflow APIs
Create
-
To create workflows within a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to create workflows.
Steps:
-
In a REST client platform, add the authentication details of the tenant where you want to create a workflow.
Headers: { Authorization: BasicAuth } Body: { name: <workflow_name>, description: <description> } -
Perform a POST request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/:project/workflowsMethod: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{ output :{ uid: <workflow_uid>, name: <workflow_name>, description: <workflow_description> } }
Export
-
To export workflows from a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to export workflows.
Steps:
-
In a REST client platform, add the authentication details of the tenant from where you want to export a workflow.
Headers: { Authorization: BasicAuth } Body: { description: <description>, name: <workflow_name> } -
Perform a POST request at the URL of the workflow that you want to export.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/workflows/:workflow/export
Use this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/workflows/:workflow/export
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
download_link: <download_link>,
valid_till: <valid_till>
}
}
Import
-
To import workflows into a project, admin access is required. Only admins have the necessary permissions for this activity. If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to import workflows.
-
If a workflow contains any custom actions and a user imports the workflow using Public API, then the custom actions are overwritten.
Steps:
-
In a REST client platform, add the required details of the tenant where you want to import a workflow.
Headers: { Authorization: BasicAuth } domain => https:/<tenant_name>.dev-int-aws-us.webmethods.io Body: { recipe: <zip_file_binary> } -
Perform a POST request at the URL of the workflow.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/workflow-import
Use this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/workflow-import
In this URL request, /:project is the name of the project where you want to import.
overwrite=true-
If the workflow already exists and the overwrite flag is not set, a new workflow is created in the specified project.
-
If the workflow already exists and the overwrite flag is set, the existing workflow is overwritten with the imported workflow.
-
If the workflow doesn’t exist and the overwrite flag is set, a new workflow is created with the same UID as the exported workflow. If the same workflow is imported again, the existing workflow is overwritten with an updated version number.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
name: <workflow_name>,
description: <workflow_description>,
refid: <workflow_refid>,
sid: <workflow_sid>,
uid: <workflow_uid>,
project_uid: <workflow_project_uid>,
tenant_uid: <workflow_tenant_uid>
}
}
Delete
-
To delete workflows within a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to delete workflows.
Steps:
-
In a REST client platform, add the authentication details of the tenant associated with the workflow that you want to delete.
Headers: { Authorization: BasicAuth } -
Perform a DELETE request at the URL of the workflow.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/workflows/:workflowUse this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/workflows/:workflowIn this URL request, /:project is the name of the project associated with the workflow you want to delete and /:workflow is the UID of the workflow you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
message: "Object deleted successfully."
}
}
Execute
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the workflow you want to execute.
Headers:
{
Authorization: BasicAuth
}
-
Perform a POST request at the URL of the workflow you want to execute.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/workflows/:workflow/runUse this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/workflows/:workflow/runIn this URL request, /:project is the name of the project associated with the workflow you want to execute and /:workflow is the UID of the workflow you want to execute.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
run_id: <run_id>,
response: "Workflow enqueue successfully.",
status: "<current_stauts_of_workflow_run>",
workflow_uid: <workflow_uid>,
project_uid: <workflow_project_uid>,
tenant_uid: <workflow_tenant_uid>
}
}
Get workflow execution status
Allows you to check the current status of the workflow execution.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the workflow of which execution status you want to retrieve.
Headers:
{
Authorization: BasicAuth
}
-
Perform a GET request at the URL of the workflow.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/workflow-run/:run_idUse this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/workflow-run/:run_idIn this URL request, /:project is the name of the project associated with the workflow.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"objects":
[{
"run_id": <run_id>,
"status": "<current_status_of_workflow_run>"
},
{
.
.
}
]
}
}
Enable a workflow
Allows you to activate a workflow within the specified project.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the workflow that you want to enable.
Headers:
{
Authorization: BasicAuth
}
-
Perform a PUT request at the URL of the workflow.
URL Syntax:
<domain>/apis/v1/rest/projects/<project_name>/workflows/<workflow_name>/activateMethod: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"active": true
}
Disable a workflow
Allows you to deactivate a workflow within the specified project.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the workflow that you want to disable.
Headers:
{
Authorization: BasicAuth
}
-
Perform a PUT request at the URL of the workflow.
URL Syntax:
<domain>/apis/v1/rest/projects/<project_name>/workflows/<workflow_name>/deactivateMethod: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"active": false
}
-
If multiple workflows share the same name, the API will provide a list of all matching workflows, including their UIDs and names. You can then select the desired workflow UID from this list and use it in the URL path.
-
API calls are case-sensitive for project_name and workflow_name.
-
Only one state change (activation or deactivation) is allowed per request.
Get workflow details
Allows you to retrieve details of a workflow within a project.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the workflow whose details you want to retrieve.
Headers:
{
Authorization: BasicAuth
}
- m
-
Perform a GET request at the URL of the workflow.
URL Syntax:
<domain>/apis/v1/rest/projects/<project_name>/workflows/<workflow_name>Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
"name": "<workflow_name>",
"description": "<workflow_description>",
"refid": "<workflow_refid>",
"sid": "<workflow_sid>",
"uid": "<workflow_uid>",
"project_uid": "<workflow_project_uid>",
"tenant_uid": "<workflow_tenant_uid>"
}
-
If multiple workflows share the same name, the API will provide a list of all matching workflows, including their UIDs and names. You can then select the desired workflow UID from this list and use it in the URL path.
-
API calls are case-sensitive for project_name and workflow_name.
Flow service APIs
Export
-
To export Flow services from a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to export Flow services.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to export a Flow service.
Headers:
{
Authorization: BasicAuth
}
- Perform a POST request at the URL of the Flow service that you want to export.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/flows/:flow/export
Use this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/flows/:flow/export
In this URL request, /:project is the name of the project associated with the Flow service you want to export and /:flow is the name of the Flow service you want to export.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
download_link: <download_link>,
valid_till: <valid_till>
}
}
Import
-
To import Flow services into a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to import Flow services.
Steps:
- In a REST client platform, add the required details of the tenant where you want to import a Flow service.
Headers:
{
Authorization: BasicAuth
}
domain => https:/<tenant_name>.dev-int-aws-us.webmethods.io
Body:
{
recipe: <zip_file_binary>
}
- Perform a POST request at the URL of the Flow service.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/flow-import
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project/flow-import
In this URL request, /:project is the name of the project where you want to import the Flow service.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output : {
"name": "<flow_name>",
"assemblyType": "<assembly_type>",
"serviceFullName": "<service_FullName>",
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Delete
-
To delete Flow services within a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to delete Flow services.
Steps:
-
In a REST client platform, add the authentication details of the tenant associated with the Flow service you want to delete.
Headers: { Authorization: BasicAuth } -
Perform a DELETE request at the URL of the Flow service.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/:project/flows/:flow
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project/flows/:flow
In this URL request, /:project is the name of the project associated with the Flow service you want to delete and /:flow is the name of the Flow service you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
message: "Object deleted successfully."
}
}
Execute
Steps:
-
In a REST client platform, add the authentication details of the tenant associated with the Flow service you want to execute.
Headers: { Authorization: BasicAuth } -
Perform a POST request at the URL of the Flow service you want to execute.
URL Syntax:
<domain>/enterprise/v1/rest/projects/:project/flows/:flow/run
Use this instead,
URL Syntax:
<domain>/apis/v1/rest/projects/:project/flows/:flow/run
In this URL request, /:project is the name of the project associated with the Flow service you want to execute and /:flow is the name of the Flow service you want to execute.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
"contentStream": "<content_stream>",
"date": "<datetime>"
}
}
Project APIs
Create
-
To create a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but have a custom role, ensure that you have been granted write access specifically for the project.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to create a project.
- Optional: You can provide a UID for the project. If not provided, a unique identifier is automatically generated.
- Optional. Provide the externalGitDetails including gitAccountName, pathToRepository, and branch
to link the project to an external Git.Note:
- Project UID must be 24 characters long. It can start with any prefix, such as
pr. - Project UID must be unique.
- When same project UID is used in other environments, ensure that the project name is also the same.
- Project UID must be 24 characters long. It can start with any prefix, such as
Headers:
{
Authorization: BasicAuth
}
Body:
{
name: <project_name>
uid: <project_uid>,
externameGitDetails:
{
gitAccountName: <version_control_account_name>,
pathToRepository: <path_to_the_repository>,
branch: <branch_name>
}
}
- Perform a POST request at the URL of the project.
URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
output :
{
name: <project_name>,
uid: <project_uid>,
tenant_uid: <project_tenant_uid>,
workflow_count: <workflow_count>,
flowservice_count: <flowservice_count>
}
Update
-
To update an existing project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but have a custom role, ensure that you have been granted write access specifically for the project.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the project you want to update.
Headers:
{
Authorization: BasicAuth
}
Body:
{
name: <project_name>
}
- Perform a PUT request at the URL of the project.
URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project
In this URL request, /:project is the UID or name of the project you want to update.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
{
output :
{
name: <project_name>,
uid: <project_uid>,
tenant_uid: <project_tenant_uid>,
workflow_count: <workflow_count>,
flowservice_count: <flowservice_count>
}
}
}
Delete
-
To delete a project, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but have a custom role, ensure that you have been granted write access specifically for the project.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the project you want to delete.
Headers:
{
Authorization: BasicAuth
}
IMPORTANT The deletion is irreversible. Once deleted, the project and all its associated data, including workflows, flow services, and assets, are permanently removed.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"force_delete": true,
"confirm_project_name": "Delete <project_name>"
}
- Perform a DELETE request at the URL of the project.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/project
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project
In this URL request, /:project is the UID or name of the project you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
message: "Project deleted successfully."
}
}
Get a project
Allows you to retrieve a project.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the project you want to retrieve.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL Syntax (Deprecated):
<domain>/enterprise/v1/rest/projects/project
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project
In this URL request, /:project is the UID or name of the project you want to retrieve.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
name: <project_name>,
uid: <project_uid>,
tenant_uid: <project_tenant_uid>,
workflow_count: <workflow_count>,
flowservice_count: <flowservice_count>
}
}
Get a list of projects
Allows you to retrieve a list of accessible project.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve projects.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
[{
name: <project_name>,
uid: <project_uid>,
tenant_uid: <project_tenant_uid>,
workflow_count: <workflow_count>,
flowservice_count: <flowservice_count>
}]
}
Get a list of project assets
Allows you to retrieve a list of all valid assets for a particular project.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve valid assets created in a particular project.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL Syntax: <domain>/apis/v1/rest/projects/:project/assets
In this URL request, /:project is the name of the project from where you want to retrieve assets.
You can control and filter the output response by using a query parameter. To retrieve additional
details of assets created in a specific project, append the query parameter
?complete=true to the end of the URL request. This is an optional parameter and its
default value is false.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output : {
"workflows": [
"<workflow1_uid>",
"<workflow2_uid>",
],
"flows": [
"<flowservice1_name>",
"<flowservice2_name>",
],
"rest_api": [
"<rest_api1_name>",
"<rest_api2_name>",
],
"soap_api": [
"<soap_api1_name>",
"<soap_api2_name>",
],
"messaging": [
"<subscriber1_name>",
"<subscriber2_name>"
]
}
}
Publish
Allows you to publish a particular project along with its valid assets to the target tenant.
-
Single sign-on is not supported.
-
To publish a project to the tenant, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project you intend to publish.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to publish a project.
Headers: {
Authorization: BasicAuth
}
Body: {
"name":"<publish_name>",
"destination_tenant_detail":
{
"username":"<username>",
"password":"<password>",
"url":"<target_tenant_url>"
},
"workflows":
[
"<workflow1_uid>",
"<workflow2_uid>",
],
"flows":
[
"<flowservice1_name>",
"<flowservice2_name>",
],
"rest_api":
[
"<rest_api1_name>",
"<rest_api2_name>",
],
"soap_api":
[
"<soap_api1_name>",
"<soap_api2_name>",
],
"messaging":
[
"<subscriber1_name>",
"<subscriber2_name>"
]
}
- Perform a POST request at the URL of the project.
URL Syntax: <domain>/apis/v1/rest/projects/:project/publish
In this URL request, /:project is the name of the project you want to publish.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
"uid": "<deployment_uid>",
"name": "<deployment_name>",
"description": "<deployment_description>",
"version": "<deployment_version>",
"project_name": "<project_name>",
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>",
"to_tenant": "<target_tenant_name>"
"from_tenant": "<source_tenant_name>",
"contains_asset":
{
"sap_assets": <true || false>,
"messaging_assets": <true || false>
}
}
}
Deploy
Allows you to deploy a project published by another tenant to your tenant.
-
To deploy a project into the tenant, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project you intend to deploy.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to deploy a project.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"version":<version_number>*,
"new_project_name":<new_project_name>$
}
// A field with the asterisk (*) character in the body of the request is a required field.
// The dollar ($) character appended to the project name in the body of the request indicates that you are deploying a project for the first time and you already have a project with the same name in the target tenant.
- Perform a POST request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/projects/:project/deploy
In this URL request, /:project is the name of the project you want to deploy.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"status": "<deployment_status>",
"messaging_issues":
{
"issues": [<commaseparated_string_arr>],
"description": "<messaging_issue_desc>"
}
}
}
If the request is unsuccessful, the error details are included in the output under the message key.
{
"error":
{
"status": "<deployment_status>",
"message": "Failed to fetch the deployment data.",
"errorSource":
{
"errorCode": "<code>",
"requestID": "<request_id>"
}
}
}
Export
Allows you to export a project along with its valid assets into a zip file. The exported project is downloaded as a zip file to your local machine.
-
To export a project from the tenant, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project you intend to export.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to publish a project.
Case 1: Export project with specific assets only
This approach allows you to export a project while selecting and including only specific assets as per your requirements.
Headers: {
Authorization: BasicAuth
}
Body: {
workflows":
[
"<workflow1_uid>",
"<workflow2_uid>",
],
"flows":
[
"<flowservice1_name>",
"<flowservice2_name>",
],
"rest_api":
[
"<rest_api1_name>",
"<rest_api2_name>",
],
"soap_api":
[
"<soap_api1_name>",
"<soap_api2_name>",
],
"messaging":
[
"<subscriber1_name>",
"<subscriber2_name>"
]
}
Case 2: Export project with all assets
This approach enables you to export the entire project along with all assets.
Headers: {
Authorization: BasicAuth
}
Body: {
}
- Perform a POST request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/<project>/export
In this URL request, <project> is the name or UID of the project you want
to publish.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output : {
download_link: <download_link>,
valid_till: <valid_till>
}
}
Import
Allows you to import a project exported by another tenant to your tenant.
-
To import a project into the tenant, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project you intend to import.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to import a project.
Headers: {
Authorization: BasicAuth
}
Body:
{
"project": <zip_file_binary>*
"new_project_name":<new_project_name>$
}
// A field with the asterisk (*) character in the body of the request is a required field.
// The dollar ($) character appended to the project name in the body of the request indicates that you already have a project with the same name and different UID in the target tenant.
- Perform a POST request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/project-import
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output: {
"status": "<deployment_status>",
"messaging_issues":
{
"issues": [<commaseparated_string_arr>],
"description": "<issue_description>"
}
}
}
If the request is unsuccessful, the error details are included in the output under the message key.
{
"error":
{
"status": "<deployment_status>",
"message": "Failed to fetch the deployment data.",
"errorSource":
{
"errorCode": "<code>",
"requestID": "<request_id>"
}
}
}
-
Importing a project to the source tenant or environment where the original version of the project exists is not supported.
-
When you make the Project Import API call, a deployment record is automatically created for the imported project. This deployment contains a unique version number, which is used to deploy the project with that specific version. In the Project Import API call, the deployment of the project happens automatically with the latest deployment version mentioned in the deployment record.
-
If you are importing the project into a tenant for the first time, the version=false parameter will be ignored. In this case, a deployment entry will be created.
Create a project parameter
Allows you to create a new project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to create a project parameter.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"key": "<param_name>*^",
"value": "<param_value>*",
"required": <true || false>*,
"isPassword": <true || false>*
}
//A field with the asterisk (*) character in the body of the request is a required field.
//A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
- Perform a POST request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/projects/:project/params
In this URL request, /:project is the name of the project where you want to create a parameter.
Method: POST
Output:
If the request is successful, you will receive the HTTP 201 OK success status response code.
Case 1: If the project parameter is password-protected and you have set the value of the "isPassword" field to "true", the value field will not be displayed in the output. The output is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"required": <true || false>,
"isPassword": <true>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Case 2: If the project parameter is not password-protected and you have set the value of the "isPassword" field to "false", the output you receive is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"value": "<param_value>",
"required": <true || false>,
"isPassword": <false>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Update a project parameter
Allows you to update an existing project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to update a project parameter.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"key": "<param_name>*^",
"value": "<param_value>*",
"required": <true || false>*,
"isPassword": <true || false>*
}
// A field with the asterisk (*) character in the body of the request is a required field.
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
- Perform a PUT request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/:project/params/param_uid
In this URL request, /:project is the name of the project where you want to update a parameter and param_uid is the ID of the parameter you want to update.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
Case 1: If the project parameter is password-protected and you have set the value of the "isPassword" field to "true", the value field will not be displayed in the output. The output is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"required": <true || false>,
"isPassword": <true>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Case 2: If the project parameter is not password-protected and you have set the value of the "isPassword" field to "false", the output you receive is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"value": "<param_value>",
"required": <true || false>,
"isPassword": <false>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Case 3: If you want to update an existing project parameter that is not password-protected to secure its value and you have set the value of the "isPassword" field to "true" in the input, the output you receive is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"required": <true || false>,
"isPassword": <true>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Case 4: If you want to update an existing password-protected project parameter to no longer be protected and you have set the value of the "isPassword" field to "false" in the input, the output you receive is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"required": <true || false>,
"isPassword": <false>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Get a project parameter
Allows you to retrieve a project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve the details of a project parameter.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/:project/params/param_uid
In this URL request, /:project is the name of the project associated with the parameter and the details you want to retrieve, and param_uid is the ID of the parameter and the details you want to retrieve.
Method: GET
Output:
Case 1: If the project parameter you want to retrieve is password-protected, the value field will not be displayed in the output. The output is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"required": <true || false>,
"isPassword": <true>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
Case 2: If the project parameter you want to retrieve is not password-protected, the output you receive is as follows:
{
output:
{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"value": "<param_value>",
"required": <true || false>,
"isPassword": <false>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}
}
List project parameters
Allows you to retrieve a list of all the project parameters created in a particular project.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to list project parameters.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/projects/:project/params
In this URL request, /:project is the name of the project from where you want to fetch the list of all the parameters.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
Case 1: When project parameters are password-protected, their corresponding values will not be displayed in the output array list. The output you receive is as follows:
{
output:
[{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"required": <true || false>,
"isPassword": <true>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}]
}
Case 2: When project parameters are not password-protected, their corresponding values will be shown in the output array list. The output you receive is as follows:
{
output:
[{
"uid": "<param_uid>",
"param":
{
"key": "<param_name>",
"value": "<param_value>",
"required": <true || false>,
"isPassword": <false>
},
"project_uid": "<project_uid>",
"tenant_uid": "<tenant_uid>"
}]
}
Delete a project parameter
Allows you to delete a project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete a project parameter.
Headers:
{
Authorization: BasicAuth
}
- Perform a DELETE request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/:project/params/param_uid
In this URL request, /:project is the name of the project from where you want to delete a project parameter and param_uid is the ID of the parameter you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
Case 1: If the parameter you want to delete is not being used in any workflow in the specified project, you will get the following output:
{
output:
{
"message": "Param(s) deleted successfully."
}
}
Case 2: If the parameter you want to delete is being used in any workflow in the specified project, you will get the following output:
{
"output":
{
"message": "This param is used in the below workflow(s). Please remove it from the workflow(s) before deleting this project param.",
"workflows":
[
{
"uid": "<workflow_uid>",
"name": "<workflow_name>",
"activities":
[
"<workflow_activity_id>"
],
"flow_version":
[
"<workflow_version>"
]
}
]
}
}
Role Management APIs
Create
Allows you (the admin) to create a new role for a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to create a new role.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"name": "<role_name>*^",
"description": "<role_description>",
"projects":
[{
"<project_name>": ["r", "w", "e"]
}]
}
// A field with the asterisk (*) character in the body of the request is a required field.
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
- Perform a POST request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/roles
Method: POST
Output:
If the request is successful, you will receive the HTTP 201 OK success status response code.
{
output :
{
"name": <role_name>,
"uid": <role_uid>,
"tenant_uid": <project_tenant_uid>,
"permissions":
[
{
"project_uid": "<project_uid>",
"access_list":
{
"read": true,
"write": true,
"execute":true
}
}
],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}
}
Update
Allows you (the admin) to update an existing role.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to update an existing role.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"name": "<role_name>*^",
"description": "<role_description>",
"projects":
[{
"<project_name>": ["r", "w", "e"]
}]
}
// A field with the asterisk (*) character in the body of the request is a required field.
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
- Perform a PUT request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/roles/:role_uid
In this URL request, /:role_uid is the ID of the role you want to update.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
"name": <role_name>,
"uid": <role_uid>,
"tenant_uid": <project_tenant_uid>,
"permissions":
[
{
"project_uid": "<project_uid>",
"access_list":
{
"read": true,
"write": true,
"execute":true
}
}
],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}
}
Delete
Allows you (the admin) to delete a particular role.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete a role.
Headers:
{
Authorization: BasicAuth
}
- Perform a DELETE request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/roles/:role_uid
In this URL request, /:role_uid is the ID of the role you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
message: "Tenant role deleted."
}
}
Get role details
Allows you to retrieve details of a particular role.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve details of a specific role.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/roles/:role_uid
In this URL request, /:role_uid is the ID of the role, the details of which you want to retrieve.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
"name": <role_name>,
"uid": <role_uid>,
"tenant_uid": <project_tenant_uid>,
"permissions":
[
{
"project_uid": "<project_uid>",
"access_list":
{
"read": true,
"write": true,
"execute":true
}
}
],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}
}
You can alternatively add the query parameter ?edit=true to the URL request
<domain>/apis/v1/rest/roles/:role to retrieve brief details of a particular
role. On appending the specified query parameter to the URL request, you will receive the output in
the following format:
Output:
{
output :
{
"name": "<role_name>",
"description": "<role_description>",
"projects":
[{
"<project_name>": ["r", "w", "e"]
}]
}
}
Get a list of roles
Allows you to retrieve a collection of roles associated with a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve a list of roles.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/roles
You can control and filter the output response by using the URL query parameters. In this URL request,
- If you want to skip a certain number of pages at the beginning of the collection in the
response, append the query parameter
?skip=nto the URL request, where n is the number of pages you want to skip. The default value for n is 0. - If you want to define the maximum page size starting from the n-th one, append
?limit=mto the URL request, where m is the total number of records you want to include in the response. The default value for m is 1000.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"count": <tenant_role_count>,
"objects":
[{
"name": <role_name>,
"uid": <role_uid>,
"tenant_uid": <project_tenant_uid>,
"permissions":
[
{
"project_uid": "<project_uid>",
"access_list":
{
"read": true,
"write": true,
"execute":true
}
}
],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}]
}
}
User Management APIs
Get a list of users
Allows you to retrieve a list of users associated with a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant to retrieve a list of tenant users.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/users
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output :
{
"count": <tenant_user_count>,
"objects":
[{
"uid": "<user_uid>",
"email": "<user_email>",
"first_name": "<user_first_name>",
"last_name": "<user_last_name>",
"roles":
[
<role_data>
],
"wmic_username": "<user_uid>",
"is_admin": true || false,
"is_developer": true || false,
"is_owner": true || false
}]
}
}
Assign roles to a user
Allows you (the admin) to assign roles to a tenant user.
Steps:
- In a REST client platform, add the authentication details of the tenant to assign roles to a user.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"username":<tenant_username>
"roles": ['role1','role2']
}
- Perform a PUT request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/assign-roles
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"uid": "<user_uid>",
"email": "<user_email>",
"first_name": "<user_first_name>",
"last_name": "<user_last_name>",
"roles":
[
<role_data>
],
"wmic_username": "<user_uid>",
"is_admin": true || false,
"is_developer": true || false,
"is_owner": true || false
}
}
Themes APIs
Create
Allows you (the admin) to create a new theme for a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to create a new theme.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"name": "<theme_name>*^",
"description": "<theme_description>",
"theme":<theme_values_obj>#,
"footerContent":"<theme_footerContent>",
"aboutPageContent":"<theme_aboutPageContent>"
}
// A field with the asterisk (*) character in the body of the request is a required field.
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
// The hash (#) character in the body of the request indicates that the field contains the object of the applied theme in the specified tenant.
// You could get the theme object by performing a GET method request at the URL "<domain>/apis/v1/rest/themes/defaultvalues".
- Perform a POST request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes
Method: POST
Output:
If the request is successful, you will receive the HTTP 201 OK success status response code.
{
output:
{
"name": "<theme_name>",
"uid": "<theme_uid>",
"settings":
{
"description": "<theme_name>",
"theme":<theme_values_obj>,
"footerContent": "<theme_footerContent>",
"aboutPageContent": "<theme_aboutPageContent>"
},
"active": <true || false>,
}
}
Update
Allows you (the admin) to update an existing theme in a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to update an existing theme.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"name": "<theme_name>*^",
"description": "<theme_description>",
"footerContent":"<theme_footerContent>",
"aboutPageContent":"<theme_aboutPageContent>"
}
// A field with the asterisk (*) character in the body of the request is a required field.
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
- Perform a PUT request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes/:theme_uid
In this URL request, /:theme_uid is the ID of the theme you want to update.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"name": "<theme_name>",
"uid": "<theme_uid>",
"settings":
{
"description": "<theme_name>",
"theme":<theme_values_obj>,
"footerContent": "<theme_footerContent>",
"aboutPageContent": "<theme_aboutPageContent>"
},
active": <true || false>,
}
}
Delete
Allows you (the admin) to delete a theme for a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete a theme.
Headers:
{
Authorization: BasicAuth
}
- Perform a DELETE request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes/:theme_uid
In this URL request, /:theme_uid is the ID of the theme you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"message": "Object deleted successfully."
}
}
List themes
Allows you to retrieve details of all themes for a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve details of all themes.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
[{
"name": "<theme_name>",
"uid": "<theme_uid>",
"settings":
{
"description": "<theme_name>",
"theme":<theme_values_obj>,
"footerContent": "<theme_footerContent>",
"aboutPageContent": "<theme_aboutPageContent>"
},
"active": <true || false>,
}]
}
Activate a theme
Allows you (the admin) to activate a theme for a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to activate a theme.
Headers:
{
Authorization: BasicAuth
}
- Perform a PUT request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes/:theme_uid/activate
In this URL request, /:theme_uid is the ID of the theme you want to activate.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"name": "<theme_name>",
"uid": "<theme_uid>",
"settings":
{
"description": "<theme_name>",
"theme":<theme_values_obj>,
"footerContent": "<theme_footerContent>",
"aboutPageContent": "<theme_aboutPageContent>"
},
"active": true,
}
}
Deactivate a theme
Allows you (the admin) to deactivate the specified theme from a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant to deactivate the applied theme.
Headers:
{
Authorization: BasicAuth
}
- Perform a PUT request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes/:theme_uid/deactivate
In this URL request, /:theme_uid is the ID of the theme you want to deactivate.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"name": "<theme_name>",
"uid": "<theme_uid>",
"active": false,
}
}
Retrieve a theme
Allows you to retrieve details of a specific theme from a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve a specific theme.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes/:theme_uid
In this URL request, /:theme_uid is the ID of the theme, the details you want to retrieve.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"name": "<theme_name>",
"uid": "<theme_uid>",
"active": <true || false>,
}
}
Retrieve default theme values
Allows you to retrieve default values for the current theme.
Steps:
- In a REST client platform, add the authentication details of the tenant to retrieve default values of the current theme.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/themes/defaultvalues
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"primaryColor": "<primaryColor>",
"primaryHeaderTextColor": "<primaryHeaderTextColor>",
"primaryTextColor": "<primaryTextColor>",
"linkColor": "<linkColor>",
"primaryHoverColor": "<primaryHoverColor>",
"backgroundImage": "<backgroundImage>",
"logoFileName": "<logoFileName>",
"primaryBtnBgColor": "<primaryBtnBgColor>",
"primaryBtnColor": "<primaryBtnColor>",
"primaryBtnBrbColor": "<primaryBtnBrbColor>",
"secondaryBtnBgColor": "<secondaryBtnBgColor>",
"secondaryBtnColor": "<secondaryBtnColor>",
"secondaryBtnBrbColor": "<secondaryBtnBrbColor>",
"favIconImage": "<favIconImage>",
"favIconFileName": "<favIconFileName>",
"footerContent": "",
"aboutPageContent": ""
}
}
Webhook APIs
Get webhook-enabled workflows
Allows you to retrieve details of workflows that are webhook-enabled.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve details of webhook-enabled workflows.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/:project/webhook-flows
In this URL request, /:project is the name of the project from where you want to retrieve details of webhook-enabled workflows.
You can control and filter the output response by using the URL query parameters. In this URL request:
- If you want to skip a certain number of pages at the beginning of the collection in the
response, append the query parameter
?skip=nto the URL request, where n is the number of pages you want to skip. The default value for n is 0. - If you want to define the maximum page size starting from the n-th one, append
?limit=mto the URL request, where m is the total number of records you want to include in the response. The default value for m is 1000.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"objects":
[
{
"uid": "<workflow_uid>",
"sid": <workflow_sid>
"name": "<workflow_name>",
"tenant_uid": "<tenant_uid>",
"project_uid": "<project_uid>",
"webhook_settings": <workflow_webhook_settings>
}
],
"count": <webhook_workflow_count>
}
}
Regenerate webhook URL
Allows you to regenerate webhook URL for an existing workflow in a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant to regenerate webhook URL.
Headers:
{
Authorization: BasicAuth
}
- Perform a PUT request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/:project/webhook-flows/:workflow_uid/reset
In this URL request, /:project is the name of the project associated with the workflow, the webhook URL you want to reset, and /:workflow_uid is the ID of the workflow, the webhook URL you want to reset.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"uid": "<workflow_uid>",
"name": "<workflow_name>",
"tenant_uid": "<tenant_uid>",
"project_uid": "<project_uid>",
"sid": <workflow_sid>,
"webhook_url": <webhook_url>
}
}
Set webhook authentication
Allows you to add an authentication mechanism to a webhook in a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant to apply an authentication to a webhook.
Headers:
{
Authorization: BasicAuth
}
Body:
{
"auth*":"none" OR "login" OR "token"
}
// The default value for the auth field is "login".
- Perform a POST request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/:project/webhook-flows/:workflow_uid/auth
In this URL request, /:project is the name of the project associated with the workflow where you want to apply an authentication to a webhook and /:workflow_uid is the ID of the workflow where you want to apply an authentication to a webhook.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"uid": "<workflow_uid>",
"name": "<workflow_name>",
"tenant_uid": "<tenant_uid>",
"project_uid": "<project_uid>",
"sid": <workflow_sid>,
"webhook_settings": <webhook_settings>
}
}
Trigger APIs
Get trigger-enabled workflow
Allows you to retrieve the details of workflows that are trigger-enabled.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to get the details of the trigger-enabled workflow.
Headers:
{
Authorization: BasicAuth
}
-
Perform a GET request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/:project/trigger-flows QueryParams: skip=number (default=0), limit=number (default=1000)In this URL request, :project is the name of the project or the UID of the project from where you want to get the details of the trigger-enabled workflow.
Method: GET
Output:
If the request is successful, you will receive the HTTP 201 OK success status response code.
{
output: {
"objects": [
{
"uid": "<workflow_uid>",
"sid": <workflow_sid>
"name": "<workflow_name>",
"tenant_uid": "<tenant_uid>",
"project_uid": "<project_uid>",
"trigger": {
"provider": "<trigger_provider>",
"label": "<trigger_label>",
"title": "<trigger_title>",
"uid": "<trigger_uid>"
}
}
],
"count": <trigger_workflow_count>
}
}
Delete trigger
Allows the user to delete the trigger.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete the trigger.
Headers:
{
Authorization: BasicAuth
}
- Perform a DELETE request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/:project/triggers/:trigger_uid
In this URL request, :project is the name of the project or the project UID from where you want to delete a trigger and :trigger_uid is the UID of the trigger you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 201 OK success status response code.
{
output: {
"message": "Trigger deleted successfully"
}
}
Example:
{
"output": {
"message": "This trigger is used in below workflows. Please remove it from these workflows before deleting.",
"workflows": [
{
"uid": "<Workflow_UId>",
"name": "<Workflow_name>",
"activities": [
"start"
],
"flow_version": [
<Workflow_Versions>
]
}
]
}
}
Recipes APIs
Create
Allows you to create a new recipe in a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to create a recipe.
Headers:
{
Authorization: BasicAuth
}
Body:
{
recipe: <zip_file_binary>
}
- Perform a POST request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/recipes
Method: POST
Output:
If the request is successful, you will receive the HTTP 201 OK success status response code.
{
output:
{
"uid": <recipe_uid>
"name": "<recipe_name>",
"description": "<description>"
}
}
Get a recipe
Allows you to retrieve details of a particular recipe.
Steps:
- In a REST client platform, add the authentication details of the tenant associated with the recipe, the details you want to retrieve.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/recipes/:uid
In this URL request, :uid is the ID of the recipe you want to retrieve.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"uid": <recipe_uid>
"name": "<recipe_name>",
"description": "<description>",
"download": "<recipe_download_count>"
}
}
Get all recipes
Allows you to retrieve all recipes for a particular tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve recipes.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/recipes
You can control and filter the output response by using the URL query parameters. In this URL request:
- If you want to skip a certain number of pages at the beginning of the collection in the
response, append the query parameter
?skip=nto the URL request, where n is the number of pages you want to skip. The default value for n is 0. - If you want to define the maximum page size starting from the n-th one, append
?limit=mto the URL request, where m is the total number of records you want to include in the response. The default value for m is 1000. - If you want to retrieve details of all unpublished recipes from a particular tenant, append
?my_recipe=trueto the URL request.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"count":<total_recipe_count>,
"objects":
[
{
"uid": <recipe_uid>
"name": "<recipe_name>",
"description": "<description>",
"download": "<recipe_download_count>"
}
]
}
}
Delete
Allows you to delete a recipe from your tenant.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete a recipe.
Headers:
{
Authorization: BasicAuth
}
- Perform a DELETE request at the URL of the project.
URL syntax: <domain>/apis/v1/rest/recipes/:uid
In this URL request, /:uid is the ID of the recipe you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
output:
{
"message": "Object deleted successfully."
}
}
Account APIs
Get user accounts
Allows you to retrieve all the accounts the user has created under a particular project.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to get the details of the user accounts.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL Syntax: <domain>/apis/v1/rest/projects/:project/accounts
In this URL request, :project represents the name or the UID of the project from where you want to get the details of the user accounts.
Method: GET
Output:
If the request is successful, you will receive the following response code.
output:
{
"output": {
"configs": {
"provider_name": [
{
"activity_id": "<activity_id>",
"service": "<service>",
"provider": "<provider>",
"action": "<action>",
"version": "<version>",
"auth": "<auth_UID>",
"type": "<account_type>",
"name": "<account_name>",
"flow_uid": "<workflow_uid>",
"flow_version": <workflow_version>,
"uid": "<config_UID>"
},
]
}
"accounts": {
"connections":{
"provider_name": [
{
"icon": "<icon>",
"label": "<label>",
"title": "<title>",
"uid": "<uid>"
}
]
},
"auths":{
"provider_name": [
{
"icon": "<icon>",
"label": "<label>",
"title": "<title>",
"uid": "<uid>"
}
]
}
}
}
}
}
Delete account
Allows you to delete the account.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete the account.
Headers:
{
Authorization: BasicAuth
}
- Perform a DELETE request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/:project/accounts/:account_uid
In this URL request, :project is the name of the project or the project UID from where you want to delete an account and :account_uid is the UID of the account you want to delete.
Method: DELETE
Output:
If the request is successful, you will receive the following response code.
{
output: {
"message": "Account deleted successfully."
}
}
Update Configuration
Allows you to update the account configuration or switch to another account created for the same provider.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to update the account.
Headers:
{
Authorization: BasicAuth
}
Body:
{
account:<auth_uid || connection_uid>
}
- Perform an UPDATE request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/:project/configs/:config_uid
In this URL request, :project is the name of the project or the project UID from where you want to update an account and :config_uid is the UID of the account you want to update.
Method: PUT
Output:
If the request is successful, you will receive the following response code.
{
output: {
"type": "<account_type>",
"activity_id": "<activity_id>",
"action": "<action>",
"service": "<service>",
"provider": "<provider>",
"version": "<version>",
"name": "<account_name>",
"auth": "<account_UID>",
"flow_version": <flow_version>,
"flow_uid": "<flow_uid>",
"tenant_uid": "<tenant_uid>",
"project_uid": "<project_uid>",
"uid": "<config_UID>"
}
}
Metrics APIs
Retrieve execution summaries and logs for detailed bill tracking.
Execution summary
This allows you to retrieve the execution summary based on the provided search parameters.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve the execution summary.
Headers:
{
Authorization: Basic Auth
}
Body:
{
//Example 1: Without using skip and limit parameters
POST {{hostName}}/apis/v1/rest/monitor/summary
{
"start_date": "<execution_start_timestamp>",
"end_date": "<execution_stop_timestamp>",
"projects": <list of project names/uids>,
"workflows": <list of workflow uids>,
"execution_status": <list of execution status>, // should be one of ['running', 'success', 'failed', 'timeout', 'pending'/'queued', 'hold', 'stopped']
"context_id": "<context_id>" // must be a string
}
//Example 2: Using skip and limit parameters
POST {{hostName}}/apis/v1/rest/monitor/summary?skip=3800&limit=10
{
"start_date": "2023-01-15T08:00:00.000Z",
"end_date": "2023-01-20T08:00:00.000Z",
"projects": [“fl9717db0ad1b50e2f585b49”],
"workflows":[“ fl9579f2ec6f01678d0d1660”, “fl00a966d22c7f5be4ecf0e4”],
"execution_status": [“success”, “failed”]
"context_id": "abc123"
}
}
- Perform a POST request at the URL of the project.
URL Syntax: <domain>/apis/v1/rest/monitor/summary
Method: POST
Output:
If the request is successful, you will receive the following response code.
{
//Example 1: Without using skip and limit parameters
"output": {
"summary": {
"success": <success_log_count>,
"running": <running_log_count>,
"stopped": <stopped_log_count>,
"failed": <failed_log_count>,
"timeout": <timeout_log_count>,
"queued": <queued_log_count>,
"hold": <hold_log_count>,
"total": <total_count_of_all_statuses>
},
"graph": {
"count": <total_count_of_all_fetched_logs>,
"logs": [
{
"uid": <bill_uid>,
"execution_status": <execution_status>,
"flow_name": "<flow_name>",
"flow_uid": <flow_uid>,
"project_uid": "<project_uid>",
"restarted": <is_restarted>,
"requested_at": <requested_at>,
"project_name": <project_name>,
"execution_source": <exeuction_source>,
"restarted_from": "<bill_uid>",
"restart_history": [],
"context_id": "<context_id>"
},
{
"uid": <bill_uid>,
"execution_status": <execution_status>,
"flow_name": "<flow_name>",
"flow_uid": <flow_uid>,
"project_uid": "<project_uid>",
"restarted": <is_restarted>,
"requested_at": <requested_at>,
"project_name": <project_name>,
"execution_source": <exeuction_source>,
"restarted_from": "<bill_uid>",
"restart_history": [],
"context_id": "<context_id>"
},
]
}
}
//Example 2: Using skip and limit parameters
"output": {
"summary": {
"success": 2357,
"failed": 1446,
"total": 3803
},
"graph": {
"count": 3,
"logs": [
{
"uid": "vbid90cbea802097b667ee45da9729fe5bece65242aa3d86",
"execution_status": "failed",
"flow_name": "AutomatedPurchaseOrdertracking",
"flow_uid": "fl9579f2ec6f01678d0d1660",
"project_uid": "fl9717db0ad1b50e2f585b49",
"restarted": false,
"requested_at": "01/18/2023 11:42 AM UTC",
"project_name": "Default",
"execution_source": "manual",
"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
"restart_history": [],
"context_id": "abc123>"
},
{
"uid": "vbid15efb1f6c56e7ce45f191364fbe610ee6412f49673d6",
"execution_status": "failed",
"flow_name": "AutomatedPurchaseOrdertracking",
"flow_uid": "fl9579f2ec6f01678d0d1660",
"project_uid": "fl9717db0ad1b50e2f585b49",
"restarted": false,
"requested_at": "01/18/2023 11:37 AM UTC",
"project_name": "Default",
"execution_source": "manual",
"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
"restart_history": [],
"context_id": "abc123"
},
{
"uid": "vbid0fe28848137e3a20ec834ccbd2ce434509d837928e20",
"execution_status": "failed",
"flow_name": "Integration1",
"flow_uid": "fl00a966d22c7f5be4ecf0e4",
"project_uid": "fl9717db0ad1b50e2f585b49",
"restarted": false,
"requested_at": "01/18/2023 09:26 AM UTC",
"project_name": "Default",
"execution_source": "manual",
"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
"restart_history": [],
"context_id": "abc123"
}
]
}
}
}
Execution log
This allows you to retrieve the execution logs of a particular bill ID.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to retrieve the execution log.
Headers:
{
Authorization: BasicAuth
}
- Perform a GET request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/monitor/workflow-execution/logs/<bill_uid>
Method: GET
Output:
If the request is successful, you will receive the following response code.
{
"output": {
"uid": "vbid3c0d929d3344af91c238a9ae0db97111eff7f96ef68b",
"duration": "0.051 sec",
"executed_by": "John Doe",
"execution_status": "success",
"flow_name": "Flow1",
"manual_run": false,
"project_uid": "fl3c85287675f092ff7cbe70",
"trigger": "event",
"start_time": "02/17/2023 02:02 AM UTC",
"stop_time": "02/17/2023 02:02 AM UTC",
"requested_at": "02/17/2023 02:02 AM UTC",
"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
"restart_history": [],
"queue": 256,
"project_name": "Default"
"context_id": "abc123"
}
}
Reference Data APIs
Get Data List
Allows you to retrieve the reference data list.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to get the reference data list.
Headers:
{
Authorization: Basic Auth
}
- Perform a GET request at the URL of the project.
URL Syntax:
<domain>/apis/v1/rest/projects/<project_name>/referencedata
In this URL request, <project_name> is the name or UID of the project from
where you want to get the data list.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status.
{
"output": [
{
"name": "<name>",
"description": "<description>",
"columnDelimiter": "<columnDelimiter>",
"releaseCharacter": "<releaseCharacter>",
"columnNames": [<columnNames>],
"dataRecords": [<dataRecords>],
"revisionData": [<revisionData>],
"encodingType": "<encodingType>",
"version": "<version>"
},
.
.
]
}
Get Data Detail
Allows you to retrieve the details of the reference data.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to get the details of the reference data.
Headers:
{
Authorization: Basic Auth
}
- Perform a GET request at the URL of the project.
URL syntax:
<domain>apis/v1/rest/projects/<project_name>/referencedata/<referencedata_name>
In this URL request, <project_name> is the name or UID of the project from
where you want to get a reference data and <referencedata_name> is the name
of the reference data you want to get the details of.
Method: GET
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
Output when the value of Accept is "application/json":
{
"output": {
"name": "<name>",
"description": "<description>",
"columnDelimiter": "<columnDelimiter>",
"releaseCharacter": "<releaseCharacter>",
"columnNames": [<columnNames>],
"dataRecords": [<dataRecords>],
"revisionData": "<revisionData>",
"encodingType": "<encodingType>",
"version": "<version>"
}
}
Output when the value of Accept is "plain/text":
Raw CSV of reference data.
For example,
data11,data12,data13
data21,data22,data23
data31,data32,data33
Add
Allows you to add the reference data.
-
To add the reference data, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to create the reference data.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to add the reference data.
Headers:
{
Authorization: Basic Auth
}
Body:
{
"name": "<name>"*,
"description": "<description>",
"file": "<file>*", //Select the file stored on your local machine.
"file_encoding": "<file_encoding>*", //Only following file encoding formats are suppported: IBM437, windows-1252, IBM00858, IBM775, IBM850, IBM852, IBM855, IBM857, IBM862, IBM866, ISO-8859-1, ISO-8859-2, ISO-8859-4, ISO-8859-5, ISO-8859-7, ISO-8859-9, ISO-8859-13, ISO-8859-15, KOI8-R, KOI8-U, US-ASCII, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, x-UTF-32BE-BOM, x-UTF-32LE-BOM, windows-1250, windows-1251, windows-1253, windows-1254, windows-1257, x-IBM737, x-IBM874, and x-UTF-16LE-BOM
"field_separator": "<field_separator>*",
"text_qualifier": <text_qualifier> *
}
The fields marked as * are required.
- Perform a POST request at the URL of the project.
URL syntax:
<domain>apis/v1/rest/projects/<project_name>/referencedata
In this URL request, <project_name> is the name or UID of the project
where you want to add the new reference data.
Method: POST
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
"output": {
"response": "<create_success_message>"
}
}
Update
Allows you to update the reference data.
-
To update the reference data, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to update the reference data.
Steps:
- In a REST client platform, add the authentication details of the tenant where you want to update the reference data.
Headers:
{
Authorization: Basic Auth
}
Body:
{
"name": "<name>*",
"description": "<description>",
"file": "<file>",
"file_encoding": "<file_encoding>*", //Only following file encoding formats are suppported: IBM437, windows-1252, IBM00858, IBM775, IBM850, IBM852, IBM855, IBM857, IBM862, IBM866, ISO-8859-1, ISO-8859-2, ISO-8859-4, ISO-8859-5, ISO-8859-7, ISO-8859-9, ISO-8859-13, ISO-8859-15, KOI8-R, KOI8-U, US-ASCII, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, x-UTF-32BE-BOM, x-UTF-32LE-BOM, windows-1250, windows-1251, windows-1253, windows-1254, windows-1257, x-IBM737, x-IBM874, and x-UTF-16LE-BOM
"field_separator": "<field_separator>*",
"text_qualifier": <text_qualifier> *
}
The fields marked as * are required.
- Perform a PUT request at the URL of the project.
URL syntax:
<domain>apis/v1/rest/projects/<project_name>/referencedata/<referencedata_name>
In this URL request, <project_name> is the name or UID of the project in
which you want to update a reference data and <referencedata_name> is the
name of the reference data you want to update.
Method: PUT
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
"output": {
"response": "<update_success_message>"
}
}
Delete
Allows you to delete the reference data.
-
To delete the reference data, admin access is required. Only admins have the necessary permissions for this activity.
-
If you do not have admin access but hold a custom role, ensure that you have been granted write access specifically for the project where you intend to delete the reference data.
Steps:
- In a REST client platform, add the authentication details of the tenant from where you want to delete the reference data.
Headers:
{
Authorization: Basic Auth
}
- Perform a DELETE request at the URL of the project.
URL syntax:
<domain>/apis/v1/rest/projects/<project_name>/referencedata/<referencedata_name>
In this URL request, <project_name> is the name or UID of the project from
where you want to delete the reference data and <referencedata_name> is the
name of the reference data you want to delete.
Note: If the reference data you want to delete is used in a Flow service, it cannot be deleted directly. You must first remove the reference data from the relevant Flow service and then delete the reference data.
Method: DELETE
Output:
If the request is successful, you will receive the HTTP 200 OK success status response code.
{
"output":
{
"status": true,
"message": "ReferenceData ref1 deleted successfully."
}
}
Project variable APIs
Create project variables
Allows you to create project variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{project}/configurations/variables?type=projectVariable
Parameters
<project_name>- Name of the project.type- Type projectVariable if you want to create a project variable. Otherwise, type projectParameter if you want to create a project parameter.
Method: POST
Request body
{
"key": "testVar1",
"value": "10",
"isPassword": false,
"isGlobal": false
}
Output:
{
"message": "Project variable created successfully."
}
Update project variables
Allows you to update project variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{projectName}/configurations/variables/{variableName}?type=projectVariable
Parameters
<project_name>- Name of the project.<variableName>- Name of the variable.type- Type projectVariable if you want to create a project variable. Otherwise, type projectParameter if you want to create a project parameter.
Method: PUT
Request body
{
"key": "testVar1",
"value": "100",
"isPassword": false,
"isGlobal": false
}
Output:
{
"message": "Project variable updated successfully."
}
Delete project variables
Allows you to delete project variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{projectName}/configurations/variables/{variableName}?type=projectVariable
Parameters
<project_name>- Name of the project.<variableName>- Name of the variable.type- Type projectVariable if you want to create a project variable. Otherwise, type projectParameter if you want to create a project parameter.
Method: PUT
Request body
None
Output:
{
"message": "Project variable deleted successfully."
}Get project variables
Allows you to retrieve the project variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{projectName}/configurations/variables/{variableName}?type=projectVariable
Parameters
<project_name>- Name of the project.<variableName>- Name of the variable.type- Type projectVariable if you want to create a project variable. Otherwise, projectParameter if you want to create a project parameter.
Method: GET
Request body
None
Output:
{
"key": "testVar1",
"value": "100",
"isPassword": false,
"isGlobal": false
}
List project variables
Allows you to retrieve all project variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{projectName}/configurations/variables?type=projectVariable
Parameters
<project_name>- Name of the project.type- Type projectVariable if you want to create a project variable. Otherwise, type projectParameter if you want to create a project parameter.
Method: GET
Request body
None
Output:
[
{
"key": "testVar1",
"value": "100",
"packageName": "Test3Project",
"type": "projectVariable",
"isPassword": false,
"isGlobal": false
},
{
"key": "testPass",
"value": null,
"packageName": "Test3Project",
"type": "projectVariable",
"isPassword": true,
"isGlobal": false
}
]
Sync project variables
Allows you to synchronize the project variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectName}/configurations/variables/sync?keys={}&type=projectVariable
Parameters
<project_name>- Name of the project.<keys>- List of keys in the project where it needs to be synced from vault. If the keys list is empty, then sync all the variables in the project with vault.type- Type projectVariable if you want to create a project variable. Otherwise, type projectParameter if you want to create a project parameter.
Method: POST
Request body
None
- If successful, the response code is as follows:
{ "output": { "code": 0, } } - If an errors occurs, the response is as follows:
{ "output": { "code": -1, "description": "The list of variables that could not be synced with project test4.", "details": { "projectId": "fl8a553013f857e3c41a5fb7", "projectName": "test4", "VariablesFailedToSync": [ "rand", "rand2" ] } } }
Project parameter APIs
Create project parameters
Creates a project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{project}/configurations/variables?type=projectParameter
Parameters
None
Method: POST
Request body
{
"key": "<parameter_key>",
"value": "<parameter_value>",
"isPassword": <type_of_parameter>,
"isRequired": <can_value_of_parameter_be_empty>,
}
Output:
If the request is successful, the HTTP 201 Created status response code is displayed.
{
"message": "Project parameter created successfully."
}
Update project parameters
Updates a project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{project}/configurations/variables/{variable_name}?type=projectParameter
Parameters
{variable_name}- Name of the variable.
Method: PUT
Request body
{
"key": "<parameter_key>",
"value": "<value_to_be_updated>",
"isPassword": <type_of_parameter>,
"isRequired": <can_value_of_parameter_be_empty>,
}
Output:
If the request is successful, the HTTP 201 Created status response code is displayed.
{
"message": "Project parameter updated successfully."
}
Delete project parameters
Deletes a project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{project}/configurations/variables/{variable_name}?type=projectParameter
Parameters
{variable_name}- Name of the variable.
Method: DELETE
Request body
None
Output:
None
List project parameters
Retrieves the list of all project parameters.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{project}/configurations/variables?type=projectParameter
Parameters
{variable_name}- Name of the variable.
Method: GET
Request body
None
Output:
If the request is successful, the HTTP 201 Created status response code is displayed.
[
{
"key": "<parameter_key>",
"value": "parameter_key",
"isPassword": <type_of_parameter>,
"isRequired": <can_value_of_parameter_be_empty>,
"uid": "<unique_identifier_of_parameter>",
"type": "projectParameter"
}
]
Get project parameters
Retrieves the details of a specific project parameter.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
/apis/v2/rest/projects/{project}/configurations/variables/{variable_name}?type=projectParameter
Parameters
{variable_name}- Name of the variable.
Method: GET
Request body
None
Output:
If the request is successful, the HTTP 201 Created status response code is displayed.
{
"key": "<parameter_key>",
"value": "parameter_key",
"isPassword": <type_of_parameter>,
"isRequired": <can_value_of_parameter_be_empty>,
"uid": "<unique_identifier_of_parameter>",
"type": "projectParameter"
}
Connections APIs
Create connections
Allows you to create a connection.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/:project/configurations/connections
Parameters
<:project>- Name of the project.
Method: POST
Request body
{
"name": "SMTP_1",
"description": ""
"deployAnywhere": false,
"data": {
"cn_host": "smtp.pepipost.com",
"cn_port": "25",
"cn_userName": "sabcpepipost",
"cn_password": "",
"cn_tls": "none",
"cn_truststore": null,
"cx_from": "sabc@pepisandbox.com",
"cx_to": null,
"cx_cc": null,
"cn_connectionTimeout": "30000",
"cn_readTimeout": "30000",
"cn_writeTimeout": "30000",
"name": "stage00"
},
"sourceMetadata": {
"connectorID": "com.softwareag.smtp_v1",
"providerName": "WmSMTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
}
Output:
If the request is successful, the HTTP 201 Created status response code is displayed.
Update connections
Allows you to update a connection.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/:project/configurations/connections/{connectionName}
In this URL request, <:project> is the name of the project.
Parameters
<:project>- Name of the project.{connectionName}- Name of the connection.
Method: PUT
{
"name": "SMTP_1",
"description": ""
"deployAnywhere": false,
"data": {
"cn_host": "smtp.pepipost.com",
"cn_port": "25",
"cn_userName": "sabcpepipost",
"cn_password": "",
"cn_tls": "none",
"cn_truststore": null,
"cx_from": "sabc@pepisandbox.com",
"cx_to": null,
"cx_cc": null,
"cn_connectionTimeout": "30000",
"cn_readTimeout": "30000",
"cn_writeTimeout": "30000",
"name": "stage00"
},
"sourceMetadata": {
"connectorID": "com.softwareag.smtp_v1",
"providerName": "WmSMTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
}Output:
If the request is successful, the HTTP 200 OK status response code is displayed.
Delete connections
Allows you to delete a connection.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/:project/configurations/connections/:connection_name?connectionType=&connectorID=&providerName=
Parameters
:project- Name of the project.:connectionName- Name of the connection.connectorID- Unique identification of the connector.providerName- Name of the connection provider.
Method: DELETE
Request body
None
Output:
If the request is successful, the HTTP 200 OK status response code is displayed.
Get connections
Allows you to retrieve the details of a connection.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/:project/configurations/connections/:connection_name?connectionType=&connectorID=&providerName=
Parameters
:project- Name of the project.:connectionName- Name of the connection.connectorId- Unique identification of the connector.providerName- Name of the connection provider.
Method: GET
Request body
None
Output:
{
"name": "SMTP_1",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"cn_host": "smtp.pepipost.com",
"cn_port": "25",
"cn_userName": "abcpepipost",
"cn_password": "",
"cn_tls": "none",
"cn_truststore": null,
"cx_from": "abc@pepisandbox.com",
"cx_to": null,
"cx_cc": null,
"cn_connectionTimeout": "30000",
"cn_readTimeout": "30000",
"cn_writeTimeout": "30000",
"name": "stage00"
},
"sourceMetadata": {
"connectorID": "com.softwareag.smtp_v1",
"providerName": "WmSMTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
}
List connections
Allows you to retrieve the details of all connections.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/:project/configurations/connections
Parameters
:project- Name of the project.
Method: GET
Request body
None
[
{
"name": "FTPS_2",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"cn_host": "demo.wftpserver.com",
"cn_port": "21",
"cn_user": "demo",
"cn_password": "",
"cn_timeout": "3601",
"cn_advancedFTPOptions": "false",
"ssl_secureData": null,
"ssl_keystoreAlias": null,
"ssl_keyalias": null,
"ssl_truststoreAlias": null,
"name": "stage00"
},
"sourceMetadata": {
"connectorID": "com.softwareag.ftp_v1",
"providerName": "WmFTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
},
{
"name": "SFTP_2",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"authenticationType": "publicKey",
"compression": "none",
"compressionLevel": 6,
"connectionTimeout": 63,
"fingerprint": "83:73:ce:cc:97:48:f7:43:a5:cc:4c:c8:5e:93:bc:7c",
"hostName": "demo.wftpserver.com",
"isPassPhrasePresent": true,
"isPrivateKeyFilePresent": true,
"maximumRetries": 5,
"port": 2222,
"preferredCiphersC2S": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredCiphersS2C": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredKeyExchangeAlgorithm": [
"diffie-hellman-group-exchange-sha256",
"ecdh-sha2-nistp256",
"diffie-hellman-group1-sha1",
"diffie-hellman-group14-sha1",
"ecdh-sha2-nistp521",
"ecdh-sha2-nistp384",
"diffie-hellman-group-exchange-sha1"
],
"preferredMACC2S": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"preferredMACS2C": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"sessionTimeout": 30,
"strictHostKeyChecking": "yes",
"userName": "demo",
"version": "v1",
"password": ""
},
"sourceMetadata": {
"connectorID": "com.softwareag.sftp_v1",
"providerName": "WmSFTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
},
{
"name": "SFTP_3",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"authenticationType": "publicKey",
"compression": "none",
"compressionLevel": 6,
"connectionTimeout": 60,
"fingerprint": "a1:13:95:35:5d:d6:9c:5c:8e:6f:44:1e:87:19:43:b5",
"hostName": "eu-central-1.sftpcloud.io",
"isPassPhrasePresent": true,
"isPrivateKeyFilePresent": true,
"maximumRetries": 6,
"port": 22,
"preferredCiphersC2S": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredCiphersS2C": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredKeyExchangeAlgorithm": [
"diffie-hellman-group-exchange-sha256",
"ecdh-sha2-nistp256",
"diffie-hellman-group1-sha1",
"diffie-hellman-group14-sha1",
"ecdh-sha2-nistp521",
"ecdh-sha2-nistp384",
"diffie-hellman-group-exchange-sha1"
],
"preferredMACC2S": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"preferredMACS2C": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"sessionTimeout": 30,
"strictHostKeyChecking": "yes",
"userName": "9d3ea89ac9be4a578b20a61f85ced147",
"version": "v1",
"password": ""
},
"sourceMetadata": {
"connectorID": "com.softwareag.sftp_v1",
"providerName": "WmSFTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
},
{
"name": "SFTP_4",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"authenticationType": "publicKey",
"compression": "none",
"compressionLevel": 6,
"connectionTimeout": 60,
"fingerprint": "a1:13:95:35:5d:d6:9c:5c:8e:6f:44:1e:87:19:43:b5",
"hostName": "eu-central-1.sftpcloud.io",
"isPassPhrasePresent": true,
"isPrivateKeyFilePresent": true,
"maximumRetries": 6,
"port": 22,
"preferredCiphersC2S": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredCiphersS2C": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredKeyExchangeAlgorithm": [
"diffie-hellman-group-exchange-sha256",
"ecdh-sha2-nistp256",
"diffie-hellman-group1-sha1",
"diffie-hellman-group14-sha1",
"ecdh-sha2-nistp521",
"ecdh-sha2-nistp384",
"diffie-hellman-group-exchange-sha1"
],
"preferredMACC2S": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"preferredMACS2C": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"sessionTimeout": 30,
"strictHostKeyChecking": "yes",
"userName": "9d3ea89ac9be4a578b20a61f85ced147",
"version": "v1",
"password": ""
},
"sourceMetadata": {
"connectorID": "com.softwareag.sftp_v1",
"providerName": "WmSFTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
},
{
"name": "SFTP_5",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"authenticationType": "publicKey",
"compression": "none",
"compressionLevel": 6,
"connectionTimeout": 60,
"fingerprint": "83:73:ce:cc:97:48:f7:43:a5:cc:4c:c8:5e:93:bc:7c",
"hostName": "demo.wftpserver.com",
"isPassPhrasePresent": true,
"isPrivateKeyFilePresent": true,
"maximumRetries": 6,
"port": 2222,
"preferredCiphersC2S": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredCiphersS2C": [
"aes128-ctr",
"aes128-cbc",
"3des-ctr",
"3des-cbc",
"blowfish-cbc",
"aes192-ctr",
"aes192-cbc",
"aes256-ctr",
"aes256-cbc",
"arcfour",
"arcfour128",
"arcfour256"
],
"preferredKeyExchangeAlgorithm": [
"diffie-hellman-group-exchange-sha256",
"ecdh-sha2-nistp256",
"diffie-hellman-group1-sha1",
"diffie-hellman-group14-sha1",
"ecdh-sha2-nistp521",
"ecdh-sha2-nistp384",
"diffie-hellman-group-exchange-sha1"
],
"preferredMACC2S": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"preferredMACS2C": [
"hmac-md5",
"hmac-sha1",
"hmac-sha2-256",
"hmac-sha1-96",
"hmac-md5-96"
],
"sessionTimeout": 30,
"strictHostKeyChecking": "yes",
"userName": "demo",
"version": "v1",
"password": ""
},
"sourceMetadata": {
"connectorID": "com.softwareag.sftp_v1",
"providerName": "WmSFTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
},
{
"name": "SMTP_1",
"description": "",
"state": "disabled",
"deployAnywhere": false,
"data": {
"cn_host": "smtp.pepipost.com",
"cn_port": "25",
"cn_userName": "sonipepipost",
"cn_password": "",
"cn_tls": "none",
"cn_truststore": null,
"cx_from": "abc@pepisandbox.com",
"cx_to": null,
"cx_cc": null,
"cn_connectionTimeout": "30000",
"cn_readTimeout": "30000",
"cn_writeTimeout": "30000",
"name": "stage00"
},
"sourceMetadata": {
"connectorID": "com.softwareag.smtp_v1",
"providerName": "WmSMTPProvider",
"version": "1",
"connectionType": "sagcloud"
}
},
{
"name": "testAlias",
"deployAnywhere": true,
"data": {
"connectionmanagement.expireTimeout": 1000,
"connectionconfiguration.cn.enableCompression": false,
"connectionconfiguration.cn.sniServerName": "",
"connectionconfiguration.pr.useExpectCont": false,
"connectionmanagement.timeoutType": "fixed",
"connectionmanagement.minimumPoolSize": 1,
"connectionconfiguration.cr.securityRealm": "",
"connectionconfiguration.cn.retryIfRequestSentOk": true,
"connectionconfiguration.cn.readTimeout": 180000,
"connectionconfiguration.cn.sockBuffSize": 8192,
"connectionconfiguration.cn.clientKeyAlias": "",
"connectionconfiguration.rh.requestHeaderValues": "text/xml,login",
"connectionconfiguration.pr.followServerRedirects": true,
"connectionconfiguration.cn.socketStaleCheck": true,
"connectionmanagement.blockTimeout": 1000,
"connectionconfiguration.cn.webproxyAlias": "",
"connectionconfiguration.cn.truststoreAlias": "",
"connectionconfiguration.pr.httpContentCharSet": "ISO-8859-1",
"connectionconfiguration.pr.serverRedirectMax": 5,
"connectionconfiguration.pr.useChunking": false,
"connectionconfiguration.cn.validateAfterInactivity": 1000,
"connectionconfiguration.cn.connectTimeout": 180000,
"connectionmanagement.sessionExpiry": 14,
"connectionconfiguration.pr.allowCircularRedirects": true,
"connectionconfiguration.cn.tcpNoDelay": false,
"connectionconfiguration.cn.idleTimeout": -1,
"connectionconfiguration.cr.preemptiveAuthEnabled": false,
"connectionconfiguration.rh.requestHeaderNames": "Content-Type,SOAPAction",
"connectionmanagement.poolIncrementSize": 1,
"connectionmanagement.startupRetryCount": 0,
"connectionconfiguration.cn.socketLinger": -1,
"connectionmanagement.poolable": true,
"connectionconfiguration.cr.username": "abc@live.in",
"connectionconfiguration.pr.protocolVersion": "HTTP/1.1",
"connectionmanagement.startupBackoffSecs": 10,
"connectionconfiguration.cn.providerUrl": "https://login.salesforce.com/services/Soap/u/53.0",
"connectionconfiguration.cn.keystoreAlias": "",
"connectionconfiguration.pr.userAgent": "Cloudstreams",
"connectionconfiguration.cn.retryCount": 3,
"connectionconfiguration.cn.keepAliveInterval": 300000,
"connectionconfiguration.cr.authSchemeType": "none",
"connectionmanagement.maximumPoolSize": 10,
"connectionconfiguration.cn.enableSNI": true,
"connectionconfiguration.cn.reuseAddr": false,
"connectionconfiguration.cn.hostnameVerifier": "org.apache.http.conn.ssl.DefaultHostnameVerifier"
},
"sourceMetadata": {
"connectorID": "com.softwareag.cloudstreams.salesforce_v53",
"providerName": "WmSalesforceProvider",
"version": "53",
"packageName": "Test3Project",
"connectionType": "sagcloud"
}
},
{
"name": "testConn21",
"deployAnywhere": true,
"data": {
"connectionmanagement.expireTimeout": 1000,
"connectionconfiguration.cn.enableCompression": false,
"connectionconfiguration.cn.sniServerName": "",
"connectionconfiguration.pr.useExpectCont": false,
"connectionmanagement.timeoutType": "fixed",
"connectionmanagement.minimumPoolSize": 1,
"connectionconfiguration.cr.securityRealm": "",
"connectionconfiguration.cn.retryIfRequestSentOk": true,
"connectionconfiguration.cn.readTimeout": 180000,
"connectionconfiguration.cn.sockBuffSize": 8192,
"connectionconfiguration.cn.clientKeyAlias": "",
"connectionconfiguration.rh.requestHeaderValues": "text/xml,login",
"connectionconfiguration.pr.followServerRedirects": true,
"connectionconfiguration.cn.socketStaleCheck": true,
"connectionmanagement.blockTimeout": 1000,
"connectionconfiguration.cn.webproxyAlias": "",
"connectionconfiguration.cn.truststoreAlias": "",
"connectionconfiguration.pr.httpContentCharSet": "ISO-8859-1",
"connectionconfiguration.pr.serverRedirectMax": 5,
"connectionconfiguration.pr.useChunking": false,
"connectionconfiguration.cn.validateAfterInactivity": 1000,
"connectionconfiguration.cn.connectTimeout": 180000,
"connectionmanagement.sessionExpiry": 14,
"connectionconfiguration.pr.allowCircularRedirects": true,
"connectionconfiguration.cn.tcpNoDelay": false,
"connectionconfiguration.cn.idleTimeout": -1,
"connectionconfiguration.cr.preemptiveAuthEnabled": false,
"connectionconfiguration.rh.requestHeaderNames": "Content-Type,SOAPAction",
"connectionmanagement.poolIncrementSize": 1,
"connectionmanagement.startupRetryCount": 0,
"connectionconfiguration.cn.socketLinger": -1,
"connectionmanagement.poolable": true,
"connectionconfiguration.cr.username": "abc@gmail.com",
"connectionconfiguration.pr.protocolVersion": "HTTP/1.1",
"connectionmanagement.startupBackoffSecs": 10,
"connectionconfiguration.cn.providerUrl": "https://login.salesforce.com/services/Soap/u/53.0",
"connectionconfiguration.cn.keystoreAlias": "",
"connectionconfiguration.pr.userAgent": "Cloudstreams",
"connectionconfiguration.cn.retryCount": 3,
"connectionconfiguration.cn.keepAliveInterval": 300000,
"connectionconfiguration.cr.authSchemeType": "none",
"connectionmanagement.maximumPoolSize": 10,
"connectionconfiguration.cn.enableSNI": true,
"connectionconfiguration.cn.reuseAddr": false,
"connectionconfiguration.cn.hostnameVerifier": "org.apache.http.conn.ssl.DefaultHostnameVerifier"
},
"sourceMetadata": {
"connectorID": "com.softwareag.cloudstreams.salesforce_v53",
"providerName": "WmSalesforceProvider",
"version": "53",
"packageName": "Test3Project",
"connectionType": "sagcloud"
}
},
{
"name": "testConn22",
"deployAnywhere": true,
"data": {
"connectionmanagement.expireTimeout": 1000,
"connectionconfiguration.cn.enableCompression": false,
"connectionconfiguration.cn.sniServerName": "",
"connectionconfiguration.pr.useExpectCont": false,
"connectionmanagement.timeoutType": "fixed",
"connectionmanagement.minimumPoolSize": 1,
"connectionconfiguration.cr.securityRealm": "",
"connectionconfiguration.cn.retryIfRequestSentOk": true,
"connectionconfiguration.cn.readTimeout": 180000,
"connectionconfiguration.cn.sockBuffSize": 8192,
"connectionconfiguration.cn.clientKeyAlias": "",
"connectionconfiguration.rh.requestHeaderValues": "text/xml,login",
"connectionconfiguration.pr.followServerRedirects": true,
"connectionconfiguration.cn.socketStaleCheck": true,
"connectionmanagement.blockTimeout": 1000,
"connectionconfiguration.cn.webproxyAlias": "",
"connectionconfiguration.cn.truststoreAlias": "",
"connectionconfiguration.pr.httpContentCharSet": "ISO-8859-1",
"connectionconfiguration.pr.serverRedirectMax": 5,
"connectionconfiguration.pr.useChunking": false,
"connectionconfiguration.cn.validateAfterInactivity": 1000,
"connectionconfiguration.cn.connectTimeout": 180000,
"connectionmanagement.sessionExpiry": 14,
"connectionconfiguration.pr.allowCircularRedirects": true,
"connectionconfiguration.cn.tcpNoDelay": false,
"connectionconfiguration.cn.idleTimeout": -1,
"connectionconfiguration.cr.preemptiveAuthEnabled": false,
"connectionconfiguration.rh.requestHeaderNames": "Content-Type,SOAPAction",
"connectionmanagement.poolIncrementSize": 1,
"connectionmanagement.startupRetryCount": 0,
"connectionconfiguration.cn.socketLinger": -1,
"connectionmanagement.poolable": true,
"connectionconfiguration.cr.username": "abc@gmail.com",
"connectionconfiguration.pr.protocolVersion": "HTTP/1.1",
"connectionmanagement.startupBackoffSecs": 10,
"connectionconfiguration.cn.providerUrl": "https://login.salesforce.com/services/Soap/u/53.0",
"connectionconfiguration.cn.keystoreAlias": "",
"connectionconfiguration.pr.userAgent": "Cloudstreams",
"connectionconfiguration.cn.retryCount": 3,
"connectionconfiguration.cn.keepAliveInterval": 300000,
"connectionconfiguration.cr.authSchemeType": "none",
"connectionmanagement.maximumPoolSize": 10,
"connectionconfiguration.cn.enableSNI": true,
"connectionconfiguration.cn.reuseAddr": false,
"connectionconfiguration.cn.hostnameVerifier": "org.apache.http.conn.ssl.DefaultHostnameVerifier"
},
"sourceMetadata": {
"connectorID": "com.softwareag.cloudstreams.salesforce_v53",
"providerName": "WmSalesforceProvider",
"version": "53",
"packageName": "Test3Project",
"connectionType": "sagcloud"
}
}
]Certificate APIs
List certificates
Retrieves the list of all certificates configured in an environment.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/certificates
Parameters
{projectAlias}- Name of the project.
Method: GET
Request body
None
Output:
{
"output": [
{
"keyStoreName": "ks",
"keyStoreType": "PKCS12",
"keyStoreLocation": "tempcertificate.crt",
"keyStoreProvider": "SUN",
"keyStoreDescription": "helloksdesc",
"acl": null,
"handle": "wm.security.keystore.ks",
"nullKSPassword": "false",
"isLoaded": "true",
"isHsm": false,
"configuredKeyAliases": [
{
"keyAlias": "mykey",
"nullPassword": "false",
"handle": "wm.security.keystore.ks.mykey"
}
],
"nonConfiguredKeyAliases": [],
"certficateAliases": [],
"certificateType": "KEY_STORE"
}
]
}
Get certificates
Retrieves the details about a specific certificate.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/certificates/{certificateName}?certificateType=KEY_STORE
Parameters
{projectAlias}- Name of the project.{certificateName}- Name of the certificate.{certificateType}- Type asKEY_STOREfor key stores, Type asTRUST_STOREfor trust stores, types asPARTNER_CERTIFICATEfor partner certificate .
Method: GET
Request body
None
Output:
{
"output": {
"keyStoreName": "ks",
"keyStoreType": "PKCS12",
"keyStoreLocation": "tempcertificate.crt",
"keyStoreProvider": "SUN",
"keyStoreDescription": "helloksdesc",
"acl": null,
"handle": "wm.security.keystore.ks",
"nullKSPassword": "false",
"isLoaded": "true",
"isHsm": false,
"configuredKeyAliases": [
{
"keyAlias": "mykey",
"nullPassword": "false",
"handle": "wm.security.keystore.ks.mykey"
}
],
"nonConfiguredKeyAliases": [],
"certficateAliases": [],
"certificateType": "KEY_STORE"
}
}
Get certificate providers
Retrieves the details about the certificate providers.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/certificates/providers
Parameters
{projectAlias}- Name of the project.
Method: GET
Request body
None
Output:
{
"output": {
"type": "key",
"keyProviderList": [
{
"keyStoreType": "JKS",
"providerList": [
{
"provider": "SUN"
}
]
},
{
"keyStoreType": "PKCS12",
"providerList": [
{
"provider": "BC"
},
{
"provider": "SUN"
},
{
"provider": "SunJSSE"
}
]
}
]
}
}
Create certificates
Creates a certificate.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/certificates
Parameters
{projectAlias}- Name of the project.
Method: POST
Request body
- For keystores:
Content-Type: form-data certificateProperty: {"certificateType":"KEY_STORE","certificateConfig":{"name":"helloks","description":"helloksdesc","type":"JKS","provider":"SUN","password":"changeit","projectName":"fl469be6366e5bd0290b8c6f","keyAliases":[{"alias":"mykey","password":"changeit"}]}} file: <certificate file> - For Truststores:
Content-Type: form-data certificateProperty: {"certificateType":"TRUST_STORE","certificateConfig":{"name":"mytruststore","description":"mytruststore desc","type":"JKS","provider":"SUN","password":"changeit","projectName":"fl469be6366e5bd0290b8c6f","keyAliases":[{"alias":"mykey","password":"changeit"}]}} file: <certificate file> - For PartnerCertificate:
Content-Type: form-data certificateProperty: {"certificateType":"PARTNER_CERTIFICATE","certificateConfig":{"name":"hips","description":"hello partner","projectName":"fld94a70b8cca9a208928d73"}} file: <certificate file>
Output:
{
"output": {
"code": 0,
"description": "Success",
"details": {
"status": "SUCCESS",
"message": "Keystore ks added successfully."
}
}
}
Update certificates
Updates a certificate.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/certificates/{certificateName}
Parameters
{projectAlias}- Name of the project.{certificateName}- Name of the certificate.
Method: POST
Request body
- For keystores:
Content-Type: form-data certificateProperty: {"certificateType":"KEY_STORE","certificateConfig":{"name":"helloks","description":"helloksdesc","type":"JKS","provider":"SUN","password":"changeit","projectName":"fl469be6366e5bd0290b8c6f","keyAliases":[{"alias":"mykey","password":"changeit"}]}} file: <certificate file> - For Truststores:
Content-Type: form-data certificateProperty: {"certificateType":"TRUST_STORE","certificateConfig":{"name":"mytruststore","description":"mytruststore desc","type":"JKS","provider":"SUN","password":"changeit","projectName":"fl469be6366e5bd0290b8c6f","keyAliases":[{"alias":"mykey","password":"changeit"}]}} file: <certificate file> - For PartnerCertificate:
Content-Type: form-data certificateProperty: {"certificateType":"PARTNER_CERTIFICATE","certificateConfig":{"name":"hips","description":"hello partner","projectName":"fld94a70b8cca9a208928d73"}} file: <certificate file>
Output:
{
"output": {
"code": 0,
"description": "Success",
"details": {
"status": "SUCCESS",
"message": "Keystore ks added successfully."
}
}
}
Delete certificates
Deletes a certificate.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/certificates/{certificateName}?certificateType=KEY_STORE
Parameters
{projectAlias}- Name of the project.{certificateName}- Name of the certificate.{certificateType}- Type asKEY_STOREfor key stores, Type asTRUST_STOREfor trust stores, types asPARTNER_CERTIFICATEfor partner certificate .
Method: POST
Request body
None
Output:
If successful, the HTTP Status: 204 No Content message is displayed.
Schedule APIs
List schedules
List all schedules configured for the services in a project.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/schedulers
Parameters
{projectAlias}- Name of the project.
Method: GET
Request body
None
Output:
{
"output": [
{
"runOnceType": "scheduledAt",
"scheduleType": "runOnce",
"recurrenceInterval": 0,
"startDate": 1751092920000,
"endDate": 0,
"dayOfTheMonth": 0,
"lastRunTime": 0,
"nextRunTime": 1751092920000,
"serviceName": "hellofs",
"status": "ACTIVE",
"isRepeatExecutionOnlyAfterCompletion": false
},
{
"runOnceType": "scheduledAt",
"scheduleType": "runRecurrent",
"executionTime": [1750834200000],
"recurrenceType": "monthly",
"recurrenceInterval": 0,
"startDate": 1750834800000,
"endDate": 1758870000000,
"dayOfTheMonth": 1,
"daysOfTheWeek": [],
"lastRunTime": 0,
"nextRunTime": 1751439000000,
"serviceName": "myfs",
"status": "ACTIVE",
"isRepeatExecutionOnlyAfterCompletion": false
},
{
"runOnceType": "scheduledAt",
"scheduleType": "runRecurrent",
"pipeline": {
"a": "1"
},
"executionTime": [1750748700000],
"recurrenceType": "Minute",
"recurrenceInterval": 300,
"startDate": 1750920060000,
"endDate": 1751352660000,
"dayOfTheMonth": 0,
"lastRunTime": 0,
"nextRunTime": 1750920060000,
"serviceName": "add",
"status": "ACTIVE",
"isRepeatExecutionOnlyAfterCompletion": true
},
{
"runOnceType": "scheduledAt",
"scheduleType": "runRecurrent",
"executionTime": [1750834140000],
"recurrenceType": "daily",
"recurrenceInterval": 2,
"startDate": 1750921200000,
"endDate": 0,
"dayOfTheMonth": 0,
"lastRunTime": 0,
"nextRunTime": 1751006940000,
"serviceName": "yfs",
"status": "ACTIVE",
"isRepeatExecutionOnlyAfterCompletion": true
},
{
"runOnceType": "scheduledAt",
"scheduleType": "runRecurrent",
"executionTime": [1750834200000],
"recurrenceType": "weekly",
"recurrenceInterval": 1,
"startDate": 1750834800000,
"endDate": 0,
"dayOfTheMonth": 0,
"daysOfTheWeek": [2, 5],
"lastRunTime": 0,
"nextRunTime": 1751007000000,
"serviceName": "testfs",
"status": "ACTIVE",
"isRepeatExecutionOnlyAfterCompletion": true
}
]
}
Get schedules
Get the details of a specific schedule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/schedulers/{flowServiceName}
Parameters
{projectAlias}- Name of the project.{flowServiceName}- Name of the flow service.
Method: GET
Request body
None
Output:
{
"output": {
"runOnceType": "scheduledAt",
"scheduleType": "runRecurrent",
"executionTime": [],
"recurrenceType": "weekly",
"recurrenceInterval": 1,
"startDate": 1750834800000,
"endDate": 0,
"dayOfTheMonth": 0,
"daysOfTheWeek": [],
"isRepeatExecutionOnlyAfterCompletion": true
}
}
Create schedules
Create a schedule to run a flow service.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlais}/configurations/schedulers/{flowServiceName}
Parameters
{projectAlias}- Name of the project.{flowServiceName}- Name of the flow service.
Method: POST
Request body
{
"runOnceType": "scheduledAt",
"pipeline": null,
"scheduleType": "runRecurrent",
"executionTime": [1748583216000],
"recurrenceType": "Minute",
"recurrenceInterval": 600,
"startDate": 1748583216000,
"endDate": 1761802339000
}
Output:
{
"output": {
"code": 0,
"description": "Success"
}
}
Status of schedules
Get the status of a specific schedule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/schedulers/{flowServiceName}/status
Parameters
{projectAlias}- Name of the project.{flowServiceName}- Name of the flow service.
Method: POST
Request body
None
Output:
{
"output": [
{
"lastRunTime": 1750830510000,
"nextRunTime": 1750920060000,
"status": "ACTIVE"
}
]
}
Delete schedules
Delete a schedule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/schedulers/{flowServiceName}
Parameters
{projectAlias}- Name of the project.{flowServiceName}- Name of the flow service.
Method: DELETE
Request body
{
"runOnceType": "scheduledAt",
"pipeline": null,
"scheduleType": "runRecurrent",
"executionTime": [1748583216000],
"recurrenceType": "Minute",
"recurrenceInterval": 600,
"startDate": 1748583216000,
"endDate": 1761802339000
}
Output:
If the request is successful, the HTTP Status: 204 (No Content) status code is displayed.
Pause schedules
Pause a schedule for a specific duration.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlais}/configurations/schedulers/{flowServiceName}/pause
Parameters
{projectAlias}- Name of the project.{flowServiceName}- Name of the flow service.
Method: POST
Request body
None
Output:
{
"output": {
"code": 0,
"description": "Success"
}
}
Resume schedules
Resume a schedule after a specific duration.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/schedulers/{flowServiceName}/resume
Parameters
{projectAlias}- Name of the project.{flowServiceName}- Name of the flow service.
Method: POST
Request body
None
Output:
{
"output": {
"code": 0,
"description": "Success"
}
}
Import schedules
Import schedules defined to a project from another project.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/projects/{projectAlias}/configurations/schedulers
Parameters
{projectAlias}- Name of the project.
Method: POST
Request body
[
{
"runOnceType": "scheduledAt",
"pipeline": null,
"scheduleType": "runRecurrent",
"executionTime": [1748583216000],
"recurrenceType": "Minute",
"recurrenceInterval": 600,
"startDate": 1748583216000,
"endDate": 1761802339000
},
{
"runOnceType": "scheduledAt",
"pipeline": null,
"scheduleType": "runRecurrent",
"executionTime": [1748583216000],
"recurrenceType": "Minute",
"recurrenceInterval": 600,
"startDate": 1748583216000,
"endDate": 1761802339000
},
{
"runOnceType": "scheduledAt",
"pipeline": null,
"scheduleType": "runRecurrent",
"executionTime": [1748583216000],
"recurrenceType": "Minute",
"recurrenceInterval": 600,
"startDate": 1748583216000,
"endDate": 1761802339000,
"serviceName": "testfs",
"override": false
},
{
"runOnceType": "scheduledAt",
"pipeline": null,
"scheduleType": "runRecurrent",
"executionTime": [1748583216000],
"recurrenceType": "Minute",
"recurrenceInterval": 600,
"startDate": 1748583216000,
"endDate": 1761802339000,
"serviceName": "hellofs"
// "override": false
}
]
Output:
{
"output": [
{
"name": "testfs",
"status": "failed",
"details": {
"error": "Another schedule already exists for flow service: testfs"
}
},
{
"name": "invalid_service_names",
"status": "failed",
"details": {
"error": "2 schedule(s) skipped: serviceName is null or empty"
}
},
{
"name": "hellofs",
"status": "success"
}
]
}
Alert rule APIs
The same set of APIs can be used to manage both workflows and flow service alert rules by
specifying either WorkflowAlertRule or FlowAlertRule as the
type in the query parameters. However, there are some key differences in behavior
and usage between the two, which are as follows:
- The name of a
FlowAlertRulecannot be updated. FlowAlertRuledoes not support thetimeoutevent.WorkflowAlertRuledoes not support the Validate alert rule name and Get alert frequency APIs.
List alert rules
Retrieves the list of all alert rules created for flow services.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v1/rest/configurations/alert-rules
Parameters
None
Method: GET
Request body
None
Output:
{
"output": [
{
"name": "togglealert",
"type": "FlowAlertRule",
"description": "",
"enabled": false,
"events": {
"success": true,
"failed": true
},
"users": [
"abc@ibm.com"
],
"integrations": [
{
"name": "add",
"type": "FlowService",
"project": "proj"
}
]
}
]
}
Get alert rules
Retrieves the details about a specific alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/{flowAlertRuleName}?type=FlowAlertRule
Parameters
{flowAlertRuleName}- Name of the alert rule.
Method: GET
Request body
None
Output:
{
"output": {
"name": "togglealert",
"type": "FlowAlertRule",
"description": "",
"enabled": false,
"events": {
"success": true,
"failed": true
},
"users": [
"abc@ibm.com"
],
"integrations": [
{
"name": "add",
"type": "FlowService",
"project": "fl8e01070721c04186210365"
}
]
}
}
Update alert rules
Update the details about a specific alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/togglealert?type=FlowAlertRule
Parameters
None
Method: PUT
Request body
{
"name": "togglealert",
"type": "FlowAlertRule",
"description": "my description",
"enabled": false,
"events": {
"success": false,
"failed": true
},
"users": [
"abc@ibm.com"
],
"integrations": [
{
"name": "add",
"type": "FlowService",
"project": "fl8e01070721c04186210365"
}
]
}
Output:
{
"output": {
"code": 0,
"description": "Success"
}
}
Create alert rules
Create an alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules?type=FlowAlertRule
Parameters
None
Method: POST
Request body
{
"name": "togglealert",
"type": "FlowAlertRule",
"description": "hello description",
"enabled": false,
"events": {
"success": false,
"failed": true
},
"users": [
"abc@ibm.com"
],
"integrations": [
{
"name": "add",
"type": "FlowService",
"project": "fl8e01070721c04186210365"
}
]
}
Output:
- If the request is successful:
{ "output": { "code": 0, "description": "Success" } } - If an error occurs:
{ "error": { "message": "AlertRule with name togglealert already exists.", "code": 400, "errorSource": { "errorCode": "IC_1118", "statusCode": 400, "requestID": "API-d5dc2963-a2d5-46a2-a1fb-67d1a31f0b20" } } }
Delete alert rules
Delete an alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/testfsalert?type=FlowAlertRule
Parameters
None
Method: DELETE
Request body
None
Output:
- If the request is successful, the HTTP Status Code: 204 Not Content is displayed.
- If an error occurs:
{ "error": { "message": "Alert name testfsalert does not exist", "code": 400, "errorSource": { "errorCode": "IC_1119", "statusCode": 400, "requestID": "API-4398c5e3-3ee6-40b7-8fa0-8ef1b2e5c2b8" } } }
Enable alert rules
Enable an alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/togglealert/activate?type=FlowAlertRule
Parameters
None
Method: POST
Request body
None
Output:
{
"output": {
"message": "togglealert's state is updated to activate"
}
}
Disable alert rules
Disable an alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/togglealert/deactivate?type=FlowAlertRule
Parameters
None
Method: POST
Request body
None
Output:
{
"output": {
"message": "togglealert's state is updated to deactivate"
}
}
Validate alert rule name
Validate an alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/{flowAlertRuleName}/validate
Parameters
{flowAlertRuleName}- Name of the flow service.
Method: GET
Request body
None
Output:
- If response is successful:
{ "output": { "code": 0, "description": "Success" } } - If response fails:
{ "error": { "message": "AlertRule with name togglealert already exists.", "code": 400, "errorSource": { "errorCode": "IC_1120", "statusCode": 400, "requestID": "API-5ea23287-c33e-47e7-8929-97541232418a" } } }
Get alert frequency
Retrieves the frequency details of the alerts.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v1/rest/configurations/alert-rules/frequency?type=FlowAlertRule
Parameters
None
Method: GET
Request body
None
Output:
{
"output": 15
}
Import alert rules
Retrieves the frequency details of the alerts.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v1/rest/configurations/alert-rules
Parameters
None
Method: PUT
Request body
[
{
"name": "fsalert",
"type": "FlowAlertRule",
"description": "hello desc",
"enabled": true,
"events": {
"success": true,
"failed": true
},
"users": [
"abc@ibm.com"
],
"integrations": [
{
"name": "hellofs",
"type": "FlowService",
"project": "proj"
}
]
}
]
Output:
{
"output": [
{
"name": "fsalert",
"status": "success"
}
]
}
Workflow alert rules
Create workflow alert rule
Creates a workflow alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/alert-rules?type=WorkflowAlertRule
Parameters
None
Method: POST
Request body
{
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": <alert_rule_state>,
"type": "WorkflowAlertRule|FlowAlertRule",
"users": [
"array_of_user_mailIDs"
],
"events": {
"failed": <false|true>,
"timeout": <false|true,
"success": <false|true
},
"integrations": [
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"project": "<project>"
}
]
}
Output:
{
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": <alert_rule_state>,
"type": "WorkflowAlertRule|FlowAlertRule",
"users": [
"array_of_user_mailIDs"
],
"events": {
"failed": <false|true>,
"timeout": <false|true,
"success": <false|true
},
"integrations": [
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"project": "<project>"
}
]
} Update workflow alert rule
Updates a workflow alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/alert-rules/{alertRuleName}?type=WorkflowAlertRule
Parameters
{alertRuleName}- Name of the alert rule.
Method: PUT
Request body
{
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": <alert_rule_state>,
"type": "WorkflowAlertRule|FlowAlertRule",
"users": [
"array_of_user_mailIDs"
],
"events": {
"failed": <false|true>,
"timeout": <false|true,
"success": <false|true
},
"integrations": [
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"project": "<project>"
}
]
}
Output:
{
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": <alert_rule_state>,
"type": "WorkflowAlertRule|FlowAlertRule",
"users": [
"array_of_user_mailIDs"
],
"events": {
"failed": <false|true>,
"timeout": <false|true,
"success": <false|true
},
"integrations": [
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"project": "<project>"
}
]
} Delete workflow alert rule
Deletes a workflow alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/alert-rules/{alertRuleName}?type=WorkflowAlertRule
Parameters
{alertRuleName}- Name of the alert rule.
Method: PUT
Request body
None
Output:
None
List workflow alert rules
Retrieves the list of all workflow alert rules.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/configurations/alert-rules
Parameters
None
Method: PUT
Request body
None
Output:
[
{
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": <alert_rule_state>,
"type": "WorkflowAlertRule|FlowAlertRule"
}
]
Get workflow alert rule
Retrieves the details about a specific alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/alert-rules/{alertRuleName}?type=WorkflowAlertRule
Parameters
{alertRuleName}- Name of the alert rule.
Method: GET
Request body
None
Output:
[
{
"name": "<alert_rule_name>",
"description": "<alert_rule_description>",
"enabled": <alert_rule_state>,
"type": "WorkflowAlertRule|FlowAlertRule",
"users": [
"array_of_user_mailIDs"
],
"events": {
"failed": <false|true>,
"timeout": <false|true,
"success": <false|true
},
"integrations": [
{
"name": "<workflow_name>",
"uid": "<workflow_uid>",
"project": "<project>"
}
]
}
]
Enable workflow alert rule
Enables a specific alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/alert-rules/{alertRuleName}/activate?type=WorkflowAlertRule
Parameters
{alertRuleName}- Name of the alert rule.
Method: POST
Request body
None
Output:
{
"message": "<alert_rule_name>'s state is updated to activate"
}
Disable workflow alert rule
Disables a specific alert rule.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/alert-rules/{alertRuleName}/deactivate?type=WorkflowAlertRule
Parameters
{alertRuleName}- Name of the alert rule.
Method: POST
Request body
None
Output:
{
"message": "<alert_rule_name>'s state is updated to deactivate"
}
Vault APIs
List vault variables
Retrieves the list of all vault variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/configurations/variables
Parameters
None
Method: GET
Request body
None
Output:
[
{
"key": "<vault_variable_key>",
"value": "vault_variable_key",
"isPassword": <type_of_vault_variable>
}
] Get vault variables
Retrieves the details of a specific vault variable.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/configurations/variables/{variable_name}
Parameters
{variable_name}- Name of the variable.
Method: GET
Request body
None
Output:
[
{
"key": "<vault_variable_key>",
"value": "<vault_variable_value>",
"isPassword": <type_of_vault_variable>,
"references": {
"<projectName>": {
"value": "<value_of_variable_in_project>",
"isSync": <sync_status>
}
}
}
] Create vault variables
Create a vault variable.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/configurations/variables
Parameters
None
Method: GET
Request body
{
"key": "<vault_variable_key>",
"value": "<vault_variable_value>",
"isPassword": <type_of_vault_variable>
}
Output:
{
"key": "<vault_variable_key>",
"value": "<vault_variable_value>",
"isPassword": <type_of_vault_variable>
} Update vault variables
Create a vault variable.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/configurations/variables/{variable_name}
Parameters
{variable_name}- Name of the variable.
Method: GET
Request body
{
"value": "<value_to_be_updated>"
}
Output:
{
"key": "<vault_variable_key>",
"value": "<vault_variable_updated_value>",
"isPassword": <type_of_vault_variable>
}Delete vault variables
Delete a vault variable.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/configurations/variables/{variable_name}
Parameters
{variable_name}- Name of the variable.
Method: GET
Request body
None
Output:
None
Sync vault variables
Allows you to synchronize the vault variables to the linked project’s variables.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax:
../apis/v2/rest/configurations/variables/{variable_name}/sync?projects={list_of_projects}
Parameters
<projects>- List of projects to sync the value in specific projects. If the variable is present in the given project, then it syncs. Else, it creates a new variable in the given project. If the project list is empty, then it syncs in the projects where the given vault variable is already linked. You can enter multiple project names separated by a comma.Note:- Do not pass
projectsquery parameter to sync the value in all the linked projects. - If unlinked projects are passed, the variable will be created in those projects.
- Do not pass
<variableName>- Name of the variable.
Method: PUT
Request body
None
Output:
{
"code": <status_of_sync>
}
{
"output": {
"code": -1,
"description": "The variable testVar1 could not be updated in the listed projects.",
"details": {
"key": "testVar1",
"UnknownProjects": ["a"]
}
}
} Project configuration APIs
Export project configurations
Allows you to export all configurations defined in a project.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/projects/{project}/configurations
Parameters
{project}- Name of the project.
Method: GET
Request body
None
Output:
{
"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://packages.webmethods.io",
"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": "flf63403e2b015652e888f80",
"type": "projectParameter"
},
{
"key": "password",
"value": null,
"isPassword": true,
"isRequired": true,
"uid": "fl8291f7551ff4af0b2fd1e2",
"type": "projectParameter"
}
],
"connections": [
{
"name": "DefaultAccount",
"type": "connection",
"source": "cloudstream",
"sourceMetadata": {
"connectorID": "com.softwareag.messaging_v1",
"connectionType": "sagcloud",
"authenticationScheme": "credentials",
"providerName": "WmMessagingProvider"
},
"uid": "uconna2036507698deb50af9e5b2c38ef15c972c357ec",
"data": {}
},
{
"name": "SoapConnector_1",
"type": "connection",
"source": "cloudstream",
"sourceMetadata": {
"connectorID": "SoapConnector",
"connectionType": "sagcloud",
"authenticationScheme": "credentials",
"providerName": "WmSOAPProvider",
"connectorType": "CustomSOAP"
},
"uid": "uconn26cb90808f72c97610da30ac29663231930e77e0",
"data": {
"cn_url": "http://webservices.daehosting.com/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"
}
]
}
}Import project configurations
- Open the workflow in the user interface.
- Select the appropriate account for the trigger.
- Save the workflow to apply the changes.
Steps:
- In a REST client platform, add the authentication details of the tenant.
Headers:
{
Authorization: Basic Auth
}
URL syntax: ../apis/v2/rest/projects/{project}/configurations
Parameters
{project}- Name of the project.
Method: GET
Request body
When using the Export project configurations API, the response payload contains the configuration data for your environment, including connections and variables.
{
"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": "fl813755c19900196cbd599b",
"generatedOn": 1750854252087
},
"configurations": {
"packages": [
{
"packageName": "WmSalesforceProvider",
"wpmServer": "https://packages.webmethods.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": "flf63403e2b015652e888f80",
"type": "projectParameter"
},
{
"key": "password",
"value": "secret",
"isPassword": true,
"isRequired": true,
"uid": "fl8291f7551ff4af0b2fd1e2",
"type": "projectParameter"
}
],
"connections": [
{
"name": "DefaultAccount",
"type": "connection",
"source": "cloudstream",
"sourceMetadata": {
"connectorID": "com.softwareag.messaging_v1",
"connectionType": "sagcloud",
"authenticationScheme": "credentials",
"providerName": "WmMessagingProvider"
},
"uid": "uconna2036507698deb50af9e5b2c38ef15c972c357ec",
"data": {}
},
{
"name": "SoapConnector_1",
"type": "connection",
"source": "cloudstream",
"sourceMetadata": {
"connectorID": "SoapConnector",
"connectionType": "sagcloud",
"authenticationScheme": "credentials",
"providerName": "WmSOAPProvider",
"connectorType": "CustomSOAP"
},
"uid": "uconn26cb90808f72c97610da30ac29663231930e77e0",
"data": {
"cn_url": "http://webservices.daehosting.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"
}
]
}
}Output:
{
"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": "fl813755c19900196cbd599b",
"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"
}
]
}
}