IBM webMethods Integration API Reference

Browse the API Reference documentation to build connected applications with Integration APIs.

Overview

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.

Authentication

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.

IBM webMethods Integration APIs

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

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
Note
Currently, both the deprecated URL and the new URL are supported for the listed public APIs. It is strongly recommended that you review the current deployment and change the implementation to utilize the new URL format provided.

Workflow APIs

Create

Allows you to create a workflow.

Note
  • 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:

Export

Allows you to export a workflow and all its dependencies. The exported data will be downloaded as a zip file to your local machine.

Note
  • 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:

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.

Note
If multiple workflows share the same name, a list of all matching workflows, including their UIDs and names, will be provided. You can then select the desired workflow UID from this list and use it in the URL path.

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>
    }
}
Note
The value in valid_till indicates the validity period for downloading the link.

Import

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.

Note
  • 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:

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

Note
  • 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

Allows you to delete a workflow and all its dependencies from a particular project.

Note
  • 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:

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."
    }
}

Execute

Allows you to execute a particular workflow.

Note
Ensure that you have been granted write/execute access specifically for the project where you intend to execute the workflow.

Steps:

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>
    }
}   

Get Workflow Execution Status

Allows you to check the current status of the workflow execution.

Steps:

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>"
                },
                {
                .
                .
                }
                ]
        }
}

Flow service APIs

Export

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.

Note
  • 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:

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>
    }
}
Note
The value in valid_till indicates the validity period for downloading the link.

Import

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.

Note
  • 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:

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

Allows users to delete a Flow service and all its dependencies from a particular project.

Note
  • 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:

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

Allows you to execute a particular Flow service.

Note
Ensure that you have been granted write/execute access specifically for the project where you intend to execute the Flow service.

Steps:

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

Allows you to create a new project in a particular tenant.

Note
  • 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:

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

Allows you to update an existing project.

Note
  • 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:

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

Allows you to delete an existing project.

Note
  • 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:

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:

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:

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:

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.

Note
  • 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:

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.

Note
  • 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:

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>"
        }
    }
}

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.

Note
  • 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:

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>"
        ]
}
Note
To retrieve a list of assets available within a project, use the Get a list of project assets API call. Once you have access to the list of assets, you can choose the specific assets you want to export from the project.

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>
             }
}
Note
The value in valid_till indicates the validity period for downloading the link.

Import

Allows you to import a project exported by another tenant to your tenant.

Note
  • 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:

URL syntax: <domain>/apis/v1/rest/project-import

Note
To import REST/SOAP and other assets without creating a new deployment version or generating deployment additional records, append the version=false query parameter to the URL path to skip the creation of a new version.

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>"
        }
        }
}
Note
  • 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:

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:

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:

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:

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>"
    }]
}

Delete a project parameter

Allows you to delete a project parameter.

Steps:

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:

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:

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:

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:

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:

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,

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:


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>
    }
}
Note
This operation will only get the workflows that have triggers attached to it in the current workflow version and the workflows that have no triggers attached are not shown in the output.

Delete trigger

Allows the user to delete the trigger.

Note
To delete a trigger, you must have admin access. Only admins have the necessary permissions to perform this activity. If you do not have admin access but hold a custom role, ensure that you have write access specifically assigned to the project where you intend to delete the trigger.

Steps:

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"           
            }        
}
Note
If the Trigger is used in any of the workflow versions, then it will not allow you to delete it and the usage of that Trigger is shown in the output message.

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:

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:

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:

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:

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:

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:

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>"                    
                }
            ]
         }
        }
    }
    }
}
Note
This function will get all the accounts that are created whether they are used in connectors or not. The ‘config’ key contains account data used in any action or trigger, and the ‘account’ key contains all the accounts the user has created in that project till now.

Delete account

Allows you to delete the account.

Steps:

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:

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

Execution summary

This allows you to retrieve the execution summary based on the provided search parameters.

Steps:

Note
Only start_date and end_date are mandatory fields. All other fields are optional. The start_date and end_date should be in ISO8691 format like 2023-12-20 or 2023-12-20T00:00:00Z. Only requested execution status(es) will be included in the response. If more than one execution status is requested, response will include a total field containing the sum of all selected execution statuses.

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"
                }
            ]
        }
    }
}
Note
150 logs can be fetched at most in a single API call. For Metrics API, the inputs ‘start_date’ and ‘end_date’ will be considered in UTC time zone. Similarly, any timestamps in the response will be provided in UTC time zone.

Execution log

This allows you to retrieve the execution logs of a particular bill ID.

Steps:

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:

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:

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.

Note
  • 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:

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>"
    }
}

Update

Allows you to update the reference data.

Note
  • 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:

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>"
    }
}

Delete

Allows you to delete the reference data.

Note
  • 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:

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." 
    } 
} 

Example - Using a IBM webMethods Integration API to execute a workflow

Note
To execute a workflow by using a Integration API, you will have to use an external service that is capable of sending HTTP requests.

Let’s now understand how to use a Integration API to execute a particular workflow.

Before you begin

  1. Log in to your Integration tenant.
  2. Create a workflow and save it.

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:

Basic Flow

  1. Open a REST client and click Create New.
  2. On the REST client Request page, click the Authorization tab, and select Basic Auth from the Type dropdown list. Add the authentication details of the tenant associated with the workflow you want to execute.

    In our example, we will add the authentication details of the tenant associated with the Sample Workflow workflow.

  3. To execute a workflow by using a Integration API, we would be referring to the Workflow APIs - Execute section.

    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,

    • domain is the tenant URL provided by Integration, for example, https://sample-tenant.int-aw-us1.webmethods-int.io.
    • /:project is the name of the project associated with the workflow you want to execute, for example, Sample_Project.
    • /:workflow is the UID of the workflow you want to execute, for example, fla95fc030gfb181194bb363.

  4. Note
    To retrieve the UID of the workflow, in Integration, navigate to the workflow you want to execute. At this point, your tenant URL will look like this: 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.

  5. Click Send to execute the workflow.

    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.

  6. Note
    You can save the API requests in the REST client collections for future use.