camunda-platform-rest-api icon indicating copy to clipboard operation
camunda-platform-rest-api copied to clipboard

A REST API for Camunda Platform 8

Camunda Platform REST API

Community Extension
Compatible with: Camunda Platform 8 Lifecycle: Unmaintained GitHub

[!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!

Introduction

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.

API

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.

Getting Started

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.

Documentation

Read the docs for any further information:

Acknowledgements

This software would not be possible without these awesome projects:

A full list of projects we depend on can be found in the pom file.

License

Camunda Platform REST API is Open Source software released under the Apache 2.0 license.