Tasklist Public API (REST)

Number of APIs: 9

🚀 Overview

The Tasklist API is a REST API designed to build task applications for human-centered processes. The API allows you to query user tasks, assign users to these tasks, and complete these tasks.

Take a closer look at Camunda's Tasklist API (REST) documentation.

A detailed API description is also available as a Swagger UI at https://${base-url}/swagger-ui/index.html.

For SaaS: https://${REGION}.tasklist.camunda.io:443/${CLUSTER_ID}/swagger-ui/index.html, and for Self-Managed installations: http://localhost:8080/swagger-ui/index.html.

💪 What do you need to make it work?

Authentication

All requests to the Tasklist API require authentication.

This Qodex collection is configured to automatically handle the authentication process if:

  • You are using the SaaS offering of Camunda

  • You provide an API client ID and secret

1. Configure an API client

To interact with the Tasklist API programmatically, create client credentials in your cluster's settings under the API tab.

Ensure the API client is granted access to the Tasklist scope.

After client credentials are created, the Client secret is only shown once. Save this Client secret somewhere safe.

2. Configure a Qodex environment

Enable the Camunda SaaS environment in Qodex. From the Camunda 8 Qodex workspace, click the Environments tab on the left side of the page, mouse over Camunda SaaS, and click the Set active checkmark icon. See the [Qodex documentation] on managing environments for more information.

Configure the Current value of the following variables in the environment:

  • authorizationServerUrl - The URL of the authorization server. For the SaaS offering, this is https://login.cloud.camunda.io/oauth/token.

  • tasklistApiAudience - The audience associated with the API client. For the SaaS offering, this is tasklist.camunda.io.

  • tasklistApiBaseUrl - The base URL of your Tasklist instance. For the SaaS offering, this is https://${REGION}.tasklist.camunda.io/${CLUSTER_ID}, and can be captured from your API client connection information in the Camunda 8 Console.

  • tasklistApiClientId - The client ID of the API client you created in the Camunda 8 Console.

  • tasklistApiClientSecret - The client secret of the API client you created in the Camunda 8 Console.

With these values configured, a pre-request script defined on the collection will automatically retrieve an access token before each request, and store it in the tasklistApiBearerToken variable. If you forget to configure any of these variables, requests will show a failed test with an error message indicating the unconfigured variable.

If you prefer to manually manage the access token, configure its value in the tasklistApiBearerToken variable.

The access token is automatically included in the headers of every request in the collection: Authorization: Bearer {{tasklistApiBearerToken}}.

3. Make requests to the API

With the environment configured, you can now make requests to the Camunda 8 Tasklist API.

See the Camunda 8 documentation for more information on the available endpoints and their usage.

Common issues

No request made, 1/2 tests pass

If it appears no request was made, and the Test Results tab shows a failing test, there is likely misconfigured data. Common issues include:

  • No environment selected.

  • Unconfigured authorizationServerUrl, tasklistApiAudience, tasklistApiBaseUrl, tasklistApiClientId, or tasklistApiClientSecret variables.

  • Improperly formed access token.

Error message: There was an error in evaluating the Pre-request Script:Error: No data, empty input at 1:1 ^

Additional information can be found in the Qodex console. This error may indicate a problem with credentials, such as an invalid tasklistApiClientId or tasklistApiClientSecret.

403 Forbidden response

A 403 Forbidden response may indicate insufficient permissions for the API client. Ensure the client has the necessary scopes and permissions to perform the requested operation.

  1. v1-tasks-{taskId}-variables - Save draft variables for a task POST {{tasklistApiBaseUrl}}/v1/tasks/{taskId}/variables

  2. v1-tasks-{taskId}-assign - Assign a task with id to assignee. Returns the task. PATCH {{tasklistApiBaseUrl}}/v1/tasks/:taskId/assign

  3. v1-forms-{formId} - Get the form details by form id and processDefinitionKey. GET {{tasklistApiBaseUrl}}/v1/forms/:formId?processDefinitionKey=<string>

  4. v1-variables-{variableId} - Get the variable details by variable id. GET {{tasklistApiBaseUrl}}/v1/variables/:variableId

  5. v1-tasks-{taskId}-variables-search - Returns the list of task variables POST {{tasklistApiBaseUrl}}/v1/tasks/:taskId/variables/search

  6. v1-tasks-{taskId}-unassign - Unassign a task with provided id. Returns the task. PATCH {{tasklistApiBaseUrl}}/v1/tasks/:taskId/unassign

  7. v1-tasks-{taskId}-complete - Complete a task with taskId and optional variables. Returns the task. PATCH {{tasklistApiBaseUrl}}/v1/tasks/:taskId/complete

  8. v1-tasks-{taskId} - Get one task by id. Returns task or error when task does not exist. GET {{tasklistApiBaseUrl}}/v1/tasks/:taskId

  9. v1-tasks-search - Returns the list of tasks that satisfy search request params Copy POST {{tasklistApiBaseUrl}}/v1/tasks/search