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.
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.
Endpoint | Resource Type | Permission type |
---|---|---|
POST /v1/process-definitions/search | PROCESS_DEFINITION | READ_PROCESS_DEFINITION |
GET /v1/process-definitions/:key | PROCESS_DEFINITION | READ_PROCESS_DEFINITION |
GET v1/process-definitions/:key/xml | PROCESS_DEFINITION | READ_PROCESS_DEFINITION |
POST /v1/decision-definitions/search | DECISION_DEFINITION | READ_DECISION_DEFINITION |
GET /v1/decision-definitions/:key | DECISION_DEFINITION | READ_DECISION_DEFINITION |
POST /v1/decision-instances/search | DECISION_DEFINITION | READ_DECISION_INSTANCE |
GET /v1/decision-instances/:id | DECISION_DEFINITION | READ_DECISION_INSTANCE |
POST /v1/flownode-instances/search | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
GET /v1/flownode-instances/:key | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
POST /v1/variables/search | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
GET /v1/variables/:key | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
POST /v1/process-instances/search | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
GET /v1/process-instances/:key | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
GET /v1/process-instances/:key/statistics | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
GET /v1/process-instances/:key/sequence-flows | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
DEL /v1/process-instances/:key | PROCESS_DEFINITION | DELETE_PROCESS_INSTANCE |
POST /v1/drd/search | DECISION_REQUIREMENTS_DEFINITION | READ |
GET /v1/drd/:key | DECISION_REQUIREMENTS_DEFINITION | READ |
GET /v1/drd/:key/xml | DECISION_REQUIREMENTS_DEFINITION | READ |
POST /v1/incidents/search | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |
GET /v1/incidents/:key | PROCESS_DEFINITION | READ_PROCESS_INSTANCE |