IBM webMethods Integration APIs

IBM® webMethods Integration APIs are categorized into the following domains:

Domain Description
Workflow APIs Creating, exporting, importing, deleting, enabling, disabling, and executing a workflow
Flow service APIs Exporting, importing, deleting, and executing a Flow service
Project APIs Creating, updating, deleting, and retrieving a project Retrieving a list of projects Retrieving a list of project assets Publishing and deploying a project Exporting and importing a projectCreating, deleting, updating, and retrieving a project parameter Listing project parameters
Role Management APIs Creating a role for a particular tenantUpdating an existing roleDeleting a roleRetrieving details of a particular roleListing a collection of roles associated with a particular tenant
User Management APIs Retrieving a list of users associated with a particular tenant Assigning roles to a user
Themes APIs Creating a theme Managing themes Retrieving theme details Listing themes Retrieving default values for the current theme
Webhook APIs Retrieving details of workflows that are webhook-enabled Regenerating webhook URL for an existing workflow in a particular tenant Adding an authentication mechanism to a webhook in a particular tenant
Recipes APIs Creating and deleting a recipe Retrieving recipe details Retrieving all recipes for a tenant
Trigger APIs Retrieving details of trigger-enabled workflow Deleting a trigger
Account APIs Allows you to retrieve, delete, switch accounts from the workflow connector and also allows you to retrieve the config data
Metrics APIs Allows you to retrieve the execution summary and logs
Reference APIs Allows you to retrieve, add, update, and delete the reference data

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.

Error Handling

When a request is successful, the API returns an HTTP 200 OK status, indicating that the operation was completed successfully.

If a request to any public API fails, the response includes the error source, providing more detailed information about the cause of the failure.

Workflow APIs

Create

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:

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

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:

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

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

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

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:

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

Get workflow execution status

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

Steps:

  • In a REST client platform, add the authentication details of the tenant associated with the workflow of which execution status you want to retrieve.
    Headers: 
	{             
		Authorization: BasicAuth
    }
  • Perform a GET request at the URL of the workflow.

    URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects/:project/workflow-run/:run_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>"
				},
				{
				.
				.
				}
				]
		}
}

Enable a workflow

Allows you to activate a workflow within the specified project.

Steps:

  • In a REST client platform, add the authentication details of the tenant associated with the workflow that you want to enable.
    Headers: 
	{             
		Authorization: BasicAuth
    }
  • Perform a PUT request at the URL of the workflow.

    URL Syntax: <domain>/apis/v1/rest/projects/<project_name>/workflows/<workflow_name>/activate

    Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
     "name": "<workflow_name>",
     "uid": "<workflow_uid>",
     "active": true
}

Disable a workflow

Allows you to deactivate a workflow within the specified project.

Steps:

  • In a REST client platform, add the authentication details of the tenant associated with the workflow that you want to disable.
    Headers: 
	{             
		Authorization: BasicAuth
    }
  • Perform a PUT request at the URL of the workflow.

    URL Syntax: <domain>/apis/v1/rest/projects/<project_name>/workflows/<workflow_name>/deactivate

    Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
     "name": "<workflow_name>",
     "uid": "<workflow_uid>",
     "active": false
}
Note:
  • If multiple workflows share the same name, the API will provide a list of all matching workflows, including their UIDs and names. You can then select the desired workflow UID from this list and use it in the URL path.

  • API calls are case-sensitive for project_name and workflow_name.

  • Only one state change (activation or deactivation) is allowed per request.

Get workflow details

Allows you to retrieve details of a workflow within a project.

Steps:

  • In a REST client platform, add the authentication details of the tenant associated with the workflow whose details you want to retrieve.
Headers: 
{             
    Authorization: BasicAuth
}
  • Perform a GET request at the URL of the workflow.

    URL Syntax: <domain>/apis/v1/rest/projects/<project_name>/workflows/<workflow_name>

    Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
         "name": "<workflow_name>",
         "description": "<workflow_description>",
         "refid": "<workflow_refid>",
         "sid": "<workflow_sid>",
         "uid": "<workflow_uid>",
         "project_uid": "<workflow_project_uid>",
         "tenant_uid": "<workflow_tenant_uid>"
       }
Note:
  • If multiple workflows share the same name, the API will provide a list of all matching workflows, including their UIDs and names. You can then select the desired workflow UID from this list and use it in the URL path.

  • API calls are case-sensitive for project_name and workflow_name.

Flow service APIs

Export

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:

  • 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>
    }
}
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 IBM webMethods 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:

  • In a REST client platform, add the required details of the tenant where you want to import a Flow service.
Headers: 
	{             
     Authorization: BasicAuth
    }
         
    domain => https:/<tenant_name>.dev-int-aws-us.webmethods.io
         
Body: 
	{
     recipe: <zip_file_binary>
	}
  • Perform a POST request at the URL of the Flow service.

URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects/:project/flow-import

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects/:project/flow-import

In this URL request, /:project is the name of the project where you want to import the Flow service.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
 output : {
			"name": "<flow_name>",
			"assemblyType": "<assembly_type>",
			"serviceFullName": "<service_FullName>",
			"project_uid": "<project_uid>",
			"tenant_uid": "<tenant_uid>"
			}
}

Delete

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:

  • In a REST client platform, add the authentication details of the tenant associated with the Flow service you want to delete.

    Headers: 
    	{             
     Authorization: BasicAuth
    }
  • Perform a DELETE request at the URL of the Flow service.

URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects/:project/flows/:flow

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects/:project/flows/:flow

In this URL request, /:project is the name of the project associated with the Flow service you want to delete and /:flow is the name of the Flow service you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
 output: 
	{
	message: "Object deleted successfully."
	}
}

Execute

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:

  • In a REST client platform, add the authentication details of the tenant associated with the Flow service you want to execute.

    	Headers: 
    	{             
    	Authorization: BasicAuth
    	}
  • Perform a POST request at the URL of the Flow service you want to execute.

URL Syntax: <domain>/enterprise/v1/rest/projects/:project/flows/:flow/run

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects/:project/flows/:flow/run

In this URL request, /:project is the name of the project associated with the Flow service you want to execute and /:flow is the name of the Flow service you want to execute.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output : 
	{
	"contentStream": "<content_stream>",
    "date": "<datetime>"
    }
}

Project APIs

Create

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:

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

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:

  • In a REST client platform, add the authentication details of the tenant associated with the project you want to update.
    Headers: 
			{
			Authorization: BasicAuth
			}
    Body: 
			{
			name: <project_name>
			}
  • Perform a PUT request at the URL of the project.

URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects/:project

In this URL request, /:project is the UID or name of the project you want to update.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
 {
  output : 
		{
		name: <project_name>,
		uid: <project_uid>,
		tenant_uid: <project_tenant_uid>,
		workflow_count: <workflow_count>,
		flowservice_count: <flowservice_count>
		}
 }
}

Delete

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:

  • In a REST client platform, add the authentication details of the tenant associated with the project you want to delete.
    Headers: 
	{
		Authorization: BasicAuth
	}
Alternatively, you can forcefully delete a project and all its assets by sending a request with the following body, along with the authentication details for the tenant linked to the project:
Important:

IMPORTANT The deletion is irreversible. Once deleted, the project and all its associated data, including workflows, flow services, and assets, are permanently removed.

	Headers: 
	{             
		Authorization: BasicAuth
	}
	Body: 
	{
		"force_delete": true,
		"confirm_project_name": "Delete <project_name>"
	}
Note: Ensure the value for the confirm_project_name key is exactly Delete <project_name>, including the correct case. The project name must match the original name exactly as it was created.
  • Perform a DELETE request at the URL of the project.

URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects/project

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects/:project

In this URL request, /:project is the UID or name of the project you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
 output: 
		{
		message: "Project deleted successfully."
		}
}

Get a project

Allows you to retrieve a project.

Steps:

  • In a REST client platform, add the authentication details of the tenant associated with the project you want to retrieve.
    Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects/project

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects/:project

In this URL request, /:project is the UID or name of the project you want to retrieve.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
 output : 
	{
		name: <project_name>,
		uid: <project_uid>,
		tenant_uid: <project_tenant_uid>,
		workflow_count: <workflow_count>,
		flowservice_count: <flowservice_count>
	}
}

Get a list of projects

Allows you to retrieve a list of accessible project.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve projects.
	Headers: 
			{
			Authorization: BasicAuth
			}
  • Perform a GET request at the URL of the project.

URL Syntax (Deprecated): <domain>/enterprise/v1/rest/projects

Use this instead,

URL Syntax: <domain>/apis/v1/rest/projects

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
 output : 
		[{
		name: <project_name>,
		uid: <project_uid>,
		tenant_uid: <project_tenant_uid>,
		workflow_count: <workflow_count>,
		flowservice_count: <flowservice_count>
		}]
}

Get a list of project assets

Allows you to retrieve a list of all valid assets for a particular project.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve valid assets created in a particular project.
	Headers: 
			{
			Authorization: BasicAuth
			}
  • Perform a GET request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/assets

In this URL request, /:project is the name of the project from where you want to retrieve assets.

You can control and filter the output response by using a query parameter. To retrieve additional details of assets created in a specific project, append the query parameter ?complete=true to the end of the URL request. This is an optional parameter and its default value is false.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output : {
"workflows": [
            "<workflow1_uid>",
            "<workflow2_uid>",
        ],
        "flows": [
            "<flowservice1_name>",
            "<flowservice2_name>",
        ],
        "rest_api": [
            "<rest_api1_name>",
            "<rest_api2_name>",
        ],
        "soap_api": [
            "<soap_api1_name>",
            "<soap_api2_name>",
        ],
        "messaging": [
            "<subscriber1_name>",
            "<subscriber2_name>"
        ]
}
}

Publish

Allows you to publish a particular project along with its valid assets to the target tenant.

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:

  • In a REST client platform, add the authentication details of the tenant where you want to publish a project.
	Headers: {
			Authorization: BasicAuth
			}
	Body: {
            "name":"<publish_name>", 
            "destination_tenant_detail":
			{
				"username":"<username>",
				"password":"<password>",
				"url":"<target_tenant_url>"
			},
			"workflows": 
				[
				"<workflow1_uid>",
				"<workflow2_uid>",
				],
			"flows": 
				[
				"<flowservice1_name>",
				"<flowservice2_name>",
				],
			"rest_api": 
				[
				"<rest_api1_name>",
				"<rest_api2_name>",
				],
			"soap_api": 
				[
				"<soap_api1_name>",
				"<soap_api2_name>",
				],
			"messaging": 
				[
				"<subscriber1_name>",
				"<subscriber2_name>"
				]
			}
  • Perform a POST request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/publish

In this URL request, /:project is the name of the project you want to publish.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
	output : 
	{
		"uid": "<deployment_uid>",        
		"name": "<deployment_name>",
		"description": "<deployment_description>",
		"version": "<deployment_version>",
		"project_name": "<project_name>",
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>",
		"to_tenant": "<target_tenant_name>"
		"from_tenant": "<source_tenant_name>",
		"contains_asset": 
			{
			"sap_assets": <true || false>,
			"messaging_assets": <true || false>
			}       
	}
}

Deploy

Allows you to deploy a project published by another tenant to your tenant.

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:

  • In a REST client platform, add the authentication details of the tenant where you want to deploy a project.
	Headers: 
	{
	Authorization: BasicAuth
	}
	Body:
	{
	"version":<version_number>*,
	"new_project_name":<new_project_name>$
	}

// A field with the asterisk (*) character in the body of the request is a required field. 
// The dollar ($) character appended to the project name in the body of the request indicates that you are deploying a project for the first time and you already have a project with the same name in the target tenant.
  • Perform a POST request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/deploy

In this URL request, /:project is the name of the project you want to deploy.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
        "status": "<deployment_status>",
        "messaging_issues": 
		{
		"issues": [<commaseparated_string_arr>],
		"description": "<messaging_issue_desc>"
		}
	}
}

If the request is unsuccessful, the error details are included in the output under the message key.

{
"error": 
	{
		"status": "<deployment_status>",
		"message": "Failed to fetch the deployment data.",
		"errorSource": 
			{
				"errorCode": "<code>",
				"requestID": "<request_id>"
			}
	}
}

Export

Allows you to export a project along with its valid assets into a zip file. The exported project is downloaded as a zip file to your local machine.

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:

  • In a REST client platform, add the authentication details of the tenant where you want to publish a project.

Case 1: Export project with specific assets only

This approach allows you to export a project while selecting and including only specific assets as per your requirements.

Headers: {
          Authorization: BasicAuth
		 }
Body: {               
   workflows": 
		[
            "<workflow1_uid>",
            "<workflow2_uid>",
        ],
        "flows": 
		[
            "<flowservice1_name>",
            "<flowservice2_name>",
        ],
        "rest_api": 
		[
            "<rest_api1_name>",
            "<rest_api2_name>",
        ],
        "soap_api": 
		[
            "<soap_api1_name>",
            "<soap_api2_name>",
        ],        
        "messaging": 
		[
            "<subscriber1_name>",
            "<subscriber2_name>"
        ]
}
Note: To retrieve a list of assets available within a project, use the Enable a workflow 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: { 
 
	  }
  • Perform a POST request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/<project>/export

In this URL request, <project> is the name or UID of the project you want to publish.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
	output : {
		download_link: <download_link>,
		valid_till: <valid_till>
			 }
}
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:

  • 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

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

If the request is unsuccessful, the error details are included in the output under the message key.

{
"error": 
	{
		"status": "<deployment_status>",
		"message": "Failed to fetch the deployment data.",
		"errorSource": 
			{
				"errorCode": "<code>",
				"requestID": "<request_id>"
			}
	}
}
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:

  • In a REST client platform, add the authentication details of the tenant where you want to create a project parameter.
Headers: 
	{
		Authorization: BasicAuth
	}
Body:
	{   
		"key": "<param_name>*^",  
		"value": "<param_value>*",
		"required": <true || false>*,
		"isPassword": <true || false>*    
	}
	
//A field with the asterisk (*) character in the body of the request is a required field. 
//A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
  • Perform a POST request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/params

In this URL request, /:project is the name of the project where you want to create a parameter.

Method: POST

Output:

If the request is successful, you will receive the HTTP 201 OK success status response code.

Case 1: If the project parameter is password-protected and you have set the value of the "isPassword" field to "true", the value field will not be displayed in the output. The output is as follows:

{
output: 
	{
		"uid": "<param_uid>",
		"param": 
		{
		"key": "<param_name>",
		"required": <true || false>,
		"isPassword": <true>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
	}
}

Case 2: If the project parameter is not password-protected and you have set the value of the "isPassword" field to "false", the output you receive is as follows:

{
output: 
	{
		"uid": "<param_uid>",
		"param": 
		{
		"key": "<param_name>",
		"value": "<param_value>",
		"required": <true || false>,
		"isPassword": <false>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
	}
}

Update a project parameter

Allows you to update an existing project parameter.

Steps:

  • In a REST client platform, add the authentication details of the tenant where you want to update a project parameter.
Headers: 
	{
	Authorization: BasicAuth
	}
Body:
	{   
	"key": "<param_name>*^",
	"value": "<param_value>*",
	"required": <true || false>*,
	"isPassword": <true || false>*    
	}
	 
// A field with the asterisk (*) character in the body of the request is a required field.
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.	 
  • Perform a PUT request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/params/param_uid

In this URL request, /:project is the name of the project where you want to update a parameter and param_uid is the ID of the parameter you want to update.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

Case 1: If the project parameter is password-protected and you have set the value of the "isPassword" field to "true", the value field will not be displayed in the output. The output is as follows:

{
output: 
	{
	"uid": "<param_uid>",
	"param": 
		{
		"key": "<param_name>",
		"required": <true || false>,
		"isPassword": <true>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
		}
}

Case 2: If the project parameter is not password-protected and you have set the value of the "isPassword" field to "false", the output you receive is as follows:

{
output: 
	{
	"uid": "<param_uid>",
	"param": 
		{
		"key": "<param_name>",
		"value": "<param_value>",
		"required": <true || false>,
		"isPassword": <false>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
		}
}

Case 3: If you want to update an existing project parameter that is not password-protected to secure its value and you have set the value of the "isPassword" field to "true" in the input, the output you receive is as follows:

{
output: 
	{
	"uid": "<param_uid>",
	"param": 
		{
		"key": "<param_name>",
		"required": <true || false>,
		"isPassword": <true>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
		}
}

Case 4: If you want to update an existing password-protected project parameter to no longer be protected and you have set the value of the "isPassword" field to "false" in the input, the output you receive is as follows:

{
output: 
	{
	"uid": "<param_uid>",
	"param": 
		{
		"key": "<param_name>",
		"required": <true || false>,
		"isPassword": <false>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
		}
}

Get a project parameter

Allows you to retrieve a project parameter.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve the details of a project parameter.
	Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/params/param_uid

In this URL request, /:project is the name of the project associated with the parameter and the details you want to retrieve, and param_uid is the ID of the parameter and the details you want to retrieve.

Method: GET

Output:

Case 1: If the project parameter you want to retrieve is password-protected, the value field will not be displayed in the output. The output is as follows:

{
output: 
		{
		"uid": "<param_uid>",
		"param": 
		{
		"key": "<param_name>",
		"required": <true || false>,
		"isPassword": <true>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
	}
}

Case 2: If the project parameter you want to retrieve is not password-protected, the output you receive is as follows:

{
output: 
		{
		"uid": "<param_uid>",
		"param": 
		{
		"key": "<param_name>",
		"value": "<param_value>",
		"required": <true || false>,
		"isPassword": <false>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
	}
}

List project parameters

Allows you to retrieve a list of all the project parameters created in a particular project.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to list project parameters.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/params

In this URL request, /:project is the name of the project from where you want to fetch the list of all the parameters.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

Case 1: When project parameters are password-protected, their corresponding values will not be displayed in the output array list. The output you receive is as follows:

{
output: 
	[{
		"uid": "<param_uid>",
		"param": 
		{
		"key": "<param_name>",
		"required": <true || false>,
		"isPassword": <true>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
	}]
}

Case 2: When project parameters are not password-protected, their corresponding values will be shown in the output array list. The output you receive is as follows:

{
output: 
	[{
		"uid": "<param_uid>",
		"param": 
		{
		"key": "<param_name>",
		"value": "<param_value>",
		"required": <true || false>,
		"isPassword": <false>            
		},
		"project_uid": "<project_uid>",
		"tenant_uid": "<tenant_uid>"
	}]
}

Delete a project parameter

Allows you to delete a project parameter.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to delete a project parameter.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a DELETE request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/params/param_uid

In this URL request, /:project is the name of the project from where you want to delete a project parameter and param_uid is the ID of the parameter you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

Case 1: If the parameter you want to delete is not being used in any workflow in the specified project, you will get the following output:

{
output:  
	{
	"message": "Param(s) deleted successfully."
	}
}

Case 2: If the parameter you want to delete is being used in any workflow in the specified project, you will get the following output:

{
	"output": 
		{
		"message": "This param is used in the below workflow(s). Please remove it from the workflow(s) before deleting this project param.",
		"workflows": 
			[
				{
				"uid": "<workflow_uid>",
				"name": "<workflow_name>",
				"activities": 
				[
				"<workflow_activity_id>"                                             
				],
				"flow_version": 
				[
				"<workflow_version>"  
				]
				}
			]
		}
}

Role Management APIs

Create

Allows you (the admin) to create a new role for a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant where you want to create a new role.
Headers: 
	{
	Authorization: BasicAuth
	}
Body: 
	{
	"name": "<role_name>*^",
	"description": "<role_description>",
	"projects": 
	[{
	"<project_name>": ["r", "w", "e"]  
	}]
}

// A field with the asterisk (*) character in the body of the request is a required field. 
// A field with the caret (^) character in the body of the request indicates that the field  can only have unique values.
  • Perform a POST request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/roles

Method: POST

Output:

If the request is successful, you will receive the HTTP 201 OK success status response code.

{
output : 
{
"name": <role_name>,
"uid": <role_uid>,
"tenant_uid": <project_tenant_uid>,
"permissions": 
		[
			{
			"project_uid": "<project_uid>",
			"access_list": 
			{
			"read": true,
			"write": true,
			"execute":true                  
			}
			}
		],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}
}

Update

Allows you (the admin) to update an existing role.

Steps:

  • In a REST client platform, add the authentication details of the tenant where you want to update an existing role.
Headers: 
	{
	Authorization: BasicAuth
	}
Body: 
	{
	"name": "<role_name>*^",
	"description": "<role_description>",
	"projects": 
	[{
	"<project_name>": ["r", "w", "e"]  
	}]
}

// A field with the asterisk (*) character in the body of the request is a required field. 
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values.
  • Perform a PUT request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/roles/:role_uid

In this URL request, /:role_uid is the ID of the role you want to update.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output : 
{
	"name": <role_name>,
	"uid": <role_uid>,
	"tenant_uid": <project_tenant_uid>,
	"permissions": 
		[
			{
			"project_uid": "<project_uid>",
			"access_list": 
			{
			"read": true,
			"write": true,
			"execute":true                  
			}
			}
		],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}
}

Delete

Allows you (the admin) to delete a particular role.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to delete a role.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a DELETE request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/roles/:role_uid

In this URL request, /:role_uid is the ID of the role you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output : 
	{
	message: "Tenant role deleted."
	}
}

Get role details

Allows you to retrieve details of a particular role.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve details of a specific role.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/roles/:role_uid

In this URL request, /:role_uid is the ID of the role, the details of which you want to retrieve.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output : 
{
"name": <role_name>,
"uid": <role_uid>,
"tenant_uid": <project_tenant_uid>,
"permissions": 
	[
		{
		"project_uid": "<project_uid>",
		"access_list": 
		{
		"read": true,
		"write": true,
		"execute":true                  
		}
		}
	],
"created_at": "<role_created_at>",
"updated_at": "<role_updated_at>",
}
}

You can alternatively add the query parameter ?edit=true to the URL request <domain>/apis/v1/rest/roles/:role to retrieve brief details of a particular role. On appending the specified query parameter to the URL request, you will receive the output in the following format:

Output:

{
output :  
{
	"name": "<role_name>",
	"description": "<role_description>",
	"projects": 
	[{
	"<project_name>": ["r", "w", "e"]  
	}]
}
}

Get a list of roles

Allows you to retrieve a collection of roles associated with a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve a list of roles.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/roles

You can control and filter the output response by using the URL query parameters. In this URL request,

  • If you want to skip a certain number of pages at the beginning of the collection in the response, append the query parameter ?skip=n to the URL request, where n is the number of pages you want to skip. The default value for n is 0.
  • If you want to define the maximum page size starting from the n-th one, append ?limit=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>",
}]       
}    
}

User Management APIs

Get a list of users

Allows you to retrieve a list of users associated with a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant to retrieve a list of tenant users.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/users

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output :
{
	"count": <tenant_user_count>,
	"objects": 
		[{
		"uid": "<user_uid>",
		"email": "<user_email>",
		"first_name": "<user_first_name>",
		"last_name": "<user_last_name>",
		"roles":
			[
			<role_data>
			],
		"wmic_username": "<user_uid>",
		"is_admin": true || false,
		"is_developer": true || false,                
		"is_owner": true || false
		}]
}      
}   

Assign roles to a user

Allows you (the admin) to assign roles to a tenant user.

Steps:

  • In a REST client platform, add the authentication details of the tenant to assign roles to a user.
Headers:
	{
	Authorization: BasicAuth
	}
Body:
	{
	"username":<tenant_username>
	"roles": ['role1','role2']
	}
  • Perform a PUT request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/assign-roles

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output:
{
	"uid": "<user_uid>",
	"email": "<user_email>",
	"first_name": "<user_first_name>",
	"last_name": "<user_last_name>",
	"roles":
		[
		<role_data>
		],
	"wmic_username": "<user_uid>",
	"is_admin": true || false,
	"is_developer": true || false,                
	"is_owner": true || false
}      
} 

Themes APIs

Create

Allows you (the admin) to create a new theme for a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant where you want to create a new theme.
Headers: 
	{
	Authorization: BasicAuth
	}
Body:
	{
	"name": "<theme_name>*^",
	"description": "<theme_description>",
	"theme":<theme_values_obj>#,
	"footerContent":"<theme_footerContent>",
	"aboutPageContent":"<theme_aboutPageContent>" 
	}
	
// A field with the asterisk (*) character in the body of the request is a required field. 
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values. 
// The hash (#) character in the body of the request indicates that the field contains the object of the applied theme in the specified tenant.
// You could get the theme object by performing a GET method request at the URL "<domain>/apis/v1/rest/themes/defaultvalues".
  • Perform a POST request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes

Method: POST

Output:

If the request is successful, you will receive the HTTP 201 OK success status response code.

{
output: 
	{
	"name": "<theme_name>",
	"uid": "<theme_uid>",
	"settings": 
		{
		"description": "<theme_name>",
		"theme":<theme_values_obj>,
		"footerContent": "<theme_footerContent>",
		"aboutPageContent": "<theme_aboutPageContent>"
		},
	"active": <true || false>,
}
}

Update

Allows you (the admin) to update an existing theme in a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant where you want to update an existing theme.
Headers: 
{
	Authorization: BasicAuth
}
Body: 
	{
	"name": "<theme_name>*^",
	"description": "<theme_description>",
	"footerContent":"<theme_footerContent>",
	"aboutPageContent":"<theme_aboutPageContent>" 
	}
	
// A field with the asterisk (*) character in the body of the request is a required field. 
// A field with the caret (^) character in the body of the request indicates that the field can only have unique values. 	
  • Perform a PUT request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes/:theme_uid

In this URL request, /:theme_uid is the ID of the theme you want to update.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"name": "<theme_name>",
	"uid": "<theme_uid>",
	"settings": 
		{
		"description": "<theme_name>",
		"theme":<theme_values_obj>,
		"footerContent": "<theme_footerContent>",
		"aboutPageContent": "<theme_aboutPageContent>"
		},
	active": <true || false>,
	}
}

Delete

Allows you (the admin) to delete a theme for a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to delete a theme.
Headers: 
{
	Authorization: BasicAuth
}
  • Perform a DELETE request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes/:theme_uid

In this URL request, /:theme_uid is the ID of the theme you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"message": "Object deleted successfully."
	}
}

List themes

Allows you to retrieve details of all themes for a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve details of all themes.
Headers: 
{
	Authorization: BasicAuth
}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	[{
	"name": "<theme_name>",
	"uid": "<theme_uid>",
	"settings": 
			{
			"description": "<theme_name>",
			"theme":<theme_values_obj>,
			"footerContent": "<theme_footerContent>",
			"aboutPageContent": "<theme_aboutPageContent>"
			},
	"active": <true || false>,
	}]
}

Activate a theme

Allows you (the admin) to activate a theme for a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant where you want to activate a theme.
Headers: 
{
	Authorization: BasicAuth
}
  • Perform a PUT request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes/:theme_uid/activate

In this URL request, /:theme_uid is the ID of the theme you want to activate.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"name": "<theme_name>",
	"uid": "<theme_uid>",
	"settings": 
		{
		"description": "<theme_name>",
		"theme":<theme_values_obj>,
		"footerContent": "<theme_footerContent>",
		"aboutPageContent": "<theme_aboutPageContent>"
		},
	"active": true,
	}	
}

Deactivate a theme

Allows you (the admin) to deactivate the specified theme from a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant to deactivate the applied theme.
Headers: 
{
	Authorization: BasicAuth
}
  • Perform a PUT request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes/:theme_uid/deactivate

In this URL request, /:theme_uid is the ID of the theme you want to deactivate.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"name": "<theme_name>",
	"uid": "<theme_uid>",
	"active": false,
	}
}

Retrieve a theme

Allows you to retrieve details of a specific theme from a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve a specific theme.
Headers: 
{
	Authorization: BasicAuth
}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes/:theme_uid

In this URL request, /:theme_uid is the ID of the theme, the details you want to retrieve.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"name": "<theme_name>",
	"uid": "<theme_uid>",
	"active": <true || false>,
	}
}

Retrieve default theme values

Allows you to retrieve default values for the current theme.

Steps:

  • In a REST client platform, add the authentication details of the tenant to retrieve default values of the current theme.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/themes/defaultvalues

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"primaryColor": "<primaryColor>",
	"primaryHeaderTextColor": "<primaryHeaderTextColor>",
	"primaryTextColor": "<primaryTextColor>",
	"linkColor": "<linkColor>",
	"primaryHoverColor": "<primaryHoverColor>",
	"backgroundImage": "<backgroundImage>",
	"logoFileName": "<logoFileName>",
	"primaryBtnBgColor": "<primaryBtnBgColor>",
	"primaryBtnColor": "<primaryBtnColor>",
	"primaryBtnBrbColor": "<primaryBtnBrbColor>",
	"secondaryBtnBgColor": "<secondaryBtnBgColor>",
	"secondaryBtnColor": "<secondaryBtnColor>",
	"secondaryBtnBrbColor": "<secondaryBtnBrbColor>",
	"favIconImage": "<favIconImage>",
	"favIconFileName": "<favIconFileName>",
	"footerContent": "",
	"aboutPageContent": ""
    }
}

Webhook APIs

Get webhook-enabled workflows

Allows you to retrieve details of workflows that are webhook-enabled.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve details of webhook-enabled workflows.
Headers: 
{
	Authorization: BasicAuth
}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/webhook-flows

In this URL request, /:project is the name of the project from where you want to retrieve details of webhook-enabled workflows.

You can control and filter the output response by using the URL query parameters. In this URL request:

  • If you want to skip a certain number of pages at the beginning of the collection in the response, append the query parameter ?skip=n to the URL request, where n is the number of pages you want to skip. The default value for n is 0.
  • If you want to define the maximum page size starting from the n-th one, append ?limit=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>
	}
}

Regenerate webhook URL

Allows you to regenerate webhook URL for an existing workflow in a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant to regenerate webhook URL.
Headers: 
{
	Authorization: BasicAuth
}	
  • Perform a PUT request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/webhook-flows/:workflow_uid/reset

In this URL request, /:project is the name of the project associated with the workflow, the webhook URL you want to reset, and /:workflow_uid is the ID of the workflow, the webhook URL you want to reset.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{               
	"uid": "<workflow_uid>",
	"name": "<workflow_name>",
	"tenant_uid": "<tenant_uid>",
	"project_uid": "<project_uid>",
	"sid": <workflow_sid>,
	"webhook_url": <webhook_url>            
	}        
}

Set webhook authentication

Allows you to add an authentication mechanism to a webhook in a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant to apply an authentication to a webhook.
Headers: 
	{
	Authorization: BasicAuth
	}
Body:
	{
	"auth*":"none" OR "login" OR "token"
	}

// The default value for the auth field is "login".
  • Perform a POST request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/projects/:project/webhook-flows/:workflow_uid/auth

In this URL request, /:project is the name of the project associated with the workflow where you want to apply an authentication to a webhook and /:workflow_uid is the ID of the workflow where you want to apply an authentication to a webhook.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
		{               
		"uid": "<workflow_uid>",
		"name": "<workflow_name>",
		"tenant_uid": "<tenant_uid>",
		"project_uid": "<project_uid>",
		"sid": <workflow_sid>,
		"webhook_settings": <webhook_settings>            
		}        
}

Trigger APIs

Get trigger-enabled workflow

Allows you to retrieve the details of workflows that are trigger-enabled.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to get the details of the trigger-enabled workflow.

Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

    URL syntax: <domain>/apis/v1/rest/projects/:project/trigger-flows QueryParams: skip=number (default=0), limit=number (default=1000)

    In this URL request, :project is the name of the project or the UID of the project from where you want to get the details of the trigger-enabled workflow.

    Method: GET

Output:

If the request is successful, you will receive the HTTP 201 OK success status response code.

{
output: {
        "objects": [
            {
                "uid": "<workflow_uid>",
                "sid": <workflow_sid>
                "name": "<workflow_name>",
                "tenant_uid": "<tenant_uid>",
                "project_uid": "<project_uid>",
                "trigger": {
                                "provider": "<trigger_provider>",
                                "label": "<trigger_label>",
                                "title": "<trigger_title>",
                                "uid": "<trigger_uid>"      
                     }              
            }        
        ],
        "count": <trigger_workflow_count>
    }
}
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:

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

  • In a REST client platform, add the authentication details of the tenant where you want to create a recipe.
Headers: 
{
	Authorization: BasicAuth
}
Body:
{
recipe: <zip_file_binary>
}
  • Perform a POST request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/recipes

Method: POST

Output:

If the request is successful, you will receive the HTTP 201 OK success status response code.

{
output: 
	{        
	"uid": <recipe_uid>
	"name": "<recipe_name>",
	"description": "<description>"              	           
	}     
}

Get a recipe

Allows you to retrieve details of a particular recipe.

Steps:

  • In a REST client platform, add the authentication details of the tenant associated with the recipe, the details you want to retrieve.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/recipes/:uid

In this URL request, :uid is the ID of the recipe you want to retrieve.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{      	         
	"uid": <recipe_uid>
	"name": "<recipe_name>",
	"description": "<description>",
	"download": "<recipe_download_count>"                             
	}  
}

Get all recipes

Allows you to retrieve all recipes for a particular tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve recipes.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a GET request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/recipes

You can control and filter the output response by using the URL query parameters. In this URL request:

  • If you want to skip a certain number of pages at the beginning of the collection in the response, append the query parameter ?skip=n to the URL request, where n is the number of pages you want to skip. The default value for n is 0.
  • If you want to define the maximum page size starting from the n-th one, append ?limit=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.
  • If you want to retrieve details of all unpublished recipes from a particular tenant, append ?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>"                             
		}        
        ]
	}
}

Delete

Allows you to delete a recipe from your tenant.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to delete a recipe.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a DELETE request at the URL of the project.

URL syntax: <domain>/apis/v1/rest/recipes/:uid

In this URL request, /:uid is the ID of the recipe you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
output: 
	{
	"message": "Object deleted successfully."
	}
}

Account APIs

Get user accounts

Allows you to retrieve all the accounts the user has created under a particular project.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to get the details of the user accounts.
Headers: 
{
		Authorization: BasicAuth
}
  • Perform a GET request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/accounts

In this URL request, :project represents the name or the UID of the project from where you want to get the details of the user accounts.

Method: GET

Output:

If the request is successful, you will receive the following response code.

output:
	{
    "output": {
        "configs": {
            "provider_name": [
                {
                    "activity_id": "<activity_id>",                    
                    "service": "<service>",
                    "provider": "<provider>",
                    "action": "<action>",
                    "version": "<version>",
                    "auth": "<auth_UID>",
                    "type": "<account_type>",
                    "name": "<account_name>",
                    "flow_uid": "<workflow_uid>",
                    "flow_version": <workflow_version>,
                    "uid": "<config_UID>"
                },
            ]
        }
        "accounts": {
          "connections":{
            "provider_name": [
                {
                    "icon": "<icon>",
                    "label": "<label>",
                    "title": "<title>",
                    "uid": "<uid>"                    
                }
            ]
         },         
       "auths":{
            "provider_name": [
                {
                    "icon": "<icon>",
                    "label": "<label>",
                    "title": "<title>",
                    "uid": "<uid>"                    
                }
            ]
         }
        }
       }
	  }
    }
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:

  • In a REST client platform, add the authentication details of the tenant from where you want to delete the account.
Headers: 
	{
	Authorization: BasicAuth
	}
  • Perform a DELETE request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/accounts/:account_uid

In this URL request, :project is the name of the project or the project UID from where you want to delete an account and :account_uid is the UID of the account you want to delete.

Method: DELETE

Output:

If the request is successful, you will receive the following response code.

{
output: {               
               "message": "Account deleted successfully." 
        }        
}

Update Configuration

Allows you to update the account configuration or switch to another account created for the same provider.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to update the account.
Headers: 
{ 
	Authorization: BasicAuth 
} 
Body:
{ 
	account:<auth_uid || connection_uid> 
} 
  • Perform an UPDATE request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/:project/configs/:config_uid

In this URL request, :project is the name of the project or the project UID from where you want to update an account and :config_uid is the UID of the account you want to update.

Method: PUT

Output:

If the request is successful, you will receive the following response code.

{
output: {        
        "type": "<account_type>",
        "activity_id": "<activity_id>",
        "action": "<action>",
        "service": "<service>",
        "provider": "<provider>",
        "version": "<version>",
        "name": "<account_name>",
        "auth": "<account_UID>",
        "flow_version": <flow_version>,
        "flow_uid": "<flow_uid>",
        "tenant_uid": "<tenant_uid>",        
        "project_uid": "<project_uid>",        
        "uid": "<config_UID>"
    }   
}

Metrics APIs

Execution summary

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

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve the execution summary.
Headers:  
	{
	Authorization: Basic Auth
	} 

Body: 
{
//Example 1: Without using skip and limit parameters

POST {{hostName}}/apis/v1/rest/monitor/summary
{
    "start_date": "<execution_start_timestamp>",
    "end_date": "<execution_stop_timestamp>",
    "projects": <list of project names/uids>,
    "workflows": <list of workflow uids>,
    "execution_status": <list of execution status>, // should be one of ['running', 'success', 'failed', 'timeout', 'pending'/'queued', 'hold', 'stopped']
	"context_id": "<context_id>" // must be a string
}

//Example 2: Using skip and limit parameters

POST {{hostName}}/apis/v1/rest/monitor/summary?skip=3800&limit=10
{
    "start_date": "2023-01-15T08:00:00.000Z",
    "end_date": "2023-01-20T08:00:00.000Z",
    "projects": [“fl9717db0ad1b50e2f585b49”],
    "workflows":[“ fl9579f2ec6f01678d0d1660”, “fl00a966d22c7f5be4ecf0e4”],
    "execution_status": [“success”, “failed”]
	"context_id": "abc123" 
}
}
Note: Only the 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.
  • Perform a POST request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/monitor/summary

Method: POST

Output:

If the request is successful, you will receive the following response code.

{

//Example 1: Without using skip and limit parameters

    "output": {
        "summary": {
            "success": <success_log_count>,
            "running": <running_log_count>,
            "stopped": <stopped_log_count>,
            "failed": <failed_log_count>,
            "timeout": <timeout_log_count>,
            "queued": <queued_log_count>,
            "hold": <hold_log_count>,
            "total": <total_count_of_all_statuses>
        },
        "graph": {
            "count": <total_count_of_all_fetched_logs>,
            "logs": [
                {
                    "uid": <bill_uid>,
                    "execution_status": <execution_status>,
                    "flow_name": "<flow_name>",
                    "flow_uid": <flow_uid>,
                    "project_uid": "<project_uid>",
                    "restarted": <is_restarted>,
                    "requested_at": <requested_at>,
                    "project_name": <project_name>,
                    "execution_source": <exeuction_source>,
					"restarted_from": "<bill_uid>",
					"restart_history": [],
					"context_id": "<context_id>"
                },               
                {
                    "uid": <bill_uid>,
                    "execution_status": <execution_status>,
                    "flow_name": "<flow_name>",
                    "flow_uid": <flow_uid>,
                    "project_uid": "<project_uid>",
                    "restarted": <is_restarted>,
                    "requested_at": <requested_at>,
                    "project_name": <project_name>,
                    "execution_source": <exeuction_source>,
					"restarted_from": "<bill_uid>",
					"restart_history": [],
					"context_id": "<context_id>"
                },
            ]
        }
    }

//Example 2: Using skip and limit parameters

    "output": {
        "summary": {
            "success": 2357,
            "failed": 1446,
            "total": 3803
        },
        "graph": {
            "count": 3,
            "logs": [
                {
                    "uid": "vbid90cbea802097b667ee45da9729fe5bece65242aa3d86",
                    "execution_status": "failed",
                    "flow_name": "AutomatedPurchaseOrdertracking",
                    "flow_uid": "fl9579f2ec6f01678d0d1660",
                    "project_uid": "fl9717db0ad1b50e2f585b49",
                    "restarted": false,
                    "requested_at": "01/18/2023 11:42 AM UTC",
                    "project_name": "Default",
                    "execution_source": "manual",
					"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
					"restart_history": [],
					"context_id": "abc123>"
                },
                {
                    "uid": "vbid15efb1f6c56e7ce45f191364fbe610ee6412f49673d6",
                    "execution_status": "failed",
                    "flow_name": "AutomatedPurchaseOrdertracking",
                    "flow_uid": "fl9579f2ec6f01678d0d1660",
                    "project_uid": "fl9717db0ad1b50e2f585b49",
                    "restarted": false,
                    "requested_at": "01/18/2023 11:37 AM UTC",
                    "project_name": "Default",
                    "execution_source": "manual",
					"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
					"restart_history": [],
					"context_id": "abc123"
                },
                {
                    "uid": "vbid0fe28848137e3a20ec834ccbd2ce434509d837928e20",
                    "execution_status": "failed",
                    "flow_name": "Integration1",
                    "flow_uid": "fl00a966d22c7f5be4ecf0e4",
                    "project_uid": "fl9717db0ad1b50e2f585b49",
                    "restarted": false,
                    "requested_at": "01/18/2023 09:26 AM UTC",
                    "project_name": "Default",
                    "execution_source": "manual",
					"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
					"restart_history": [],
					"context_id": "abc123"
                }
            ]
        }
    }
}
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:

  • In a REST client platform, add the authentication details of the tenant from where you want to retrieve the execution log.
Headers: 
{ 
	Authorization: BasicAuth 
} 
  • Perform a GET request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/monitor/workflow-execution/logs/<bill_uid>

Method: GET

Output:

If the request is successful, you will receive the following response code.

{
    "output": {
        "uid": "vbid3c0d929d3344af91c238a9ae0db97111eff7f96ef68b",
        "duration": "0.051 sec",
        "executed_by": "John Doe",
        "execution_status": "success",
        "flow_name": "Flow1",
        "manual_run": false,
        "project_uid": "fl3c85287675f092ff7cbe70",
        "trigger": "event",
        "start_time": "02/17/2023 02:02 AM UTC",
        "stop_time": "02/17/2023 02:02 AM UTC",
        "requested_at": "02/17/2023 02:02 AM UTC",
		"restarted_from": "vbid4ef0744e5b50a94217753ac32a02857a6e21b916f7f2",
		"restart_history": [],
        "queue": 256,
        "project_name": "Default"
		"context_id": "abc123"
    }
}

Reference Data APIs

Get Data List

Allows you to retrieve the reference data list.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to get the reference data list.

Headers: 
{
    Authorization: Basic Auth
}
  • Perform a GET request at the URL of the project.

URL Syntax: <domain>/apis/v1/rest/projects/<project_name>/referencedata

In this URL request, <project_name> is the name or UID of the project from where you want to get the data list.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status.

{
    "output": [
        {
           "name": "<name>",
           "description": "<description>",
           "columnDelimiter": "<columnDelimiter>",
           "releaseCharacter": "<releaseCharacter>",
           "columnNames": [<columnNames>],
           "dataRecords": [<dataRecords>],
           "revisionData": [<revisionData>],
           "encodingType": "<encodingType>",
           "version": "<version>"
        },
        .
        .
    ]
}

Get Data Detail

Allows you to retrieve the details of the reference data.

Steps:

  • In a REST client platform, add the authentication details of the tenant from where you want to get the details of the reference data.
Headers: 
{
	Authorization: Basic Auth
}	
Note: Accept is an optional field and the supported values are "", "application/json", and "plain/text". The default value is "application/json".
  • Perform a GET request at the URL of the project.

URL syntax: <domain>apis/v1/rest/projects/<project_name>/referencedata/<referencedata_name>

In this URL request, <project_name> is the name or UID of the project from where you want to get a reference data and <referencedata_name> is the name of the reference data you want to get the details of.

Method: GET

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

Output when the value of Accept is "application/json":

{
    "output": {
        "name": "<name>",
        "description": "<description>",
        "columnDelimiter": "<columnDelimiter>",
        "releaseCharacter": "<releaseCharacter>",
        "columnNames": [<columnNames>],
        "dataRecords": [<dataRecords>],
        "revisionData": "<revisionData>",
        "encodingType": "<encodingType>",
        "version": "<version>"
    }
}

Output when the value of Accept is "plain/text":

Raw CSV of reference data.

For example,

data11,data12,data13
data21,data22,data23
data31,data32,data33

Add

Allows you to add the reference data.

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:

  • In a REST client platform, add the authentication details of the tenant where you want to add the reference data.
Headers: 
{
	Authorization: Basic Auth
}
Body: 

	{    
        "name": "<name>"*,
        "description": "<description>",
        "file": "<file>*", //Select the file stored on your local machine.
        "file_encoding": "<file_encoding>*", //Only following file encoding formats are suppported: IBM437, windows-1252, IBM00858, IBM775, IBM850, IBM852, IBM855, IBM857, IBM862, IBM866, ISO-8859-1, ISO-8859-2, ISO-8859-4, ISO-8859-5, ISO-8859-7, ISO-8859-9, ISO-8859-13, ISO-8859-15, KOI8-R, KOI8-U, US-ASCII, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, x-UTF-32BE-BOM, x-UTF-32LE-BOM, windows-1250, windows-1251, windows-1253, windows-1254, windows-1257, x-IBM737, x-IBM874, and x-UTF-16LE-BOM
        "field_separator": "<field_separator>*",
        "text_qualifier": <text_qualifier> *        
    }

The fields marked as * are required.

  • Perform a POST request at the URL of the project.

URL syntax: <domain>apis/v1/rest/projects/<project_name>/referencedata

In this URL request, <project_name> is the name or UID of the project where you want to add the new reference data.

Method: POST

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
    "output": {
        "response": "<create_success_message>"
    }
}

Update

Allows you to update the reference data.

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:

  • In a REST client platform, add the authentication details of the tenant where you want to update the reference data.
Headers: 
{
	Authorization: Basic Auth
}
Body: 
{    
        "name": "<name>*",
        "description": "<description>",
        "file": "<file>",
        "file_encoding": "<file_encoding>*", //Only following file encoding formats are suppported: IBM437, windows-1252, IBM00858, IBM775, IBM850, IBM852, IBM855, IBM857, IBM862, IBM866, ISO-8859-1, ISO-8859-2, ISO-8859-4, ISO-8859-5, ISO-8859-7, ISO-8859-9, ISO-8859-13, ISO-8859-15, KOI8-R, KOI8-U, US-ASCII, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, x-UTF-32BE-BOM, x-UTF-32LE-BOM, windows-1250, windows-1251, windows-1253, windows-1254, windows-1257, x-IBM737, x-IBM874, and x-UTF-16LE-BOM
        "field_separator": "<field_separator>*",
        "text_qualifier": <text_qualifier> *        
}

The fields marked as * are required.

  • Perform a PUT request at the URL of the project.

URL syntax: <domain>apis/v1/rest/projects/<project_name>/referencedata/<referencedata_name>

In this URL request, <project_name> is the name or UID of the project in which you want to update a reference data and <referencedata_name> is the name of the reference data you want to update.

Method: PUT

Output:

If the request is successful, you will receive the HTTP 200 OK success status response code.

{
    "output": {
        "response": "<update_success_message>"
    }
}

Delete

Allows you to delete the reference data.

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:

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