OpenAPI
The Camunda REST API has an OpenAPI description that follows the OpenAPI Specification 3.0.2. OpenAPI is a standard, language-agnostic interface to RESTful APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection.
The OpenAPI description brings options for:
- Client Generation in different languages: Providing flexibility for adoption of the process engine in many languages and possibility for custom implementation built on top.
- Getting Started Experience: Improving the getting started experience for the users with the option to try out the REST API following along with the documentation and examples.
The documentation is shipped as a single openapi.json
file archived in a jar artifact.
Download the Camunda REST API artifact containing the OpenAPI documentation here. Choose the correct version and then download the jar
file.
Alternatively, you can obtain this artifact with the following Maven coordinates:
<dependency>
<groupId>org.camunda.bpm</groupId>
<artifactId>camunda-engine-rest-openapi</artifactId>
<version>${version.camunda}</version>
</dependency>
Client Generation
To generate REST API client in the language of your preference based on the OpenAPI documentation, you will need a client generator library, e.g. OpenAPI Generator or any other library that is compatible with OpenAPI Specification version 3.0.
Follow the steps of the OpenAPI Generator’s documentation, how to install the tool and generate a simple client in one of the supported languages.
Getting Started Experience
Instead of client generation, you can use one of the OpenAPI editors to play around with the REST API endpoints.
For example, go to Swagger Editor and paste the content of the openapi.json on the left-hand side in the editor. Start a Process engine with enabled cross-origin requests, and you will be able to execute requests from the editor.
Some API Tools also support import of endpoints via upload of a OpenAPI document. For example, Postman users can import the OpenAPI documentation and work with the REST endpoints from a single place.
Coverage
The description currently covers all endpoints of the following resources:
- Condition
- Deployment
- Engine
- Event Subscription
- External Task
- Incident
- Message
- Metrics
- Process Instance
- Process Definition
- Signal
- Schema Log
- Task
- Telemetry
- User
- Version
- Historic Activity Instance
- Historic Process Instance