REST API Reference

All modeler REST endpoints are mounted under the base path configured by cibseven.webclient.services.basePath (default: /services/v1), appended with /modeler.

Base URL: {basePath}/modeler

All endpoints require authentication unless cibsevenmodeler.authentication.enabled=false. See Authentication.


Diagrams (BPMN / DMN)

List Diagrams

GET /modeler/processes

Returns a paginated, reduced list of diagram metadata (excludes raw XML bytes).

Query Parameters:

Parameter Required Description
firstResult Yes Zero-based offset for pagination
maxResults Yes Maximum number of results to return
diagramType No Filter by type: bpmn-c7, dmn, etc.
keyword No Filter by name (case-insensitive substring)

Response: 200 OK — Array of ProcessDiagramReduce objects.


List Unified Diagrams

GET /modeler/unified-diagrams

Returns a combined list of BPMN diagrams and forms in a unified format.

Query Parameters:

Parameter Required Description
firstResult Yes Pagination offset
maxResults Yes Maximum results
keyword No Name filter
type No diagram or form

Get Diagram by ID

GET /modeler/process/{id}

Returns the full ProcessDiagramEntity including metadata.


Get Diagram XML by ID

GET /modeler/process/{id}/data

Returns the raw diagram bytes (BPMN or DMN XML) as application/octet-stream.


Create Diagram from File Upload

POST /modeler/process/create

Uploads a .bpmn or .dmn file and saves it as a new diagram.

Form Parameters:

Parameter Required Description
file Yes Multipart file upload (.bpmn or .dmn)
overwrite Yes true to overwrite an existing diagram with the same name

Save Diagram (form data)

POST /modeler/process/save

Creates or updates a diagram from form-encoded data.

Form Parameters: name, processkey, description, active, type, diagram (multipart file)


Save Diagram (JSON body)

POST /modeler/process/save/object

Creates or updates a diagram from a JSON body. If the entity’s id matches an existing record it is updated; otherwise a new record is created.

Request Body: ProcessDiagramEntity JSON object


Update Diagram

POST /modeler/process/update

Updates an existing diagram by ID with new metadata and XML.

Form Parameters: id, name, processkey, description, active, type, diagram (multipart file)


Find Diagram by Name

POST /modeler/process/find-by-name/data

Returns the raw diagram bytes for the diagram with the given name.

Query Parameters: name


Find Diagram by Process Key

POST /modeler/process/find-by-key/data

Returns the raw diagram bytes for the diagram with the given process key.

Query Parameters: key


Delete Diagram

DELETE /modeler/process/delete/{id}

Permanently deletes the diagram with the given ID.


Deployment

Deploy Diagram by File

POST /modeler/deployment/create

Deploys an uploaded diagram file directly to the CIB seven engine.

Form Parameters: deployment-name, deployment-source, deploy-changed-only, file (multipart)


Deploy Diagram by ID

POST /modeler/deployment/create/{id}

Retrieves a stored diagram by its database ID and deploys it to the engine.

Path Parameters: id (diagram database ID)


Deploy Diagram by Key (Reduce)

POST /modeler/deployment/create/reduce

Retrieves a stored diagram by process key and deploys it.

Form Parameters: deploymentName (process key), file


Check Deployment Connectivity

GET /modeler/deployment

Checks that the authenticated user has access to the deployment endpoint. Returns 200 OK if authorized.


Start Process

POST /modeler/deployment/start/{key}

Starts a new instance of the deployed process definition identified by key.

Path Parameters: key (process definition key)

Request Body: JSON map of process variables


Sessions

Open Session

POST /modeler/session/save

Records that the current user has opened a diagram or form for editing.

Form Parameters: type (diagram or form), id (diagram or form ID), diagram (current XML snapshot)


Close Session

POST /modeler/session/close

Closes one or more editing sessions for the current user.

Form Parameters: sessionId (comma-separated list), type (diagram or form)


Check Diagram Session

GET /modeler/process/session/check/{id}

Checks whether another user currently has the diagram open.

Path Parameters: id (diagram ID)

Response:

message value Meaning
NO_SESSION No one else has this diagram open
SAME_USER The current user already has it open
SESSION_FOUND Another user has it open — response includes userId and openedAt

Check Form Session

GET /modeler/form/session/check/{id}

Same as above but for forms.


Forms

List Forms

GET /modeler/forms

Returns a paginated list of saved forms.

Query Parameters: firstResult, maxResults, keyword


Get Form Schema by ID

GET /modeler/form/{id}/data

Returns the form JSON schema as application/json.


Save Form

POST /modeler/form/save

Creates a new form with the given ID and schema.

Form Parameters: formid, form_schema (multipart JSON file)


Update Form

POST /modeler/form/update

Updates an existing form.

Form Parameters: id, formid, form_schema (multipart JSON file)


Delete Form

DELETE /modeler/form/delete/{id}

Permanently deletes the form and its session records.


Chat (Enterprise Edition)

Enterprise Feature

Chat endpoints are only available in the enterprise edition when cibseven.webclient.modeler.enabled: true.

Chat endpoints are mounted under a separate base path: {basePath}/chat.

Base URL: {basePath}/chat

Get Message History

GET /chat/{roomId}/history

Returns chat messages for a room in reverse chronological order (newest first).

Path Parameters:

Parameter Description
roomId Composite room identifier — see Real-time Chat

Query Parameters:

Parameter Required Default Description
limit No 100 Maximum number of messages to return
before No ISO-8601 datetime — return only messages created before this timestamp (for pagination)
elementId No Filter messages by the BPMN element ID they are attached to

Response: 200 OK — Array of message objects including id, roomId, userId, displayName, content, createdAt, editedAt, and optionally elementId.


Get Room Presence

GET /chat/{roomId}/presence

Returns the set of users currently subscribed to the room’s WebSocket topic.

Path Parameters:

Parameter Description
roomId Composite room identifier

Response: 200 OK — Array of presence objects:

Field Description
userId Authenticated user ID
displayName User’s display name

On this Page: