Warning
This project is unmaintained - There are ongoing efforts to add a REST API to Zeebe and ideas about unifying the REST APIs of all Camunda Platform 8 components. With that, it's time to sunset this project.
Working on this project has taught me much about Spring and Kotlin and even more about REST APIs. I'm proud that Camunda is taking a path that was explored by this project and took note of our successes and mistakes to make a better product.
Thank you all for all your feedback and support. Happy RESTful orchestrating!
Camunda Platform REST API is a REST API to interact with Camunda Platform 8.
Camunda Platform 8 has multiple different APIs. Typically, one for each component. There are gRPC, GraphQL, and REST APIs for you to connect to and learn, which can be difficult and time consuming. Camunda Platform REST API offers a single consistent REST API to interact with Camunda Platform 8.
- Get Started Quickly
Camunda Platform REST API was designed to be easily installed, to get you connected to Camunda Platform 8 quickly.
- Easy to Use
Thanks to a consistent API design and an OpenAPI specification, you can focus on interacting with Camunda Platform 8.
- Community Driven
This project is community maintained. We welcome contributions for feature requests and bug reports, as well as for docs and code changes.
Method | Resource | Description |
---|---|---|
GET |
/status |
Retrieve the Topology of a Zeebe cluster |
POST |
/process-instances |
Create a new Process Instance |
GET |
/process-instances/{key} |
Retrieve the details of a Process Instance |
GET |
/jobs |
Activate Jobs |
PATCH |
/jobs/{key} |
Update a Job |
.. | .. | Not yet implemented |
You can find the full API reference documentation in the openapi.yaml
specification, and in the Docs.
The easiest way to start the Camunda Platform REST API is using Docker.
docker pull ghcr.io/korthout/camunda-platform-rest-api:latest
Using the provided Docker Compose file you can start a new local Camunda Platform 8 cluster and connect the Camunda Platform REST API to it. This is a great way to try out the Camunda Platform REST API before connecting it to your production cluster.
docker compose -f ./docker/docker-compose.yml up -d
Once running, you can try it out the REST API.
curl localhost:8080/status
Or, explore the API in Swagger UI running at /swagger-ui.
Read the docs for any further information:
This software would not be possible without these awesome projects:
- Spring Zeebe - Easily use the Zeebe Java Client in your Spring or Spring Boot projects
- Camunda Operate Client - Simplified Java client for the Operate API of Camunda Platform 8
- OpenAPI Generator - Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents
- Docusaurus OpenAPI Doc Generator - OpenAPI plugin for generating API reference docs in Docusaurus v2.
- kotlin-duration-string
- A tiny Kotlin library for dealing with human-readable duration strings like
2h 45m 50s
A full list of projects we depend on can be found in the pom file.
Camunda Platform REST API is Open Source software released under the Apache 2.0 license.