Skip to content

Service deployments ​

Deploying a workflow as a service allows you to call the workflow from an external application via a REST API.

Before you start ​

You need:

  • Edit right on a team space
  • A workflow containing Container Input and Output nodes

Step 1 — Build the workflow ​

Container Input nodes ​

Container Input nodes define what your workflow expects to receive from the caller. Choose the node type to match the data format:

NodeInput format
Container Input (JSON)JSON object or array
Container Input (Row)A single table row
Container Input (File)A binary file
Container Input (Variable)A set of flow variables

Configure each Container Input node with example data. This example becomes the default request body shown in the API documentation.

Container Output nodes ​

Container Output nodes define what the workflow sends back. Choose the node type to match what callers expect:

NodeOutput format
Container Output (JSON)JSON object
Container Output (Row)A single table row
Container Output (Table)A full table
Container Output (File)A binary file

Example: a simple JSON service ​

A minimal service workflow has three parts:

  1. A Container Input (JSON) node — receives the request body
  2. Processing nodes — transforms the data
  3. A Container Output (JSON) node — returns the result

In the Container Input (JSON) configuration dialog, enter the JSON structure the workflow will receive. In the Container Output (JSON) dialog, click Fill example JSON from input data to preview what the response will look like.

Step 2 — Create a version ​

You can only create deployments from a version of the workflow. See Create a version.

Step 3 — Create the service deployment ​

  1. On the workflow page, click Deploy → Create service.
  2. Enter a deployment name.
  3. Select the workflow version.
  4. Select an environment.
  5. Enable the desired email notifications.
  6. Select the deployment execution scope.
  7. Set the configuration options

Step 4 — Share the deployment ​

Other users can call the endpoint only if you share the deployment with them.

  1. Click the three-dot menu on the deployment row.
  2. Select Manage access.
  3. Search for users, teams or groups and click Add.
  4. Copy the endpoint link to the clipboard.
  5. Select who can call the endpoint:
    • Restricted: only users manually added in the previous steps.
    • Any signed-in users: every user, also from other teams.

Users you share with can call the endpoint using their own application password.

Step 5 — Find the endpoint and API documentation ​

Knime generates interactive API documentation for each deployment using Swagger UI.

  1. Navigate to the deployment.
  2. Click the three-dot menu and select Open API docs.

Swagger UI shows the endpoint URL, the expected request body structure, and the response format.

Step 6 — Test from Swagger UI ​

  1. Expand the POST execution endpoint.
  2. Click Try it out.
  3. Modify the input values in the request body.
  4. Click Execute.

Scroll down to see the response code and the output from your workflow.

Step 7 — Call from an external tool ​

To call the endpoint from an external tool such as Postman or a script, you need an application password. Application password id and password can be used as basic authentication in the external tool calling the endpoint.

TIP

Each user who needs to call the endpoint must create their own application password. The password authenticates the caller against their own permissions on the deployment.

Update the deployment ​

Deployments are pinned to a specific workflow version. To update what the endpoint runs:

  1. Make your changes in the editor.
  2. Create a new version.
  3. Open the deployment settings and select the new version.

The endpoint immediately runs the updated workflow on the next execution.