Working with APIs & tools
This section steps through two concepts for integration:
- Control your Camunda 8 process automation by deploying processes, starting process instances, activating jobs, and more using supplemental and community-maintained Zeebe client libraries.
- Interact with the Camunda 8 ecosystem by learning about Camunda Components and their APIs to communicate with your cluster, search, get and change data, create Cloud API clients, and more.
You're permitted to use these web apps and APIs for free with the Free Edition in non-production environments. To use the software in production, purchase the Camunda Enterprise Edition. Read more in our licensing documentation.
Deploy processes, start process instances, and more using Zeebe client libraries
Clients allow applications to do the following:
- Deploy processes.
- Start and cancel process instances.
- Activate jobs, work on those jobs, and subsequently complete or fail jobs.
- Publish messages.
- Update process instance variables and resolve incidents.
The official clients mentioned below interact with Zeebe, the workflow engine integrated into Camunda 8. All clients require setting up client credentials to authenticate. Clients connect to Camunda 8 via gRPC, a high-performance, open source, and universal RPC protocol.
Camunda 8 provides several official clients based on this API. Official clients have been developed and tested by Camunda. They also add convenience functions (for example, thread handling for job workers) on top of the core API.
Official Zeebe clients
Official clients have been developed and tested by Camunda. They also add convenience functions (e.g. thread handling for job workers) on top of the core API.
📄️ CLI client
Learn how to use the CLI client and command line interface `zbctl` to interact with Camunda 8 and test a connection.
📄️ Go client
Instantiate the client by passing in the address of the cluster you want to connect to in a Go application to interact with Camunda 8.
📄️ Java client
Provide a job worker that handles polling for available jobs, use SLF4J for logging useful notes, and more.
Other components in Camunda 8, such as Tasklist API (GraphQL), provide language-agnostic APIs, but no clients to interact with them. GraphQL enables you to query, claim, and complete user tasks.
Community clients
Community clients supplement the official clients. These clients have not been tested by Camunda.
It is also possible to build your own client You can browse other community extensions and the most up-to-date list of community clients here.
Learn about Camunda Components and their APIs
Camunda 8 components have APIs to enable polyglot developers to work with in their programming language of choice. Below are links to available component APIs.
API Reference
📄️ Administration API (REST)
Create and manage clusters, and interact with Camunda 8 programmatically without using the Camunda 8 Console.
📄️ Operate API (REST)
Operate API is a REST API and provides searching, getting, and changing Operate data. Requests and responses are in JSON.
📄️ Optimize API (REST)
📄️ Tasklist API (GraphQL)
Build apps powered by BPMN that require human interaction, and make requests.
📄️ Tasklist API (REST)
Tasklist API is a REST API and provides searching, getting, and changing Tasklist data.
📄️ Web Modeler API (Beta, REST)
Web Modeler API (beta) is a REST API and provides access to Web Modeler data. Requests and responses are in JSON notation.
📄️ Zeebe API (gRPC)
Zeebe clients use gRPC to communicate with the cluster. Activate jobs, cancel and create process instances, and more.