Camunda REST
??? warning “Experimental module”
**Experimental** module is fully working and tested, but requires additional approbation and usage analytics,
for this reason, API may potentially undergo minor changes before fully stable.
Module to add REST API for Camunda 7 BPMN module
Dependency¶
Dependency build.gradle
:
Module:
Dependency build.gradle.kts
:
Module:
Requires Camunda BPMN module to be added.
Configuration¶
Example of the complete configuration described in the CamundaRestConfig
class (example values or default values are specified):
camunda {
rest {
enabled = false //(1)!
path = "/engine-rest" //(2)!
port = 8081 //(3)!
shutdownWait = "30s" //(4)!
openapi {
file = [ "openapi.json" ] //(5)!
enabled = false //(6)!
endpoint = "/openapi" //(7)!
swaggerui {
enabled = false //(8)!
endpoint = "/swagger-ui" //(9)!
}
rapidoc {
enabled = false //(10)!
endpoint = "/rapidoc" //(11)!
}
}
telemetry {
logging {
enabled = false //(12)!
stacktrace = true //(13)!
mask = "***" //(14)!
maskQueries = [ ] //(15)!
maskHeaders = [ "authorization" ] //(16)!
pathTemplate = true //(17)!
}
metrics {
enabled = true //(18)!
slo = [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] //(19)!
}
tracing {
enabled = true //(20)!
}
}
}
}
- Enable/disable REST API
- Prefix path to REST API
- Port on which the REST API server will be started
- Maximum time to wait for the server to complete after receiving a floating termination signal
- Relative path to OpenAPI files in the
resources
directory, default is theopenapi.json
OpenAPI file from Camunda dependencies - The on/off switch of the controller that gives the OpenAPI
- Path where OpenAPI will be available
- If a single OpenAPI file is specified, then represent entire path where file is available
- If multiple OpenAPI files are specified, is a path prefix to the file name
/openapi/{fileName}
, taking the specified path and appending the file name to it without the directories and its extension, example of the filesomeDirectory/my-openapi-1.yaml
the file path will be/openapi/my-openapi-1
.
- On/Off of the controller that gives SwaggerUI
- Path where the SwaggerUI will be accessed
- On/Off of the controller that gives Rapidoc
- Path where Rapidoc will be available
- Enables module logging (default
false
) - Enables call stack logging in case of exception
- Mask that is used to hide specified headers and request/response parameters
- List of request parameters to be hidden
- List of request/response headers that should be hidden
- Whether to always use the request path template when logging. The default is to always use the path template, except for the
TRACE
logging level, which uses the full path. - Enables module metrics (default
true
) - Configures SLO for DistributionSummary metrics
- Enables module tracing (default is
true
)
camunda:
rest:
enabled: false #(1)!
path: "/engine-rest" #(2)!
port: 8081 #(3)!
shutdownWait: "30s" #(4)!
openapi:
file: [ "openapi.json" ] #(5)!
enabled: false #(6)!
endpoint: "/openapi" #(7)!
swaggerui:
enabled: false #(8)!
endpoint: "/swagger-ui" #(9)!
rapidoc:
enabled: false #(10)!
endpoint: "/rapidoc" #(11)!
telemetry:
logging:
enabled: false #(12)!
stacktrace: true #(13)!
mask: "***" #(14)!
maskQueries: [ ] #(15)!
maskHeaders: [ "authorization" ] #(16)!
pathTemplate: true #(17)!
metrics:
enabled: true #(18)!
slo: [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] #(19)!
tracing:
enabled: true #(20)!
- Enable/disable REST API
- Prefix path to REST API
- Port on which the REST API server will be started
- Maximum time to wait for the server to complete after receiving a floating termination signal
- Relative path to OpenAPI files in the
resources
directory, default is theopenapi.json
OpenAPI file from Camunda dependencies - The on/off switch of the controller that gives the OpenAPI
- Path where OpenAPI will be available
- If a single OpenAPI file is specified, then represent entire path where file is available
- If multiple OpenAPI files are specified, is a path prefix to the file name
/openapi/{fileName}
, taking the specified path and appending the file name to it without the directories and its extension, example of the filesomeDirectory/my-openapi-1.yaml
the file path will be/openapi/my-openapi-1
.
- On/Off of the controller that gives SwaggerUI
- Path where the SwaggerUI will be accessed
- On/Off of the controller that gives Rapidoc
- Path where Rapidoc will be available
- Enables module logging (default
false
) - Enables call stack logging in case of exception
- Mask that is used to hide specified headers and request/response parameters
- List of request parameters to be hidden
- List of request/response headers that should be hidden
- Whether to always use the request path template when logging. The default is to always use the path template, except for the
TRACE
logging level, which uses the full path. - Enables module metrics (default
true
) - Configures SLO for DistributionSummary metrics
- Enables module tracing (default is
true
)
Applications¶
You can register custom jakarta.ws.rs.core.Application
with resources for APIs (e.g. for other webapp) by providing them as components in a dependency container.