Flowable REST API

A Jmix application with the BPM add‑on can use Flowable REST APIs:

  • BPMN REST API includes endpoints for process definitions, runtime and historic instances, user tasks, and more (see Flowable docs for the full list).

  • DMN REST API includes endpoints for managing decision tables (see the Flowable docs for the full list).

Gradle Dependencies

To enable the APIs, add the appropriate dependencies to build.gradle:

build.gradle
dependencies {
    //...
    implementation 'org.flowable:flowable-spring-boot-starter-process-rest'
    implementation 'org.flowable:flowable-spring-boot-starter-dmn-rest'
}

Base Path Configuration

The REST APIs are reachable under separate base paths. The default locations are:

Base Path Example URL

BPMN REST API

/process-api

http://localhost:8080/process-api/repository/process-definitions

DMN REST API

/dmn-api

http://localhost:8080/dmn-api/dmn-repository/deployments

If a context path is set, prepend it to the URLs. For example, with server.servlet.context-path=/app the DMN URL becomes http://localhost:8080/app/rest/bpm/dmn/dmn-repository/deployments

To change the default paths, set the desired values in application.properties:

application.properties
flowable.process.servlet.path=/rest/bpm/process
flowable.dmn.servlet.path=/rest/bpm/dmn

Security Configuration

After adding the dependencies, configure Spring Security for the Flowable REST endpoints in your Jmix project. The Custom Endpoints section provides sample code for the following scenarios:

  • Public endpoint

  • HTTP Basic Authentication

  • Token Based Authentication