IBM webMethods Integration API Reference
Browse the API Reference documentation to build connected applications with Integration APIs.
Browse the API Reference documentation to build connected applications with Integration APIs.
Integration provides a robust set of APIs that allow you to programmatically integrate your own applications with Integration, in a simple and secure manner. Integration APIs permit access to Integration functionalities and data in an authorized way to accomplish integration of systems and applications. Our APIs are based on REST architectural style and can be communicated using HTTP requests.
Integration uses the HTTP basic authentication method to authenticate each HTTP request made to the API. With this authentication mechanism, Integration verifies the identity of API consumers and ensures that they have the necessary permission to access relevant data.
You can pass your tenant login credentials to authenticate yourself while making a request to the API in a REST client application. Integration verifies the supplied credentials contained in an Authentication header against the list of registered tenant users and then allows the users to access the relevant data.
Integration APIs are categorized into the following domains:
Domain | Description |
---|---|
Workflow APIs | Creating, exporting, importing, deleting, 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 project Creating, deleting, updating, and retrieving a project parameter Listing project parameters |
Role Management APIs | Creating a role for a particular tenant Updating an existing role Deleting a role Retrieving details of a particular role Listing 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 |
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 |
Allows you to create a workflow.
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/workflows
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>,
description: <workflow_description>
}
}
Allows you to export a workflow and all its dependencies. The exported data will be downloaded as a zip file to your local machine.
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
In this URL request, /:project is the name of the project associated with the workflow you want to export and /:workflow is the UID or name of the workflow 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>
}
}
Allows you to import a workflow and all its dependencies into a specific project. Each time you make a request, a new workflow is created in the specified project. You can choose to overwrite an existing workflow present in the specified project by using a request body parameter in the endpoint URL.
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.
You can choose to overwrite an existing workflow present in the specified project by using the following request body parameter: overwrite=true
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>
}
}
Allows you to delete a workflow and all its dependencies from a particular project.
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/:workflow
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project/workflows/:workflow
In 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."
}
}
Allows you to execute a particular workflow.
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/run
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project/workflows/:workflow/run
In 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>
}
}
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_id
Use this instead,
URL Syntax: <domain>/apis/v1/rest/projects/:project/workflow-run/:run_id
In 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>"
},
{
.
.
}
]
}
}
Allows you to export a Flow service and all its dependencies. The exported data will be downloaded as a zip file to your local machine.
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>
}
}
Allows you to import a Flow service and all its dependencies into a particular project. If you import a Flow service with the same name as an existing Flow service in the tenant, then Integration overwrites the existing Flow service. If a Flow service with the same name does not exist, then a new Flow service is created.
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>"
}
}
Allows users to delete a Flow service and all its dependencies from a particular project.
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."
}
}
Allows you to execute a particular Flow service.
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>"
}
}
Allows you to create a new project in a particular tenant.
Steps:
In a REST client platform, add the authentication details of the tenant where you want to create a project.
Headers:
{
Authorization: BasicAuth
}
Body:
{
name: <project_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>
}
}
}
Allows you to update an existing 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>
}
}
}
Allows you to delete an existing 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
}
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."
}
}
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>
}
}
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>
}]
}
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>"
]
}
}
Allows you to publish a particular project along with its valid assets to the target tenant.
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>
}
}
}
Allows you to deploy a project published by another tenant to your tenant.
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>"
}
}
}
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.
Steps:
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: {
}
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>
}
}
Allows you to import a project exported by another tenant to your tenant.
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>"
}
}
}
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>"
}
}
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>"
}
}
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>"
}
}
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 recieve 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>"
}]
}
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>"
]
}
]
}
}
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>",
}
}
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>",
}
}
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."
}
}
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"]
}]
}
}
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,
?skip=n
to the URL request, where n is the number of pages you want to skip. The default value for n is 0. ?limit=m
to 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>",
}]
}
}
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
}]
}
}
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
}
}
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>,
}
}
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>,
}
}
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."
}
}
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>,
}]
}
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,
}
}
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,
}
}
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>,
}
}
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": ""
}
}
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:
?skip=n
to the URL request, where n is the number of pages you want to skip. The default value for n is 0. ?limit=m
to 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>
}
}
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>
}
}
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>
}
}
Allows you to retrieve the details of workflows that are trigger-enabled.
Steps:
Headers:
{
Authorization: BasicAuth
}
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>
}
}
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>
]
}
]
}
}
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>"
}
}
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>"
}
}
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:
?skip=n
to the URL request, where n is the number of pages you want to skip. The default value for n is 0. ?limit=m
to 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.?my_recipe=true
to 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>"
}
]
}
}
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."
}
}
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 is the name of the project 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>"
}
]
}
}
}
}
}
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."
}
}
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>"
}
}
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"
}
}
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"
}
]
}
}
}
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"
}
}
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>"
},
.
.
]
}
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
Allows you to add 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.
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>"
}
}
Allows you 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.
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>"
}
}
Allows you 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."
}
}
Let’s now understand how to use a Integration API to execute a particular workflow.
Let’s say, you have a workflow named Sample Workflow that creates a board named Dev Team Status Board in your Trello account.
To execute this workflow using a Integration API, follow the procedure given below:
In our example, we will add the authentication details of the tenant associated with the Sample Workflow workflow.
Perform a POST request at the URL of the workflow you want to execute. Use the URL Syntax: <domain>/apis/v1/rest/projects/:project/workflows/:workflow/run
In this URL syntax,
https://sample-tenant.int-aw-us1.webmethods-int.io
. https://sample-tenant.int-aw-us1.webmethods-int.io/#/projects/fl102d2ad2e4r7d78b1811ea/workflows/fla95fc030gfb181194bb363/edit
. The UID of the workflow is the alphanumeric characters that appear after /workflows in the URL. Here, the UID of the workflow is fla95fc030gfb181194bb363
.On successful execution, you will see the output in the REST client interface.
Check the execution logs in the Workflow Execution screen on the Monitor page. You will see that the workflow is executed. You can click on the name of the workflow to get the complete information on the performance of the workflow.
If you check the Workspace in your Trello account, you will see a new board named Dev Team Status Board added to the list of existing boards.