Skip to main content
Version: 8.8 (unreleased)

Migrate Component V1 APIs

This document outlines the necessary changes to continue using the component REST APIs after upgrading to Camunda 8.8—if migration to the new Orchestration Cluster REST API is not yet possible.

In this context, components refer to standalone Camunda applications such as Operate, Tasklist, and Optimize, each exposing its own V1 REST API.

note

As of version 8.8, the V1 component APIs are deprecated. We strongly recommend migrating to the Orchestration Cluster REST API where possible.

Migrate Operate V1 API

With Camunda 8.8, permissions for resource access have been reworked. For the Operate V1 API, this means that access to endpoints now depends on specific read and write permissions for related resources.
To continue using the Operate V1 API, users and clients must be assigned the appropriate permissions under the new model.

Users now require wildcard (*) permissions for the resource type and permission type being accessed.

For guidance on assigning permissions in Identity, see the Identity authorization guide.

Operate permissions to new resource permissions mapping

To maintain the same access level for the Operate V1 API, apply the following mappings:

operate-api:read is replaced by:

  • PROCESS_DEFINITION:*:READ_PROCESS_DEFINITION,READ_PROCESSINSTANCE
  • DECISION_DEFINITION:*:READ_DECISION_DEFINITION
  • DECISION_REQUIREMENTS_DEFINITION:*:READ

operate-api:write is replaced by:

  • PROCESS_DEFINITION:*:DELETE_PROCESS_INSTANCES

Complete list of resource permissions

To enable more fine-grained access control, the matrix below details the required permissions for each Operate V1 API endpoint.
Ensure the user has general access (resource ID *) for each listed resource and permission type.

EndpointResource TypePermission type
POST /v1/process-definitions/searchPROCESS_DEFINITIONREAD_PROCESS_DEFINITION
GET /v1/process-definitions/:keyPROCESS_DEFINITIONREAD_PROCESS_DEFINITION
GET v1/process-definitions/:key/xmlPROCESS_DEFINITIONREAD_PROCESS_DEFINITION
POST /v1/decision-definitions/searchDECISION_DEFINITIONREAD_DECISION_DEFINITION
GET /v1/decision-definitions/:keyDECISION_DEFINITIONREAD_DECISION_DEFINITION
POST /v1/decision-instances/searchDECISION_DEFINITIONREAD_DECISION_INSTANCE
GET /v1/decision-instances/:idDECISION_DEFINITIONREAD_DECISION_INSTANCE
POST /v1/flownode-instances/searchPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
GET /v1/flownode-instances/:keyPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
POST /v1/variables/searchPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
GET /v1/variables/:keyPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
POST /v1/process-instances/searchPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
GET /v1/process-instances/:keyPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
GET /v1/process-instances/:key/statisticsPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
GET /v1/process-instances/:key/sequence-flowsPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
DEL /v1/process-instances/:keyPROCESS_DEFINITIONDELETE_PROCESS_INSTANCE
POST /v1/drd/searchDECISION_REQUIREMENTS_DEFINITIONREAD
GET /v1/drd/:keyDECISION_REQUIREMENTS_DEFINITIONREAD
GET /v1/drd/:key/xmlDECISION_REQUIREMENTS_DEFINITIONREAD
POST /v1/incidents/searchPROCESS_DEFINITIONREAD_PROCESS_INSTANCE
GET /v1/incidents/:keyPROCESS_DEFINITIONREAD_PROCESS_INSTANCE