No matching process definition with key

Hi,

I am following the tutorial : Deploy the Process (3/6) | docs.camunda.org
When I type this I get an error :
http://localhost:8080/engine-rest/process-definition/key/payment-retrieval/start

{“type”:“RestException”,“message”:“No matching process definition with key: payment-retrieval and no tenant-id”}

I am new to Camunda.

Regards.

1 Like

Hi,

  1. Make sure the process is deployed successfully - check the server logs
  2. Make sure to use the correct key

Log in to Camunda Admin UI and make sure the user that calls that REST endpoint is authorized to do so via the “Process Definition Authorizations”

1 Like

Hi, In my opinion, the problem may occur when we deploy DMN with tenant-id despite there is no defined tenant.

I will try to explain my test and solution. I hope it will be helpful. Note: I’m using the Cockpit 7.16 version.

Even if you have not deployed Tenant in Cockpit, Camunda REST API allows you to create a deployment with tenant-id successfully, instead of an error message such as there is no tenant… Below there is a successfully created deployment request containing tenant-id parameter:

Crete Deployment (Successfully)

However after deployment when you evaluate the deployed DMN via REST API (according to the documentation of Evaluate Decision | docs.camunda.org) , because of there is no real tenant, the return message says that : “No matching decision definition with key: testdecision and no tenant-id” despite there is a valid key.

There is my evaluate request and error message :
{{POST}}/engine-rest/decision-definition/key/testdecision/evaluate

On the other hand if you add tenant-id parameter that you added when create deployment to your request the error message is changing as below :

Request: {{POST}}/engine-rest/decision-definition/key/testdecision/tenant-id/test-tenant/evaluate
Response Message: “No matching decision definition with key: testdecision and tenant-id: test-tenant”

When I removed the tenant-id parameter from create deployment request, and evaluate with key again, it worked in my example.

My suggestion is, although it is emphasized the evaluate decision documentation : “evaluates the latest version of the decision definition which belongs to no tenant”, when create deployment with tenant, if there is no tenant, it would be great that platform doesn’t allow create deployment with a clear return message in new versions.

Best Regards

1 Like