Camunda 8 API (REST)
Number of APIs: 13
🚀 Overview
The Camunda 8 REST API is a REST API designed to interact with a Camunda 8 cluster.
NOTE: Ensure you authenticate before accessing the Camunda 8 REST API.
Context paths​
For SaaS: https://${REGION}.zeebe.camunda.io:443/${CLUSTER_ID}/v2/
, and for Self-Managed installations: http://localhost:8080/v2/
.
Find your region and cluster id under Connection information in your client credentials (revealed when you click on your client under the API tab within your cluster).
For Self-Managed, the host and port depend on your configuration. The context path mentioned here is the default for the Zeebe component.
API Explorer​
See the interactive Camunda 8 REST API Explorer for specifications, example requests and responses, and code samples of interacting with the Camunda 8 REST API.
💪 What do you need to make it work?
To access the API endpoint, you need an access token.
Your client must send a header in each request:
Authorization: Bearer
For example, send a request using curl:
curl -XGET -H'Accept: application/json' -H'Authorization: Bearer <TOKEN>' http://localhost:8080/v2/topology
How to obtain the access token​
You must obtain a token to use the Camunda 8 REST API. When you create a Zeebe client, you get all the information needed to connect to Zeebe.
Refer to our guide on building your own client.
The following settings are needed:
Name | Description | Default value |
---|---|---|
client id | Name of your registered client | - |
client secret | Password for your registered client | - |
audience | Permission name; if not given use default value | zeebe.camunda.io |
authorization server url | Token issuer server | - |
Send a token issue POST request to the authorization server with the following content:
{ "client_id": "<client-id>", "client_secret": "<client-secret>", "audience": "<audience>", "grant_type": "client_credentials"}
Refer to the following example with curl:
curl -X POST --header 'content-type: application/json' --data '{"client_id": "<client-id>", "client_secret":"<client-secret>","audience":"<audience>","grant_type":"client_credentials"}' https://<authorization server url>
If the authentication is successful, the authorization server sends back the access token, when it expires, scope, and type:
{ "access_token": "ey...", "scope": "...", "expires_in": 86400, "token_type": "Bearer"}
-
Cluster - Get cluster typology GET {{baseUrl}}/v2/topology
-
Job - Activate jobs POST {{baseUrl}}/v2/jobs/activation
-
Job - Fail job POST {{baseUrl}}/v2/jobs/:jobKey/failure
-
Job - Report error for job POST {{baseUrl}}/v2/jobs/:jobKey/error
-
User task - Complete a user task POST {{baseUrl}}/v2/user-tasks/:userTaskKey/completion
-
User task - Assign a user task POST {{baseUrl}}/v2/user-tasks/:userTaskKey/assignment
-
User task - Update a user task PATCH {{baseUrl}}/v2/user-tasks/:userTaskKey
-
User task - Unassign a user task DELETE {{baseUrl}}/v2/user-tasks/:userTaskKey/assignee
-
User task - Query user tasks (experimental) POST {{baseUrl}}/v2/user-tasks/search
-
Decision definition - Query decision definitions (experimental) POST {{baseUrl}}/v2/decision-definitions/search