REST API
The generated OpenAPI reference is the authoritative, always-current source:
A live installation also serves the interactive browser under /docs.
The rest of this page covers what changed with 5.0, so an existing integration can be checked quickly.
Note
The API keeps the name “connection”. The user interface calls the same
object a workflow, but the endpoints, the DTOs and the fields
(/connection, connectionId) were deliberately left unchanged so
existing clients keep working.
Workflow payload structure
This is the one breaking change in the data model.
Up to 4.8 a connection had two connector containers, fromConnector and
toConnector, and every method belonged to one of them.
Since 5.0:
all methods and operators live under a single
fromConnectorcontainer,that container has
connectorId: -1and the titleDEFAULT— it is a holder, not a real connector,toConnectorisnull,every method carries its own connector reference and its type.
New fields on a method
Field |
Type |
Description |
|---|---|---|
|
object |
|
|
enum |
|
methodType values are a frozen contract: they are persisted in every method
document and hardcoded on the UI side.
Value |
Meaning |
|---|---|
|
Calls an operation defined in the invoker of a connector. |
|
A free-form REST call with its own URL, headers and body — no invoker. |
|
Triggers the schedule of another workflow through its webhook, asynchronously. |
|
Legacy data. Keeps the pre-type behaviour: the invoker is inferred from the enclosing or own connector, falling back to a plain HTTP request. |
Example
{
"connectionId": 42,
"title": "idoit2CheckMK",
"fromConnector": {
"connectorId": -1,
"title": "DEFAULT",
"methods": [
{
"id": "…",
"index": "0",
"name": "getObjects",
"methodType": "CONNECTOR",
"connector": { "connectorId": 7, "title": "i-doit" },
"request": { },
"response": { }
},
{
"id": "…",
"index": "1",
"name": "createHost",
"methodType": "CONNECTOR",
"connector": { "connectorId": 9, "title": "CheckMK" },
"request": { },
"response": { }
}
],
"operators": []
},
"toConnector": null,
"fieldBinding": [ ]
}
Reading documents written by older versions
Documents stored by 4.x are converted to this shape on the read path, in memory. The stored document is not modified until the workflow is saved again. The conversion:
stamps every method with the connector it originally belonged to,
prefixes the indexes of the former from side with
0_and those of the former to side with1_, preserving the execution order,merges all methods and operators under one container,
leaves
fieldBindinguntouched — bindings reference methods by colour code.
Warning
A client that writes a workflow back in the new shape makes the stored document unreadable for a 4.x installation.
Operator expressions
OperatorDTO carries an expression (evaluated by the OCEL expression
processor) in addition to the legacy condition. Saving an operator without an
expression is rejected with OPERATOR_EXPRESSION_IS_EMPTY; the response names
the operator so a client can point at it.
New endpoints
Application configuration
Endpoint |
Description |
|---|---|
|
Returns the current |
|
Applies the |
Both require the Admin authority and answer 403 otherwise. A malformed
envelope — anything without a fields array — is rejected with 400.
Test connections
Endpoint |
Description |
|---|---|
|
Permanently removes all leftover test connections. A test connection that is currently running is excluded. Returns a cleanup result. |
Connector icons and health
Endpoint |
Description |
|---|---|
|
Uploads or replaces the icon of a connector
( |
|
Deletes the icon of a connector. |
|
Checks the connection to the remote application with the credentials set in the connector. Used by the workflow editor for its per-connector status dot. |
Note
POST /storage/connector still accepts a connector icon but is
deprecated — use POST /connector/{id}/icon.
Dashboard widgets
Endpoint |
Description |
|---|---|
|
Executions and failures per day for the last |
|
The connections with the highest all-time execution count, with their
failure rate. Default |
Changed endpoints
Endpoint |
Change |
|---|---|
|
New |
|
Same new |
|
Same new |
|
Same new |
|
New form of the title-uniqueness check, taking the name as a query parameter so titles containing characters that are awkward in a path (spaces, slashes, apostrophes) work reliably. |
|
Deprecated. Use |
|
New |
|
Now transactional. A failure no longer leaves the role’s permissions partially deleted. |
Deprecated
These still work but should not be used in new integrations. They are marked
deprecated in the OpenAPI spec:
Endpoint |
Use instead |
|---|---|
|
|
|
|
|
|
Removed
Endpoint |
Note |
|---|---|
|
The Neo4j-to-MongoDB migration. Run it while still on the 4.x line; see Updating. |
|
Replaced by the new log structure:
|
Unchanged but worth knowing
The following existed before 5.0 and are the endpoints the new UI relies on most:
POST /connection/execution/test— starts a test run by temporarily creating a connection and a scheduler. Combined withDELETE /connection/testand the sweeper for cleanup.POST /connection/validate— validates the structure of a workflow. This is what produces the step-specific errors the editor highlights.GET /connection/{connectionId}/versions,GET|DELETE|PUT /connection/{connectionId}/version/{snapshotId},PUT /connection/{connectionId}/switch-version/{snapshotId}— the version history behind the editor’s Version History dialog.PATCH /connection/{connectionId}and the method/operator and fieldBinding patch endpoints — incremental saves.GET /connection/{connectionId}/rule/alland theruleendpoints — the masking rules used by the support-log bundles.