openapi: 3.0.2
info:
license:
name: GPL-v2.0
url: http://www.gnu.org/licenses/gpl-2.0.txt
version: 1.0.9
title: Bonita API
description: |
Download OpenAPI specification
Download Postman collection
The REST API lets you access the data with HTTP requests; it is useful when implementing rich web forms / pages for a good user experience.
An open source [java client](https://github.com/bonitasoft/bonita-java-client) is implemented above the HTTP API. It is available on [Maven central](https://search.maven.org/search?q=g:%22org.bonitasoft.web%22%20AND%20a:%22bonita-java-client%22).
If your application is using a technology other than Java, you can integrate it with the Bonita solution using the Web REST API. This API provides
access to all Bonita objects (like processes, tasks, users, connectors etc.), to execute operations on them (create, retrieve, update, delete).
You can use these operations to create a workflow with Bonita and integrate it into your application. The Bonita Engine remains responsible for executing
the workflow logic (connectors, gateways with conditions, messages, timers etc.) while your application gives access to the workflow.
Users can manage processes and tasks, and perform administrative activities.
### API Extensions
You can create [Rest API Extensions](https://documentation.ofelia.com/bonita/latest/api/rest-api-extensions) to extend the Rest API by adding missing resources (not provided by the Rest API).
It is possible for an extension to interact with the engine (via the API) or with any other external service (for example a database, a directory, or a web service).
### Create a resource
| Request URL | `http://.../API/{API_name}/{resource_name}/ `|
|:-|:-|
| Request Method | POST|
| Request Payload | an item in JSON|
| Response | the same item in JSON, containing the values provided in the posted item, completed with default values and identifiers provided by Bonita Engine.|
### Read a resource
| Request URL | `http://.../API/{API_name}/{resource_name}/{id} `|
|:-|:-|
| Request Method | GET|
| Response | an item in JSON|
Example `http://.../API/identity/user/5 `
#### Extend resource response
On some resources, in GET methods the `d` (deploy) URL query parameter can be used to extend the response objects. The value of this parameter consists of an attribute for which you want to make an extended request (called a deploy) and retrieve attributes of a linked resource.
This means that instead of retrieving the ID or a parent or referenced resource, you can retrieve the full object.
For example, when you retrieve a task, you can also retrieve the process definition attributes in addition to the process definition ID that is already part of the task resource.
The supported deploy values for a task include its process (d=processId).
Specifiy multiple `d` parameter to extend several resources. For instance, to retrieve the flow node of id 143 and the associated process, process instance and assigned user, call `/API/bpm/flowNode/143?d=processId&d=caseId&d=assigned_id`
#### With compound identifier
The order of the identifier parts for each resource type is given in the table above.
| Request URL | `http://.../API/{API_name}/{resource_name}/{id_part1}/{id_part2} `|
|:-|:-|
| Request Method | GET|
| Response | an item in JSON|
Example `http://.../API/identity/membership/5/12/24 `
### Update a resource
| Request URL | `http://.../API/{API_name}/{resource_name}/{id} `|
|:-|:-|
| Request Method | PUT|
| Request Payload | a map in JSON containing the new values for the attributes you want to change.|
| Response | the corresponding item in JSON with new values where you requested a modification|
Example `http://.../API/identity/user/5`
#### With compound identifier:
Response: the corresponding item in JSON with new values where you requested a modification.
| Request URL | `http://.../API/{API_name}/{resource_name}/{id_part1}/{id_part2} `|
|:-|:-|
| Request Method | PUT|
| Request Payload | ` a map in JSON containing the new values for the attributes you want to change `|
| Response | ` the corresponding item in JSON with new values where you requested a modification`|
Example
`http://.../API/identity/membership/5/12/24 `
### Delete resources
Use the DELETE request to remove multiple resources.
| Request URL | `http://.../API/{API_name}/{resource_name}/ `|
|:-|:-|
| Request Method | DELETE|
| Request Payload | A list of identifiers in JSON, for example `["id1","id2","id3"]`. Compound identifiers are separated by '/' characters.|
| Response | `empty `|
Example
`http://.../API/identity/membership/ `
### Search for a resource
The required object is specified with a set of filters in the request URL. The URL parameters must be URL-encoded.
Results are returned in a paged list, so you have to specify the page (counting from zero), and the number of results per page (count), additionally you can define a sort key (order). You can see the total number of matching results in the HTTP response header Content-Range.
If you are searching for business data using a custom query, there must be a [count query in the BDM](https://documentation.ofelia.com/bonita/latest/data/define-and-deploy-the-bdm). If there is no count query, results from a custom query on business data cannot be paged properly (the header Content-Range will be absent).
For business data default queries, the count query is defined automatically.
The available filters are the attributes of the item plus some specific filters defined by each item.
| Request URL | `http://.../API/{API_name}/{resource_name}?p={page}&c={count}&o={order}&s={query}&f={filter_name}={filter_value}&f=... `|
|:-|:-|
| Request Method | GET|
| Response | an array of items in JSON|
Example
`/API/identity/user?p=0&c=10&o=firstname&s=test&f=manager_id=3`
For a GET method that retrieves more than one instance of a resource, you can specify the following request parameters:
* p (Mandatory): index of the page to display
* c (Mandatory): maximum number of elements to retrieve
* o: order of presentation of values in response: must be either `attributeName ASC` or `attributeName DESC`. The final order parameter value must be URL encoded.
* f: list of filters, specified as `attributeName=attributeValue`. To filter on more than one attribute, specify an f parameters for each attribute. The final filter parameter value must be URL encoded.
The attributes you can filter on are specific to the resource.
* s: search on name or search indexes. Before Bonita 2024.1, the matching policy depended on the configuration of [word-based search](https://documentation.ofelia.com/bonita/2023.2/api/using-list-and-search-methods#word_based_search).
For example, if word-based search was enabled, `s=Valid` returned matches containing the string "valid" at the start of any word in the attribute value word,
such as "Valid address", "Not a valid address", and "Validated request" but not "Invalid request".
If word-based search was disabled, `s=Valid` returned matches containing the string "valid" at the start of the attribute value, such as "Valid address" or "Validated request" but not "Not a valid address" or "Invalid request".
Since Bonita 2024.1, the search mode can no longer be configured and a "like-based" algorithm is used. This means all the matching records for which the search term occurs anywhere in a phrase or a word are returned.
### Errors
The API uses standard HTTP status codes to indicate the success or failure of the API call.
If you get a `401` response code :
- make sure that the cookies have been transfered with the call
- make sure that the cookies transfered are the ones generated during the last sucessfull login call
- if one of the PUT, DELETE or POST method is used, make sure that the `X-Bonita-API-Token` header is included
- if the X-Bonita-API-Token header is included, make sure that the value is the same as the one of the cookie generated during the last login
- Maybe a logout was issued or the session has expired; try to log in again, and re run the request with the new cookies and the new value for the `X-Bonita-API-Token` header.
x-logo:
url: images/ofelia-logo.svg
backgroundColor: '#19465f'
altText: Bonita API
href: /
servers:
- url: http://localhost:8080/bonita
description: Sample url for a local development server.
security:
- bonita_auth: []
bonita_token: []
- bearer_auth: []
tags:
- name: Activity
x-displayName: Activity
description: Activity
- name: ActivityVariable
x-displayName: ActivityVariable
description: ActivityVariable
- name: ArchivedActivityVariable
x-displayName: ArchivedActivityVariable
description: ArchivedActivityVariable
- name: Actor
x-displayName: Actor
description: Actor
- name: ActorMember
x-displayName: ActorMember
description: ActorMember
- name: Application
x-displayName: Application
description: Manage applications. This enables you to build a consistent functional applicative environment for users to interact with business processes and business data from one place.
- name: ApplicationMenu
x-displayName: ApplicationMenu
description: |
Manage the set of menus in an application. This set of menus enables a user to navigate to the application pages.
There are two types of menu item:
A top-level item appears in the navigation bar of the application. A top-level item can be clickable, leading to a page, or can be a parent for a menu of clickable items.
A child menu item becomes visible in a menu when the parent is selected. A child menu item is clickable and leads to a page.
Each menu item has an index that defines the position in the menu. For a top-level menu item, this is the position in the the navigation bar counting from the left. For a child menu item, this is the position in the menu counting from the top.
- name: ApplicationPage
x-displayName: ApplicationPage
description: |
An application page is a custom page that has been associated with an application. Use this resource to manage application pages and define the paths used to access them. This list of pages will be used to build the application menus.
- name: ArchivedActivity
x-displayName: ArchivedActivity
description: ArchivedActivity
- name: ArchivedProcessInstance
x-displayName: ArchivedProcessInstance
description: ArchivedProcessInstance
- name: ArchivedProcessInstanceComment
x-displayName: ArchivedProcessInstanceComment
description: ArchivedProcessInstanceComment
- name: ArchivedProcessInstanceDocument
x-displayName: ArchivedProcessInstanceDocument
description: ArchivedProcessInstanceDocument
- name: ArchivedConnectorInstance
x-displayName: ArchivedConnectorInstance
description: ArchivedConnectorInstance
- name: ArchivedFlowNode
x-displayName: ArchivedFlowNode
description: ArchivedFlowNode
- name: ArchivedHumanTask
x-displayName: ArchivedHumanTask
description: ArchivedHumanTask
- name: ArchivedManualTask
x-displayName: ArchivedManualTask
description: ArchivedManualTask
- name: ArchivedTask
x-displayName: ArchivedTask
description: ArchivedTask
- name: ArchivedUserTask
x-displayName: ArchivedUserTask
description: ArchivedUserTask
- name: Authentication
x-displayName: Authentication
description: Authentication
- name: PlatformAuthentication
x-displayName: Platform Authentication
description: Platform Authentication
- name: BDM
x-displayName: Business Data Model
description: |
Show status or install or update the Business Data Model.
Installing or updating a BDM needs to be done in two successive steps:
1. Upload a BDM file
2. Install/Update the previously uploaded file
**To do this, the maintenance mode needs to be enabled.**
**In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM.**
- name: BDMAccessControl
x-displayName: BDMAccessControl
description: BDM Access control is available to protect the BDM. You can use this API to get the access control status (lastUpdatedBy, lastUpdateDate...).
- name: Business Data Operations
x-displayName: Business Data Operations
description: BDM Rest APIs allow to create / update / delete / import in bulk Bonita Business Data.
- name: BusinessDataQuery
x-displayName: BusinessDataQuery
description: BDM Rest APIs allow to query Bonita Business Data.
- name: BPM
x-displayName: BPM
description: Easily retrieve human or service tasks, call activities, and subprocesses with BPM APIs. Perform maintenance tasks.
- name: ProcessInstance
x-displayName: ProcessInstance
description: ProcessInstance
- name: ProcessInstanceComment
x-displayName: ProcessInstanceComment
description: ProcessInstanceComment
- name: ProcessInstanceDocument
x-displayName: ProcessInstanceDocument
description: ProcessInstanceDocument
- name: ProcessInstanceInfo
x-displayName: ProcessInstanceInfo
description: ProcessInstanceInfo
- name: ProcessInstanceVariable
x-displayName: ProcessInstanceVariable
description: ProcessInstanceVariable
- name: ArchivedProcessInstanceVariable
x-displayName: ArchivedProcessInstanceVariable
description: ArchivedProcessInstanceVariable
- name: ConnectorFailure
x-displayName: ConnectorFailure
description: ConnectorFailure
- name: ConnectorInstance
x-displayName: ConnectorInstance
description: ConnectorInstance
- name: CustomUser
x-displayName: CustomUser
description: CustomUser
- name: CustomUserDefinition
x-displayName: CustomUserDefinition
description: CustomUserDefinition
- name: CustomUserValue
x-displayName: CustomUserValue
description: CustomUserValue
- name: DataRetention
x-displayName: Data Retention
description: |
Configure how Bonita automatically deletes obsolete business data. A retention rule applies to a specific business object type and defines when its instances become eligible for deletion based on a reference date (creation or last update) and a retention period in days. The data retention service runs on a configurable cron schedule.
This Web REST API is available in **Enterprise editions only**, since version 11.0.
- name: Delegation
x-displayName: Delegation
description: |
Delegate human tasks from one user (the delegator) to another (the delegate) for a bounded period and a whitelist of processes. Delegation grants the delegate visibility and execution rights on the delegator's tasks without reassigning them: ownership and the audit trail are preserved. A user can hold at most one delegation rule at a time, and a rule's status (scheduled, active, expired) is derived from its date range.
Id fields are sent as numeric `int64` in request bodies but returned as strings in responses, to avoid JavaScript precision loss on large `long` values; this is intentional and documented per field.
There is no `GET /API/delegation/rule/{ruleId}`: the engine does not expose a single-rule read, so fetch a rule through the search endpoint (`GET /API/delegation/rule`) filtered by `id`. This is a known API gap, not a spec omission.
This Web REST API is available in **Enterprise editions only**, since version 2026.2.
- name: Diagram
x-displayName: Diagram
description: Diagram
- name: ProcessInfo
x-displayName: ProcessInfo
description: ProcessInfo
- name: FlowNode
x-displayName: FlowNode
description: FlowNode
- name: Failure
x-displayName: BPM Failure
description: |
Failure leading a BPM entity instance to a failed state
This Web REST API is available in **Enterprise editions only**, since version 10.3 (2025.1).
- name: ArchivedFailure
x-displayName: Archived BPM Failure
description: |
Archived version of the Failure leading a BPM entity instance to a failed state.
This Web REST API is available in **Enterprise editions only**, since version 10.3 (2025.1).
- name: FormMappingBDM
x-displayName: FormMappingBDM
description: FormMappingBDM
- name: Group
x-displayName: Group
description: The group a user belongs to. Groups have a hierarchy (subgroups can be created inside a group).
- name: HumanTask
x-displayName: HumanTask
description: HumanTask
- name: I18nlocale
x-displayName: I18nlocale
description: I18nlocale
- name: I18ntranslation
x-displayName: I18nTranslation
description: I18nTranslation
- name: Information
x-displayName: Information
description: |
Handle the platform information.
This Web REST API is available since version 10.2 (2024.3). Most of the information returned is only for Subscription editions.
- name: License
x-displayName: License
description: |
Handle the license information. This requires a platform session. Log in using the platform login service.
This Web REST API is available in **Enterprise editions only**, since version 7.11.
- name: ManualTask
x-displayName: ManualTask
description: ManualTask
- name: Membership
x-displayName: Membership
description: Manage membership of users. There is a membership when a user belongs to a group and a role. Use this resource to add, search, and delete memberships.
- name: Message
x-displayName: Message
description: Message
- name: Page
x-displayName: Page
description: Use the page resource to access custom pages, UI Designer pages, layouts or forms and REST API extensions.
- name: Platform
x-displayName: Platform
description: The Platform API resources require a platform session. In order to get one, log in as the platform administrator using the platform login service.
- name: Process
x-displayName: Process
description: Deploy and manage process definitions. In addition, you can instantiate a process, which will create a new process instance (case).
- name: ProcessConnectorDependency
x-displayName: ProcessConnectorDependency
description: ProcessConnectorDependency
- name: ProcessParameter
x-displayName: ProcessParameter
description: ProcessParameter
- name: ProcessResolutionProblem
x-displayName: ProcessResolutionProblem
description: ProcessResolutionProblem
- name: ProcessSupervisor
x-displayName: ProcessSupervisor
description: ProcessSupervisor
- name: ProfessionalContactData
x-displayName: ProfessionalContactData
description: ProfessionalContactData
- name: Profile
x-displayName: Profile
description: Profile
- name: ProfileEntry
x-displayName: ProfileEntry
description: ProfileEntry
- name: ProfileMember
x-displayName: ProfileMember
description: ProfileMember
- name: Role
x-displayName: Role
description: Role
- name: Log
x-displayName: Log
description: |
Access log entries recorded by the Bonita Engine during execution. Logs capture actions performed on the platform such as process deployments, task executions, or configuration changes.
This Web REST API is available in **Enterprise editions only**.
- name: Session
x-displayName: Session
description: Session
- name: Task
x-displayName: Task
description: Task
- name: Theme
x-displayName: Theme
description: Theme
- name: TimerEventTrigger
x-displayName: TimerEventTrigger
description: TimerEventTrigger
- name: User
x-displayName: User
description: User
- name: UserTask
x-displayName: UserTask
description: UserTask
- name: RestAPIextensions
x-displayName: API extensions
description: |
Create REST API extensions to use third party systems (databases, web services, Bonita Engine, etc) data in forms and pages.
REST API extensions can be used to query business data, Bonita Engine APIs, or an external information system (such as a database, web service, LDAP directory...). They also help to keep a clean separation between the front-end (forms, pages, and interfaces visible to users) and the back-end (processes).
externalDocs:
url: https://documentation.ofelia.com/bonita/latest/rest-api-extensions
- name: FormFileUpload
x-displayName: Form file upload
description: Supports any type of files, used to upload a file before submitting a process or task form with a document in its contract.
paths:
/loginservice:
post:
tags:
- Authentication
operationId: login
security: []
summary: Login
description: |
A call to the `/loginservice` will generates a set-cookie header in the response.
The `JSESSIONID` cookie must be transfered with each subsequent calls. (If the REST API is used in an application running in a web browser, this is handled automatically by the web browser just like any cookies).
Additional protection agains CSRF attacks is enabled by default for all fresh installations This security relies on `X-Bonita-API-Token` information.
The `X-Bonita-API-Token` value can be found in the cookie named: `X-Bonita-API-Token`.
All the subsequence REST API calls performing changes in the system using DELETE, POST, or PUT HTTP methods must contain the **HTTP header** below:
``` X-Bonita-API-Token: example-dummy-not-be-used-value ```
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LoginRequest'
x-codeSamples:
- lang: Shell
label: Curl
source: |
# Generate cookie file
curl -v -c saved_cookies.txt \
--url 'http://localhost:8080/bonita/loginservice' \
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'username=install' \
--data-urlencode 'password=install' \
--data-urlencode 'redirect=false' \
--data-urlencode 'redirectURL='
# Reuse the cookie file and set the `X-Bonita-API-Token` header
curl -b saved_cookies.txt -X GET \
-- header 'X-Bonita-API-Token: ' \
--url 'http://localhost:8080/bonita/API/bpm/process?c=100&p=0'
responses:
'204':
description: Login success
headers:
Set-Cookie:
description: Session cookie
schema:
type: string
example: JSESSIONID=C5385BFEE2969D9E46F0160C1952B0F1; Path=/bonita; HttpOnly; SameSite=Lax
X-Bonita-API-Token:
description: X-Bonita-API-Token - CSRF token (also present in the cookie response)
schema:
type: string
example: ed27cbeb-9953-4d77-b5a2-1f62a6c2e0bb
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/logoutservice:
get:
tags:
- Authentication
summary: Logout the current user
description: |
Logout the current user from the system
operationId: logout
parameters:
- description: Setting the redirect parameter to false indicates that the service should not redirect to the login page after logging out.
explode: true
in: query
name: redirect
required: false
schema:
type: string
maxLength: 5
pattern: ^(?:tru|fals)e$
style: form
example:
redirect: 'false'
redirectURL: null
x-codeSamples:
- lang: Shell
label: Curl
source: |
curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/logoutservice?redirect=false'
responses:
'200':
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/living/application:
get:
tags:
- Application
summary: Finds living applications
description: |
Finds living applications with pagination params and filters
- can order on `id`,`creationDate`, `createdBy`, `profileId`, `token`, `displayName`, `updatedBy`, `lastUpdateDate`, `version`, `link`
- can search on `token`, `displayName`, `version`, `link`
- can filter on `token`, `displayName`, `version`, `link`, `profileId`, `creationDate`, `createdBy`, `updatedBy` , `lastUpdateDate`, `userId`
operationId: searchApplications
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Application'
example:
- id: '306'
link: 'true'
creationDate: '1411548289900'
icon: ''
createdBy": '1'
profileId: '2'
description: My application link description
token: myadvapp
state: ACTIVATED
displayName: My app link
updatedBy: '1'
visibility: ALL
editable: 'true'
lastUpdateDate: '1411548289900'
version: '1.0'
- id: '305'
link: 'false'
creationDate: '1411548289900'
icon: ''
createdBy": '1'
profileId: '2'
description: My application description
token: myapp
state: DEACTIVATED
displayName: My app
updatedBy: '1'
visibility: ALL
editable: 'true'
lastUpdateDate: '1411548289900'
version: '1.0'
homePageId: '26'
themeId: '1'
layoutId: '3'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Application
summary: Create a living application
deprecated: true
description: |
Create a living application (legacy application or application link).
Warning: as of 9.0.0, creating a living application using this API is deprecated.
operationId: createApplication
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
description: Partial living application description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/living/application/{id}:
get:
tags:
- Application
summary: Finds a living application by ID
description: |
Returns a single application for the given ID
operationId: getApplicationById
parameters:
- description: ID of application to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Application
summary: Delete a living application by ID
description: |
Delete a single application for the given ID
operationId: deleteApplicationById
parameters:
- description: ID of application to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Application
summary: Update a living application by ID
deprecated: true
description: |
Update a single application for the given ID (legacy application or application link).
Warning: as of 9.0.0, updating a living application using this API is deprecated.
operationId: updateApplicationById
parameters:
- description: ID of application to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationUpdateRequest'
description: Partial living application description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/services/application/import:
post:
tags:
- Application
summary: Import a living application
deprecated: true
description: |
Import a single application
Warning: as of 9.0.0, importing a living application using this service is deprecated.
operationId: importApplication
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
applicationsDataUpload:
type: string
description: Uploaded file
importPolicy:
type: string
description: Import policy
responses:
'200':
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/portal/applicationsUpload:
post:
tags:
- Application
- Upload
summary: Upload a living application
deprecated: true
description: |
Upload application
Warning: as of 9.0.0, uploading a living application using the portal is deprecated.
operationId: uploadApplication
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: 'Success '
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: tmp_application_data.xml
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/living/application-menu:
get:
tags:
- ApplicationMenu
summary: Finds application menus
description: |
Returns application menus with pagination params and filters
- can order on `id`, `displayName`, `applicationId`, `applicationPageId`, `menuIndex`, `parentMenuId`
- can search on `displayName`
- can filter on `id`, `displayName`, `applicationId`, `applicationPageId`, `menuIndex`, `parentMenuId`
operationId: searchApplicationMenus
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApplicationMenu'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ApplicationMenu
summary: New application menu item
deprecated: true
description: |
Create an application menu item
Warning: as of 9.0.0, creating an application menu item using this API is deprecated.
operationId: createApplicationMenu
requestBody:
description: A partial representation of an application menu in JSON
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationMenuCreateRequest'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationMenu'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/living/application-menu/{id}:
get:
tags:
- ApplicationMenu
summary: Finds a application menu by ID
description: |
Returns a single application menu for the given ID
operationId: geApplicationMenuById
parameters:
- description: ID of application menu to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationMenu'
example:
id: '9823'
displayName: menuLabel
applicationId: '1'
applicationPageId: '5'
menuIndex: '1'
parentMenuId: '-1'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ApplicationMenu
summary: Delete an application menu by ID
description: Delete a single application menu for the given ID
operationId: deleteApplicationMenuById
parameters:
- description: ID of the application menu to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ApplicationMenu
summary: Update an application menu by ID
deprecated: true
description: |
Update an application menu for the given ID
Warning: as of 9.0.0, updating an application menu item using this API is deprecated.
operationId: updateApplicationMenuById
parameters:
- description: ID of the application menu to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationMenuUpdateRequest'
description: Partial application menu description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/living/application-page:
get:
tags:
- ApplicationPage
summary: Finds application pages
description: |
Finds application pages with pagination params and filters
- can order on `id`, `token`, `applicationId`, `pageId`
- can search on `token`
- can filter on `id`, `token`, `applicationId`, `pageId`
operationId: searchApplicationPages
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApplicationPage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ApplicationPage
summary: Create an application page
deprecated: true
description: |
Create an application page
Warning: as of 9.0.0, creating an application page using this API is deprecated.
operationId: createApplicationPage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationPageCreateRequest'
description: Partial application page description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationPage'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/living/application-page/{id}:
get:
tags:
- ApplicationPage
summary: Finds an application page by ID
description: |
Returns a single application page for the given ID
operationId: getApplicationPageById
parameters:
- description: ID of application page to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationPage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ApplicationPage
summary: Delete an application page by ID
description: |
Delete a single application page for the given ID
operationId: deleteApplicationPageById
parameters:
- description: ID of application page to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bdm/businessData/{businessDataType}:
get:
tags:
- BusinessDataQuery
summary: Finds Business Data
description: |
Finds Business Data with pagination params and filters by calling a `Named Query`.
The business data query REST API resource is used to call a default or custom business data query. It is available from version 6.5.
**Data parameters**:
* businessDataType - the fully-qualified business data type name
* q=queryName - the query name
* p=0 - the page number
* c=10 - the maximum number of results in the page
* f=parameter=value - sets the parameter value according to business data query parameters defined in Bonita Studio
For a Boolean parameter, the accepted values are `true` or `false`.
By default, for a Date parameter can use the following formats:
* yyyy-MM-dd
* HH:mm:ss
* yyyy-MM-dd HH:mm:ss
* yyyy-MM-dd'T'HH:mm:ss
* yyyy-MM-dd'T'HH:mm:ss.SSS
operationId: searchBusinessData
parameters:
- description: Business Data Type
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
- description: Named query to use
in: query
name: q
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: searchEmployeeByFirstNameAndLastName
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AnyValue'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Business Data Operations
summary: Create new Business Data
description: |

Create (Insert) new Business Data.
Obviously, all mandatory fields of the given business data type must be provided in the request body, to ensure data integrity.
Any input fields that are NOT part of the business data type will be simply ignored, and returned in the response,
as an informative list.
operationId: insertBusinessData
parameters:
- description: The Business Data type to create
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
requestBody:
content:
application/json:
schema:
type: object
example:
firstName: John
lastName: Doe
age: 30
department: Engineering
activity: developer
dateOfBirth: '1977-05-26'
dateOfBirthWithTime: '1977-05-26T01:59:42'
meetingDateAndTimeWithTimezone: '2025-11-29T10:15:30+01:00'
otherDateAndTimeWithTimezone: '2025-11-29T10:15:30Z'
notAValidField: some value that will be ignored
description: |
The flat JSON object representing the fields of the business data to create.
The fields to provide depend on the business data type.
Any nullable field not provided will be left blank.
Any unknown field will be ignored and return in the response, under the name "unknownFields".
String fields must be enclosed in double quotes (`"`), numeric / boolean fields must not. Date fields must be strings in ISO 8601 format (e.g., `2023-10-01T12:00:00Z`).
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessDataCreationResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bdm/businessData/{businessDataType}/import:
post:
tags:
- Business Data Operations
summary: Import Business Data by bulk
description: |

Allows to import business data in bulk by uploading a file containing the data, in CSV format.
Example CSV file content:
```csv
firstName,lastName,department, dptReference, dateOfBirth, dateOfBirthWithTime, meetingDateAndTimeWithTimezone, otherDateAndTimeWithTimezone
"John","Doe","Engineering", 14, "1907-05-26", "1907-05-26T01:59:42", "2025-11-29T10:15:00+01:00", "2025-11-29T10:15:00Z"
"Jane","Smith", "Marketing", 17, "1977-03-24", "1977-03-24T17:40:00", "2025-07-19T09:00:00+01:00", "2025-07-19T09:00:00Z"
```
Field separator can be comma (`,`) or semicolon (`;`). Space characters around the separator will be ignored (trimmed).
The first line of the CSV file is considered as the header, and must contain the field names, with the exact same upper/lower case.
String fields must be enclosed in double quotes (`"`), numeric / boolean fields must not. Date fields must be strings in ISO 8601 format (e.g., `2023-10-01T12:00:00Z`).
operationId: importBusinessData
parameters:
- description: Business Data Type
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
dataset:
type: string
format: binary
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessDataImportResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bdm/businessData/{businessDataType}/findByIds:
get:
tags:
- BDM
summary: Finds business data By Ids
description: |
Finds business data specified by their identifiers.
operationId: searchBusinessDataByIds
parameters:
- description: Business Data Type
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
- description: list of persistenceIds (comma separated)
in: query
name: ids
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: 1,3,56
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BusinessData'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bdm/businessData/{businessDataType}/{persistenceId}:
get:
tags:
- BDM
summary: Finds business data by Id
description: |
Finds business data specified by its identifier.
operationId: searchBusinessDataById
parameters:
- description: Business Data Type
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
- description: Business data ID
in: path
name: persistenceId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: 1
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessData'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Business Data Operations
summary: Update an existing Business Data
description: |

Update an existing Business Data.
Any input fields that are NOT part of the business data type will be simply ignored, and returned in the response,
as an informative list.
operationId: updateBusinessData
parameters:
- description: The Business Data type to update
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9_-.]{0,250}$
example: com.company.model.Employee
- description: Business data ID
in: path
name: persistenceId
required: true
schema:
type: number
example: '1234'
requestBody:
content:
application/json:
schema:
type: object
example:
firstName: John
lastName: Wayne
activity: actor
dateOfBirth: '1907-05-26'
dateOfBirthWithTime: '1907-05-26T01:59:42'
meetingDateAndTimeWithTimezone: '2025-11-29T10:15:30+01:00'
otherDateAndTimeWithTimezone: '2025-11-29T10:15:30Z'
notAValidField: some value that will be ignored
description: |
The flat JSON object representing the fields of the business data to update.
The fields to provide depend on the business data type.
Any field not provided will be left unchanged.
Any unknown field will be ignored and return in the response, under the name "unknownFields".
String fields must be enclosed in double quotes (`"`), numeric / boolean fields must not. Date fields must be strings in ISO 8601 format (e.g., `2023-10-01T12:00:00Z`).
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessDataUpdateResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Business Data Operations
summary: Delete an existing Business Data
description: |

Delete an existing Business Data.
operationId: deleteBusinessData
parameters:
- description: The Business Data type to delete
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
- description: Business data ID to delete
in: path
name: persistenceId
required: true
schema:
type: number
example: 1234
responses:
'204':
description: The Business Data was successfully deleted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bdm/businessData/{businessDataType}/{persistenceId}/{attributeName}:
get:
tags:
- BDM
summary: Finds business data attribute by id
description: |
Gets the business data attribute of business data according to its identifier and attribute name. Request url.
operationId: searchBusinessDataAttributeById
parameters:
- description: Business Data Type
in: path
name: businessDataType
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: com.company.model.Employee
- description: Business data ID
in: path
name: persistenceId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: 1
- description: Business data attribute name
in: path
name: attributeName
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: company
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessData'
example:
persistenceId_string: '1'
persistenceVersion_string: '0'
company: The Big Company
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/accessControl/bdm:
get:
tags:
- BDMAccessControl
summary: BDM access control status
description: |

Get the BDM access control status.
operationId: getBDMAccessControlStatus
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/BDMAccessControl'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- BDMAccessControl
summary: Delete the BDM Access Control
description: |

Delete the BDM access control
operationId: deleteBDMAccessControl
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/portal/bdmAccessControlUpload:
post:
tags:
- BDMAccessControl
- Upload
summary: Upload a BDM Access Control
deprecated: true
description: |

Upload BDM Access Control
Warning: as of 9.0.0, uploading a BDM Access Control using the portal is deprecated.
operationId: uploadBDMAccessControl
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: 'Success '
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9_\-\.]{0,250}$
example: tmp_accessControlFileToUpload.xml
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/services/bdmAccessControl/install:
post:
tags:
- BDMAccessControl
summary: Import a BDM Access Control
deprecated: true
description: |

Import a BDM Access Control
Warning: as of 9.0.0, importing a BDM Access Control using this service is deprecated.
operationId: importBDMAccessControl
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
bdmAccessControlUpload:
type: string
description: The temporary name of the previously uploaded file to install
example:
bdmAccessControlUpload: tmp_accessControlFileToUpload.xml
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/retention/object:
get:
tags:
- DataRetention
summary: List business object types with their retention rules
description: |

Returns the list of all business object types defined in the deployed Business Data Model (BDM),
each enriched with its composition tree and the retention rule that may apply to it.
The full list is returned in a single response. Pagination is not applied because the
BDM is a bounded set defined at deployment time.
Requires the `DATA_RETENTION` feature to be active in the platform license.
Available since Bonita 11.0.
operationId: findObjectsWithRetentionRules
responses:
'200':
description: |
Successful operation. The full list of business object types is returned in a single
response. No pagination is applied and no `Content-Range` header is set.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BusinessObjectWithRetentionRule'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/retention/schedule:
get:
tags:
- DataRetention
summary: Get the data retention schedule
description: |

Returns the cron expression that triggers the data retention job. The expression is configured
via the `bonita.runtime.retention.schedule.cron` platform property and is read-only at runtime.
Requires the `DATA_RETENTION` feature to be active in the platform license.
Available since Bonita 11.0.
operationId: getRetentionSchedule
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/RetentionSchedule'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/retention/rule:
post:
tags:
- DataRetention
summary: Create a retention rule
description: |

Creates a data retention rule for a business object type. Once created, the data retention
service will automatically delete business data of `dataClassName` whose `referenceDate` is
older than `retentionDays` days.
Only one retention rule can exist per BDM class name. Posting a second rule for a
`dataClassName` that already has one returns `409 Conflict`.
Requires the `DATA_RETENTION` feature to be active in the platform license.
Available since Bonita 11.0.
operationId: createRetentionRule
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RetentionRuleCreateRequest'
responses:
'201':
description: Retention rule created
content:
application/json:
schema:
$ref: '#/components/schemas/DataRetentionConfig'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/retention/rule/{ruleId}:
put:
tags:
- DataRetention
summary: Update a retention rule by ID
description: |

Updates the `referenceDate` and `retentionDays` of an existing retention rule.
Requires the `DATA_RETENTION` feature to be active in the platform license.
Available since Bonita 11.0.
operationId: updateRetentionRuleById
parameters:
- description: Numeric ID of the retention rule to update (the `id` field returned by `DataRetentionConfig`).
in: path
name: ruleId
required: true
schema:
type: string
pattern: ^[0-9]+$
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RetentionRuleUpdateRequest'
responses:
'200':
description: Retention rule updated
content:
application/json:
schema:
$ref: '#/components/schemas/DataRetentionConfig'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
delete:
tags:
- DataRetention
summary: Delete a retention rule by ID
description: |

Deletes the retention rule with the given ID. Existing BDM object instances of the underlying
type are not deleted by this operation; only the retention rule itself is removed.
Requires the `DATA_RETENTION` feature to be active in the platform license.
Available since Bonita 11.0.
operationId: deleteRetentionRuleById
parameters:
- description: Numeric ID of the retention rule to delete (the `id` field returned by `DataRetentionConfig`).
in: path
name: ruleId
required: true
schema:
type: string
pattern: ^[0-9]+$
responses:
'204':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/delegation/rule:
get:
tags:
- Delegation
summary: Search delegation rules
description: |

Searches delegation rules with pagination and filters. The same endpoint serves regular users
(who see their own rule) and administrators (who see rules across users); authorization is
enforced by the engine.
- can order on `id`, `delegatorId`, `delegateId`, `startDate`, `endDate`, `lastUpdatedBy`, `lastUpdatedAt`
- can filter on `id`, `delegatorId`, `delegateId`, `startDate`, `endDate`, `lastUpdatedBy`, `lastUpdatedAt` and on `status` (a virtual filter accepting `scheduled`, `active` or `expired`)
- the free-text search term (`s`) is matched by the engine against the delegator and delegate user name, first name and last name
Available in Enterprise editions only, since Bonita 2026.2.
operationId: searchDelegationRules
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: Successful operation
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DelegationRule'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Delegation
summary: Create or replace a delegation rule
description: |

Creates a delegation rule. `delegatorId` is optional and resolved from the session when
omitted (self-service); administrators may set it to create a rule on behalf of another user.
A user can hold at most one delegation rule: posting a rule for a delegator who already has
one replaces the existing rule (upsert).
Available in Enterprise editions only, since Bonita 2026.2.
operationId: createDelegationRule
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DelegationRuleCreateRequest'
responses:
'201':
description: Delegation rule created
content:
application/json:
schema:
$ref: '#/components/schemas/DelegationRule'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/delegation/rule/{ruleId}:
put:
tags:
- Delegation
summary: Update a delegation rule by ID
description: |

Replaces the `delegateId`, `startDate`, `endDate` and `processes` of an existing delegation
rule. The delegator of the rule cannot be changed.
Available in Enterprise editions only, since Bonita 2026.2.
operationId: updateDelegationRuleById
parameters:
- description: Numeric ID of the delegation rule to update (the `id` field returned by `DelegationRule`).
in: path
name: ruleId
required: true
schema:
type: string
pattern: ^[0-9]+$
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DelegationRuleUpdateRequest'
responses:
'200':
description: Delegation rule updated
content:
application/json:
schema:
$ref: '#/components/schemas/DelegationRule'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
delete:
tags:
- Delegation
summary: Delete a delegation rule by ID
description: |

Deletes the delegation rule with the given ID. This is the only deactivation mechanism: there
is no soft delete or activation flag. Deleting a rule does not affect the underlying tasks,
which remain assigned to the delegator.
Available in Enterprise editions only, since Bonita 2026.2.
operationId: deleteDelegationRuleById
parameters:
- description: Numeric ID of the delegation rule to delete (the `id` field returned by `DelegationRule`).
in: path
name: ruleId
required: true
schema:
type: string
pattern: ^[0-9]+$
responses:
'204':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/delegation/task:
get:
tags:
- Delegation
summary: Search delegated tasks
description: |

Searches the human tasks a user can act on through an active delegation rule. Only
tasks covered by an `active` rule are returned: scheduled and expired rules yield nothing.
Tasks should be assigned to the delegator and remain assigned to them; the delegate gains visibility and execution rights
without reassignment.
- can order on `dueDate`, `priority`, `reachedStateDate`
- can search (`s`) on the task name and display name
- can filter on `delegateId` (must be numeric; scopes results to a delegate, enforced against the session user by (dynamic) authorization rules unless the caller is an administrator) and on `rootProcessName` (narrows results to a specific root process)
Available in Enterprise editions only, since Bonita 2026.2.
operationId: searchDelegatedTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: Successful operation
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DelegatedTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/activity:
get:
tags:
- Activity
summary: Finds Activities
description: |
Finds Activities with pagination params and filters. Activities in states completed, cancelled, or aborted are not retrieved. The search returns an array of activities.
- can order on `name`, `displayName`, `state`, `processDefinitionId`, `parentProcessInstanceId`, `parentActivityInstanceId` (order by parent activity id), `rootProcessInstanceId`, `lastUpdateDate`
- can search on `name`, `displayName`, `state`, `processDefinitionId`, `parentProcessInstanceId`, `parentActivityInstanceId` (order by parent activity id), `rootProcessInstanceId`, `lastUpdateDate`
- can filter on `name`, `state`, `processId`, `parentProcessInstanceId`, `rootProcessInstanceId`, `last_update_date`, `supervisor_id` (only in Enterprise editions)
operationId: searchActivities
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Activity'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/activity/{id}:
get:
tags:
- Activity
summary: Finds the Activity by ID
description: |
Returns the single Activity for the given ID
operationId: getActivityById
parameters:
- description: ID of the Activity to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Activity'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Activity
summary: Update the Activity by ID
description: |
Update the Activity for the given ID
operationId: updateActivityById
parameters:
- description: ID of the Activity to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ActivityUpdateRequest'
description: Partial Activity description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedActivity:
get:
tags:
- ArchivedActivity
summary: Finds Archived Activities
description: |
Finds Archived Activities with pagination params and filters. Activities in states completed, cancelled, or aborted are not retrieved. The search returns an array of activities.
Can order on:
- `name` : the name of this activity
- `displayName` : the display name of this activity
- `state` : the current state of the activity
- `type` : the activity type
- `isTerminal` : say whether or not the activity is in a terminal state
- `processId` : the process this activity is associated to
- `caseId` : the process instance initiator this activity is associated to
- `reached_state_date` : the date when this activity arrived in this state
Can filter on:
- `supervisor_id`: retrieve the information the process manager associated to this id has access to (only in Enterprise editions)
- f: same as the sort order fields
operationId: searchArchivedActivities
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedActivity'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedActivity/{id}:
get:
tags:
- ArchivedActivity
summary: Finds the Archived Activity by ID
description: |
Returns the single Archived Activity for the given ID
operationId: getArchivedActivityById
parameters:
- description: ID of the Archived Activity to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedActivity'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/humanTask:
get:
tags:
- HumanTask
summary: Finds HumanTasks
description: |
Finds HumanTasks with pagination params and filters
- can order on `name`, `priority`, `dueDate`, `state`, `processDefinitionId`, `processInstanceId`, `parentActivityInstanceId`, `assigneeId`, `parentContainerId`, `displayName`, `reachedStateDate`
- can search on any field that can be used to order results
- can filter on `assigned_id`, `user_id`, `show_assigned_to_others` (since 2022.2), `state`, `name`, `displayName`, `processDefinitionId`, `caseId`, `rootCaseId`, `parentCaseId`
operationId: searchHumanTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HumanTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/humanTask/{id}:
get:
tags:
- HumanTask
summary: Finds the HumanTask by ID
description: |
Returns the single HumanTask for the given ID
operationId: getHumanTaskById
parameters:
- description: ID of the HumanTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/HumanTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- HumanTask
summary: Update the HumanTask by ID
description: |
Update the HumanTask for the given ID
operationId: updateHumanTaskById
parameters:
- description: ID of the HumanTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HumanTaskUpdateRequest'
description: Fields that can be updated are `assignedId` and `state`. Specify only those fields that you want to change.
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/manualTask:
get:
tags:
- ManualTask
summary: Finds ManualTasks
description: |
Finds ManualTasks with pagination params and filters
You can filter on:
* `assigned_id={user_id}`: retrieve only the manual tasks assigned to the specified user. For example, retrieve the manual tasks assigned to user with id 1: `/API/bpm/manualTask?p=0&c=10&f=assigned_id%3d1`.
* `state=skipped | ready | completed | failed` : retrieve only the manual tasks with the specified state. For example, retrieve the ready tasks: `/API/bpm/manualTask?p=0&c=10&f=state%3dready`.
* `caseId={case_id}`: retrieve only the manual tasks created in the specified process instances. For example, retrieve the manual tasks for the case\_id 2: `/API/bpm/manualTask?p=0&c=10&f=caseId%3d2`.
* `parentTaskId={parentTask_id}`: retrieve only the manual tasks for a specific parentTask. For example, retrieve the manual tasks for the parentTask\_id 40001: `/API/bpm/manualTask?p=0&c=10&f=parentTaskId%3d40001`.
You can search on:
* name: search all manual tasks with a name that starts with the search string. For example, search for all manual tasks that have a name that starts with MySubTask: `/API/bpm/manualTask?p=0&c=10&s=MySubTask`.
operationId: searchManualTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ManualTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ManualTask
summary: Create the ManualTask
description: |
Create the ManualTask.
Use a POST method to create a new subtask. A subtask is attached to a parent task and it needs to be immediately assigned to a user.
operationId: createManualTask
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManualTaskCreateRequest'
description: Partial ManualTask description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManualTask'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/manualTask/{id}:
get:
tags:
- ManualTask
summary: Finds the ManualTask by ID
description: |
Returns the single ManualTask for the given ID
operationId: getManualTaskById
parameters:
- description: ID of the ManualTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ManualTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ManualTask
summary: Update the ManualTask by ID
description: |
Update the ManualTask for the given ID.
Use a PUT method to execute a subtask.
Executing a subtask basically means changing its state to completed and providing an executedBy value.
operationId: updateManualTaskById
parameters:
- description: ID of the ManualTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManualTaskUpdateRequest'
description: Partial ManualTask description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/task:
get:
tags:
- Task
summary: Finds Tasks
description: |
Finds Tasks with pagination params and filters
- can order on `caseId`, `processId`, `state`, `type`, `supervisor_id`, `last_update_date`
- can filter on `caseId`, `processId`, `state`, `type`, `supervisor_id`, `last_update_date`
operationId: searchTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Task'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/task/{id}:
get:
tags:
- Task
summary: Finds the Task by ID
description: |
Returns the single Task for the given ID
operationId: getTaskById
parameters:
- description: ID of the Task to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Task
summary: Update the Task by ID
description: |
Update the Task for the given ID
operationId: updateTaskById
parameters:
- description: ID of the Task to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskByIdRequest'
example:
state: completed
description: 'Task fields to update (forbidden fields are : `caseId`, `processId`, `name`, `executedBy`, `type`, `id`, `reached_state_date`, `last_update_date`)'
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/userTask:
get:
tags:
- UserTask
summary: Finds UserTasks
description: |
Finds UserTasks with pagination params and filters
- can order on `id`
- can search on `displayName`
- can filter on `displayName`
operationId: searchUserTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/userTask/{id}:
get:
tags:
- UserTask
summary: Finds the UserTask by ID
description: |
Returns the single UserTask for the given ID
operationId: getUserTaskById
parameters:
- description: ID of the UserTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/UserTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- UserTask
summary: Update the UserTask by ID
description: |
Update the UserTask for the given ID.
Fields that can be updated are `assigned_id` and `state`. The only value that can be set for the state is `skipped`. You only need to specify the fields that are to be updated.
operationId: updateUserTaskById
parameters:
- description: ID of the UserTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserTaskUpdateRequest'
description: Partial UserTask description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/userTask/{id}/contract:
get:
tags:
- UserTask
summary: Finds the Contract by UserTask ID
description: |
Returns the Contract for the given UserTask ID
operationId: getContractByUserTaskId
parameters:
- description: ID of the UserTask that has the Contract to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Contract'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/userTask/{id}/execution:
post:
tags:
- UserTask
summary: Execute the UserTask
description: |
Execute the UserTask. In order to execute a task, the task contract values have to be provided.
operationId: executeUserTask
parameters:
- name: id
description: ID of the UserTask to execute
in: path
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- name: assign
description: if true, assign the task to the current user and execute the task
in: query
schema:
type: boolean
required: false
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
example:
ticket_comment: this is a comment
description: A JSON object matching task contract. Execute a task providing correct contract values.
required: true
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/userTask/{id}/context:
get:
tags:
- UserTask
summary: Finds the Context by UserTask ID
description: |
Returns the Context for the given UserTask ID
operationId: getContextByUserTaskId
parameters:
- description: ID of the UserTask that has the Context to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: object
additionalProperties: true
example:
myBusinessData_ref:
name: myBusinessData
type: com.company.model.BusinessObject1
link: API/bdm/businessData/com.company.model.BusinessObject1/2
storageId: 2
storageId_string: '2'
myDocument_ref:
id: 1
processInstanceId: 3
name: myDocument
author: 104
creationDate: 1434723950847
fileName: TestCommunity-1.0.bos
contentMimeType: null
contentStorageId: '1'
url: documentDownload?fileName=TestCommunity-1.0.bos&contentStorageId=1
description: ''
version: '1'
index: -1
contentFileName: TestCommunity-1.0.bos
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedHumanTask:
get:
tags:
- ArchivedHumanTask
summary: Finds ArchivedHumanTasks
description: |
Finds ArchivedHumanTasks with pagination params and filters
You can filter on:
* `assigned_id={user_id}`: retrieve only the human tasks assigned to the specified ID. For example, retrieve the human tasks assigned to user with id 2: `/API/bpm/archivedHumanTask?p=0&c=10&f=assigned_id%3d2`
* `state=`: retrieve only the archived user tasks with the specified state. For example, retrieve the skipped tasks: `/API/bpm/archivedHumanTask?p=0&c=10&f=state=skipped`
* `name=`: retrieve only the human tasks with the specified name. For example, retrieve the human tasks with the name "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=name=Analyse ProcessInstance`
* `displayName=`: retrieve only the archived user tasks with the specified displayName. For example, retrieve the human tasks with the displayName "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=displayName=Analyse ProcessInstance`
operationId: searchArchivedHumanTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedHumanTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedHumanTask/{id}:
get:
tags:
- ArchivedHumanTask
summary: Finds the ArchivedHumanTask by ID
description: |
Returns the single ArchivedHumanTask for the given ID
operationId: getArchivedHumanTaskById
parameters:
- description: ID of the ArchivedHumanTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedHumanTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedManualTask:
get:
tags:
- ArchivedManualTask
summary: Finds ArchivedManualTasks
description: |
Finds ArchivedManualTasks with pagination params and filters
You can filter on:
* `assigned_id={user_id}`: retrieve only the human tasks assigned to the specified ID. For example, retrieve the human tasks assigned to user with id 2: `/API/bpm/archivedHumanTask?p=0&c=10&f=assigned_id%3d2`
* `state=`: retrieve only the archived user tasks with the specified state. For example, retrieve the skipped tasks: `/API/bpm/archivedHumanTask?p=0&c=10&f=state=skipped`
* `name=`: retrieve only the human tasks with the specified name. For example, retrieve the human tasks with the name "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=name=Analyse ProcessInstance`
* `displayName=`: retrieve only the archived user tasks with the specified displayName. For example, retrieve the human tasks with the displayName "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=displayName=Analyse ProcessInstance`
operationId: searchArchivedManualTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedManualTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedManualTask/{id}:
get:
tags:
- ArchivedManualTask
summary: Finds the ArchivedManualTask by ID
description: |
Returns the single ArchivedManualTask for the given ID
operationId: getArchivedManualTaskById
parameters:
- description: ID of the ArchivedManualTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedManualTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedUserTask:
get:
tags:
- ArchivedUserTask
summary: Finds ArchivedUserTasks
description: |
Finds ArchivedUserTasks with pagination params and filters.
An ArchivedUserTask is an executable task that has been performed by a user or skipped and is archived.
You can filter on:
* `assigned_id={user_id}`: retrieve only the user tasks assigned to the specified ID. For example, retrieve the user tasks assigned to user with id 2: `/API/bpm/archivedUserTask?p=0&c=10&f=assigned_id%3d2`
* `state=`: retrieve only the archived user tasks with the specified state. For example, retrieve the skipped tasks: `/API/bpm/archivedUserTask?p=0&c=10&f=state=skipped`
* `name=`: retrieve only the user tasks with the specified name. For example, retrieve the user tasks with the name "Analyse ProcessInstance": `/API/bpm/archivedUserTask?p=0&c=10&f=name=Analyse ProcessInstance`
* `displayName=`: retrieve only the archived user tasks with the specified displayName. For example, retrieve the user tasks with the displayName "Analyse ProcessInstance": `/API/bpm/archivedUserTask?p=0&c=10&f=displayName=Analyse ProcessInstance`
operationId: searchArchivedUserTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedUserTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedUserTask/{id}:
get:
tags:
- ArchivedUserTask
summary: Finds the ArchivedUserTask by ID
description: |
Returns the single ArchivedUserTask for the given ID
operationId: getArchivedUserTaskById
parameters:
- description: ID of the ArchivedUserTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedUserTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedTask:
get:
tags:
- ArchivedTask
summary: Finds ArchivedTasks
description: |
Finds ArchivedTasks with pagination params and filters
- Can order on `caseId`, `name`, `displayName`, `processId`, `state`, `type`, `archivedDate`, `reached_state_date`, `assigned_id`
- Can filter on `caseId`, `name`, `displayName`, `processId`, `state`, `type`, `archivedDate`, `reached_state_date`, `assigned_id`, `isTerminal`
operationId: searchArchivedTasks
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedTask/{id}:
get:
tags:
- ArchivedTask
summary: Finds the ArchivedTask by ID
description: |
Returns the single ArchivedTask for the given ID
operationId: getArchivedTaskById
parameters:
- description: ID of the ArchivedTask to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/activityVariable/{id}/{variableName}:
get:
tags:
- ActivityVariable
summary: Finds the ActivityVariable by ID
description: |
Returns the single ActivityVariable for the given ID
operationId: getActivityVariableById
parameters:
- description: The identifier of the activity from which to retrieve the variable
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: The name of the variable to retrieve
in: path
name: variableName
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ActivityVariable'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedActivityVariable/{id}/{variableName}:
get:
tags:
- ArchivedActivityVariable
summary: Finds the ArchivedActivityVariable by case ID and name
description: |
Since 2022.1
Returns the single ArchivedActivityVariable for the given activity ID and variable name
operationId: getArchivedActivityInstanceVariable
parameters:
- description: The identifier of the activity from which to retrieve the variable
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: The name of the variable to retrieve
in: path
name: variableName
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedActivityVariable'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/caseVariable:
get:
tags:
- ProcessInstanceVariable
summary: Finds ProcessInstance Variables
description: |
Finds ProcessInstance Variables with pagination params and filters
operationId: searchProcessInstanceVariables
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessInstanceVariable'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCaseVariable:
get:
tags:
- ArchivedProcessInstanceVariable
summary: Finds ArchivedProcessInstance Variables
description: |
Since 2022.1
Finds ArchivedProcessInstance Variables with pagination params and filters
operationId: getArchivedProcessInstanceVariables
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- description: 'Filter for the case id before it was archived (eg: case_id=10001 )'
explode: true
in: query
name: f
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%\_\-\.]{0,250}$
style: form
example: case_id%3d1001
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedProcessInstanceVariable'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/caseVariable/{id}/{variableName}:
get:
tags:
- ProcessInstanceVariable
summary: Finds the Variable by ProcessInstance ID
description: |
Returns the single Variable for the given ProcessInstance ID
operationId: getVariableByProcessInstanceId
parameters:
- description: The identifier of the process instance from which to retrieve the variable
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: The name of the variable to retrieve
in: path
name: variableName
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceVariable'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProcessInstanceVariable
summary: Update a Variable by ProcessInstance ID
description: |
Update the variable for the given ProcessInstance ID.
**Warning** : only following types are supported for javaTypeclassname: `java.lang.String`, `java.lang.Integer`, `java.lang.Double`, `java.lang.Long`, `java.lang.Boolean`, `java.util.Date`
operationId: updateVariableByProcessInstanceId
parameters:
- description: The identifier of the process instance from which to retrieve the variable
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: The name of the variable to retrieve
in: path
name: variableName
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceVariableUpdateRequest'
description: Partial ProcessInstance variables description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCaseVariable/{id}/{variableName}:
get:
tags:
- ArchivedProcessInstanceVariable
summary: Finds an archived Variable by ProcessInstance ID and variable name
description: |
Since 2022.1
Returns the single ArchivedProcessInstanceVariable for the given ProcessInstance ID and variable name
operationId: getArchivedVariableByProcessInstance
parameters:
- description: The identifier of the process instance from which to retrieve the archived variable
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: The name of the archived variable to retrieve
in: path
name: variableName
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedProcessInstanceVariable'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/caseDocument:
get:
tags:
- ProcessInstanceDocument
summary: Finds ProcessInstanceDocuments
description: |
Finds ProcessInstanceDocuments with pagination params and filters
It is possible to filter on three parameters: `submittedBy`, `name` and `description`.
* `submittedBy="id"`: search for documents that were submitted by the user with the specified identifier.
* `name="string"`: search for documents with names that contain _string_.
Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the name or the start of a word in the name.
* `description="string"`: search for documents with descriptions that contain _string_.
Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the description or the start of a word in the description.
operationId: searchProcessInstanceDocuments
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessInstanceDocument'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProcessInstanceDocument
summary: Create the ProcessInstanceDocument
description: |
Create the ProcessInstanceDocument.
Use a POST method to add a document to a process instances. You can upload a document from the local file system or by URL.
Specify the process instance id and the document name in the payload. The document description is optional: if you do not specify a description, the description in the response is empty.
The response contains a version, which is managed automatically. You cannot currently retrieve a specific version of a document, only the most recent version.
To retrieve earlier versions of a ProcessInstanceDocument, use the archivedProcessInstanceDocument resource.
operationId: createProcessInstanceDocument
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceDocumentCreateRequest'
description: Partial ProcessInstanceDocument description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceDocument'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/caseDocument/{id}:
get:
tags:
- ProcessInstanceDocument
summary: Finds the ProcessInstanceDocument by ID
description: |
Returns the single ProcessInstanceDocument for the given ID.
Use a GET method to get a document from a process instances. First you get the document information, then you download the content. To get the document information, specify the document id in the URL. The document id is created when you upload a document to a process instances. There is no payload.
operationId: getProcessInstanceDocumentById
parameters:
- description: ID of the ProcessInstanceDocument to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: |
"Success ".
The response includes the "url" to use to download the content. Call the documentDownload servlet with this URL: /portal/documentDownload?fileName=doc.jpg&contentStorageId=4. Note: Since Bonita 7.10, document url fileName is now URL encoded. This will avoid errors when a document to be downloaded contains special characters in its name.
In the previous versions, a workaround was necessary client-side using the javascript native function "encodeURI" to generate document download url. You can now remove this workaround.
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceDocument'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProcessInstanceDocument
summary: Update the ProcessInstanceDocument by ID
description: |
Update the ProcessInstanceDocument for the given ID
You update a document in a process instance by uploading a new version of the document using a PUT method. You can upload a document version from the local file system or by URL. The document name will be used in all the process instances of the process, but the combination of process instance id and document name is unique.
In the URL, you specify to supply the document id. This is included in the response when you first add a document to a process instances.
The response to PUT methods is the same as for POST methods.
operationId: updateProcessInstanceDocumentById
parameters:
- description: ID of the ProcessInstanceDocument to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceDocumentUpdateRequest'
description: Partial ProcessInstanceDocument description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ProcessInstanceDocument
summary: Delete the ProcessInstanceDocument by ID
description: |
Delete the single ProcessInstanceDocument for the given ID
operationId: deleteProcessInstanceDocumentById
parameters:
- description: ID of the ProcessInstanceDocument to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCaseDocument:
get:
tags:
- ArchivedProcessInstanceDocument
summary: Finds ArchivedProcessInstanceDocuments
description: |
Finds ArchivedProcessInstanceDocuments with pagination params and filters
You can filter on :
* `sourceObjectId="id"`: search for documents by specifying the original document id.
This is useful if you know the id of a ProcessInstanceDocument and you wish to retrieve all its previous versions..
* `caseId="id"`: search for documents with the specified open process instance id.
* `archivedCaseId="id"`: search for documents with the specified archived process instance id.
* `submittedBy="id"`: search for documents that were submitted by the user with the specified identifier.
* `name="string"`: search for documents with names that contain _string_.
Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the name or the start of a word in the name.
* `description="string"`: search for documents with descriptions that contain _string_.
Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the description or the start of a word in the description.
operationId: searchArchivedProcessInstanceDocuments
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedProcessInstanceDocument'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCaseDocument/{id}:
delete:
tags:
- ArchivedProcessInstanceDocument
summary: Delete the ArchivedProcessInstanceDocument by ID
description: |
Delete the single ArchivedProcessInstanceDocument for the given ID
operationId: deleteArchivedProcessInstanceDocumentById
parameters:
- description: ID of the ArchivedProcessInstanceDocument to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/actor:
get:
tags:
- Actor
summary: Finds Actors
description: |
Finds Actors with pagination params and filters
operationId: searchActors
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Actor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/actor/{id}:
get:
tags:
- Actor
summary: Finds the Actor by ID
description: |
Returns the single Actor for the given ID
operationId: getActorById
parameters:
- description: ID of the Actor to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Actor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Actor
summary: Update the Actor by ID
deprecated: true
description: |
Update the Actor for the given ID
Warning: as of 9.0.0, updating an Actor using this API is deprecated.
operationId: updateActorById
parameters:
- description: ID of the Actor to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ActorUpdateRequest'
description: Fields that can be upated are `displayName` and `description`
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/actorMember:
get:
tags:
- ActorMember
summary: Finds ActorMembers
description: |
Finds ActorMembers with pagination params and filters
There is a **mandatory** filter on:
* `actor_id` For example, retrieve the actorMembers related to the specified actor_id. http://localhost:8080/bonita/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1
You can also filter also on:
* `member_type` (user|role|group|roleAndGroup) retrieve only the actorMembers of type user. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=member_type%3duser`
* `user_id`: retrieve only the actorMembers related to the specified user_id. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=user_id%3d101`
* `role_id`: retrieve only the actorMembers related to the specified role_id. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=role_id%3d101`
* `group_id`: retrieve only the actorMembers related to the specified group_id. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=group_id%3d101`
operationId: searchActorMembers
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ActorMember'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/actorMember/{id}:
get:
tags:
- ActorMember
summary: Finds the ActorMember by ID
description: |
Returns the single ActorMember for the given ID
operationId: getActorMemberById
parameters:
- description: ID of the ActorMember to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ActorMember'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ActorMember
summary: Delete the ActorMember by ID
description: |
Delete the single ActorMember for the given ID
operationId: deleteActorMemberById
parameters:
- description: ID of the ActorMember to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/case:
get:
tags:
- ProcessInstance
summary: Finds ProcessInstances
description: |
Finds ProcessInstances with pagination params and filters
You can filter on:
* `processDefinitionId`: The process definition ID
* `rootCaseId`: the root process instance ID (since version 10.3 - 2025.1)
* `name`: the process name
* `started_by`: the ID of the user who started the process
* `team_manager_id`: allow to retrieve the process instances in which all users with this manager ID ar involved)
* `supervisor_id`: allow the retrived the process instances of all processes the user with this ID is supervisor of) beware you cannot use team_manager_id and supervisor_id at the same time
* `searchIndex1Value`, `searchIndex2Value`, `searchIndex3Value`, `searchIndex4Value`, `searchIndex5Value`: the value of the corresponding search index (since version 10.3 - 2025.1)
operationId: searchProcessInstances
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProcessInstance
summary: Create the ProcessInstance
description: |
 
Create the ProcessInstance
This way of creating a process instance using this method will only work for processes in which no contract is defined. To instantiate a process with a contract, check the process instantiation resource documentation.
operationId: createProcessInstance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceCreateRequest'
description: |
**Warning**: The attribute `variables` on the request payload is used to initialize the process variables (not BDM variables). If you want to initialize BDM variables at process instantiation, add a contract on the process and map BDM variables to the contract data. See Start a process using an instantiation contract for usage.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstance'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
description: Case creation limit reached (Community 2024.3+ only)
headers:
Retry-After:
schema:
type: string
format: date-time
description: Date when case counter will be refilled
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: The error message
exception:
type: string
description: The exception type
example:
message: Error occurred when starting process 5524355418393634511. Case creation limit reached.
exception: org.bonitasoft.web.toolkit.client.common.exception.api.APITooManyRequestException
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
delete:
tags:
- ProcessInstance
summary: Delete the ProcessInstance by batch
description: |
 
Delete a list of ProcessInstances for the given IDs
operationId: deleteProcessInstanceByIds
requestBody:
content:
application/json:
schema:
type: array
items:
description: ProcessInstance id
type: string
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/case/{id}:
get:
tags:
- ProcessInstance
summary: Finds the ProcessInstance by ID
description: |
Returns the single ProcessInstance for the given ID
operationId: getProcessInstanceById
parameters:
- description: ID of the ProcessInstance to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Count of related resources
in: query
name: 'n'
required: false
schema:
type: string
enum:
- activeFlowNodes
- failedFlowNodes
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProcessInstance
summary: Update the ProcessInstance by ID
description: |
Only the state of a ProcessInstance (with the given ID) can be updated in order to cancel it (since version 10.3 - 2025.1).
operationId: updateProcessInstanceById
parameters:
- description: ID of the ProcessInstance to update
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceUpdateRequest'
description: Cancel the ProcessInstance.
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ProcessInstance
summary: Delete the ProcessInstance by ID
description: |
Delete the single ProcessInstance for the given ID
operationId: deleteProcessInstanceById
parameters:
- description: ID of the ProcessInstance to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/case/{id}/context:
get:
tags:
- ProcessInstance
summary: Finds the Context by ProcessInstance ID
description: |
Returns the Context for the given ProcessInstance ID
operationId: getContextByProcessInstanceId
parameters:
- description: ID of the ProcessInstance that has the Context to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: object
additionalProperties: true
example:
myBusinessData_ref:
name: myBusinessData
type: com.company.model.BusinessObject1
link: API/bdm/businessData/com.company.model.BusinessObject1/2
storageId: 2
storageId_string: '2'
myDocument_ref:
id: 1
processInstanceId: 3
name: myDocument
author: 104
creationDate: 1434723950847
fileName: TestCommunity-1.0.bos
contentMimeType: null
contentStorageId: '1'
url: documentDownload?fileName=TestCommunity-1.0.bos&contentStorageId=1
description: ''
version: '1'
index: -1
contentFileName: TestCommunity-1.0.bos
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCase:
get:
tags:
- ArchivedProcessInstance
summary: Finds ArchivedProcessInstances
description: |
Finds archived ProcessInstances (or ProcessInstance) with pagination params and filters
You can order on `id`, `processDefinitionId`, `startedBy`, `startedBySubstitute`, `startDate`, `endDate`, `lastUpdate`, `archivedDate`, `sourceObjectId`
You can filter on :
* `sourceObjectId`: The original process instance ID before the process instance was archived
* `processDefinitionId`: The process definition ID
* `rootCaseId`: the root process instance ID (since version 10.3 - 2025.1)
* `name`: the process name
* `started_by`: the ID of the user who started the process
* `team_manager_id`: allow to retrieve the process instances in which all users with this manager ID ar involved)
* `supervisor_id`: allow the retrived the process instances of all processes the user with this ID is supervisor of) beware you cannot use team_manager_id and supervisor_id at the same time
* `searchIndex1Value`, `searchIndex2Value`, `searchIndex3Value`, `searchIndex4Value`, `searchIndex5Value`: the value of the corresponding search index (since version 10.3 - 2025.1)
operationId: searchArchivedProcessInstances
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedProcessInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCase/{id}:
get:
tags:
- ArchivedProcessInstance
summary: Finds the ArchivedProcessInstance by ID
description: |
Returns the single ArchivedProcessInstance for the given ID
operationId: getArchivedProcessInstanceById
parameters:
- description: ID of the ArchivedProcessInstance to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedProcessInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ArchivedProcessInstance
summary: Delete the ArchivedProcessInstance by ID
description: |
Delete the single ArchivedProcessInstance for the given ID
operationId: deleteArchivedProcessInstanceById
parameters:
- description: ID of the ArchivedProcessInstance to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedCase/{id}/context:
get:
tags:
- ArchivedProcessInstance
summary: Finds the Context by ArchivedProcessInstance ID
description: |
Returns the Context for the given ArchivedProcessInstance ID
operationId: getContextByArchivedProcessInstanceId
parameters:
- description: ID of the ArchivedProcessInstance that has the Context to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: object
additionalProperties: true
example:
myBusinessData_ref:
name: myBusinessData
type: com.company.model.BusinessObject1
link: API/bdm/businessData/com.company.model.BusinessObject1/2
storageId: 2
storageId_string: '2'
myDocument_ref:
id: 1
processInstanceId: 3
name: myDocument
author: 104
creationDate: 1434723950847
fileName: TestCommunity-1.0.bos
contentMimeType: null
contentStorageId: '1'
url: documentDownload?fileName=TestCommunity-1.0.bos&contentStorageId=1
description: ''
version: '1'
index: -1
contentFileName: TestCommunity-1.0.bos
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/caseInfo/{id}:
get:
tags:
- ProcessInstanceInfo
summary: Finds the ProcessInstanceInfo by ID
description: |
 since 2022.2
Returns the single ProcessInstanceInfo for the given ID
operationId: getProcessInstanceInfoById
parameters:
- description: ID of the ProcessInstanceInfo to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/comment:
get:
tags:
- ProcessInstanceComment
summary: Finds ProcessInstanceComments
description: |
Finds ProcessInstanceComments with pagination params and filters
- can order on `postDate`
- can filter on `supervisor_id`,`user_id`,`processInstanceId` - You cannot use supervisor_id and user_id filter at the same time
operationId: searchProcessInstanceComments
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessInstanceComment'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProcessInstanceComment
summary: Create the ProcessInstanceComment
description: |
Create the ProcessInstanceComment
operationId: createProcessInstanceComment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceCommentCreateRequest'
description: The process instance (case) id and the comment content, in JSON
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstanceComment'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/archivedComment:
get:
tags:
- ArchivedProcessInstanceComment
summary: Finds ArchivedProcessInstanceComments
description: |
Finds ArchivedProcessInstanceComments with pagination params and filters
- can order on `id`
- can search on `displayName`
- can filter on `displayName`
operationId: searchArchivedProcessInstanceComments
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedProcessInstanceComment'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process:
get:
tags:
- Process
summary: Finds Processes
description: |
Finds Processes with pagination params and filters
- can order (default is ASC) on `name`, `version`, `deploymentDate`, `deployedBy`, `activationState`, `configurationState`, `processId`, `displayName`, `lastUpdateDate`, `categoryId`, `label`
- can search on `name`, `displayName` or `version`
- can filter on `name`, `version`, `deploymentDate`, `deployedBy`, `activationState` with the value DISABLED or ENABLED, `configurationState` with the value UNRESOLVED, or RESOLVED, `processId`, `displayName`, `lastUpdateDate`, `categoryId`, `label`, `supervisor_id`
operationId: searchProcesses
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Process
summary: Create the Process
deprecated: true
description: |
Create the Process.
A process resource is created using the content of a .bar file that has previously been uploaded, using the [processUpload servlet](#operation/uploadProcess), to get the process archive path.
Warning: as of 9.0.0, creating a process using this API is deprecated.
operationId: createProcess
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessCreateRequest'
description: Partial Process description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessDefinition'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
delete:
tags:
- Process
summary: Delete the Process by IDs
description: |
Delete Process for the given list of ID.
**Warning: Beware! Data loss risk!**
Deleting a process will automatically delete all its process instances (on-going and archived alike).
Thus, the operation may take a long time, and fail if the transaction timeout is not large enough. This feature should only be used on non-production environments.
**Please proceed at your own risk.**
operationId: deleteProcessByIds
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
example:
- '1'
- '2'
- '3'
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}:
get:
tags:
- Process
summary: Finds the Process by ID
description: |
Returns the single Process for the given ID
operationId: getProcessById
parameters:
- description: ID of the Process to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Process
summary: Update the Process by ID
deprecated: true
description: |
Update the Process for the given ID
Warning: as of 9.0.0, updating a process using this API is deprecated.
operationId: updateProcessById
parameters:
- description: ID of the Process to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessUpdateRequest'
description: Partial Process description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Process
summary: Delete the Process by ID
description: |
Delete the single Process for the given ID.
**Warning: Beware! Data loss risk!**
Deleting a process will automatically delete all its process instances (on-going and archived alike).
Thus, the operation may take a long time, and fail if the transaction timeout is not large enough. This feature should only be used on non-production environments.
**Please proceed at your own risk.**
operationId: deleteProcessById
parameters:
- description: ID of the Process to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}/design:
get:
tags:
- Process
summary: Finds the Process design by ID
description: |
Returns the single Process design for the given ID
operationId: getProcessDesignById
parameters:
- description: ID of the Process to get the design from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/DesignProcessDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}/contract:
get:
tags:
- Process
summary: Finds the Process contract by ID
description: |
Returns the process contract for the given ID
operationId: getProcessContractById
parameters:
- description: ID of the Process to get the contract from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Contract'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}/instantiation:
post:
tags:
- Process
summary: Instanciate the process
description: |
Instanciate the process with the provided contract values.
operationId: instanciateProcess
parameters:
- name: id
description: ID of the process to instanciate
in: path
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
example:
ticket_account: CustomerA
ticket_description: issue description
ticket_subject: Issue 1
description: A JSON object matching process contract.
required: true
responses:
'201':
description: Return the created process instance ID
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstantiationResponse'
'400':
description: Bad request.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
example:
message: 'USERNAME=walter.bates | Contract is not valid: '
exception: class org.bonitasoft.engine.bpm.contract.ContractViolationException
explanations:
- Expected input [ticket_account] is missing
- Expected input [ticket_description] is missing
- Expected input [ticket_subject] is missing
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
description: Case creation limit reached (Community 2024.3+ only)
headers:
Retry-After:
schema:
type: string
format: date-time
description: Date when case counter will be refilled
content:
application/json:
schema:
type: object
properties:
code:
type: number
description: The response status code
description:
type: string
description: The status description
reasonPhrase:
type: string
description: The detail of the reason
example:
code: 429
description: Unable to start the process with ID 5524355418393634511
reasonPhrase: Case creation limit reached.
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/processName:
get:
tags:
- Process
summary: Search process names
description: |
Searches process deployment information grouped by `(name, displayName)`, returning one entry per
distinct name and display name, each carrying the list of its deployed versions.
- can order on `displayName` or `name` (default is `displayName ASC`). A single sort clause is
applied: a compound order such as `displayName ASC, name DESC` is rejected with a `400`.
- can search (`s`) on `name` or `displayName`. The term selects which groups are returned; a
returned group always lists all of its versions allowed by the `activationState` filter.
- can filter on `activationState` with the value `ENABLED` or `DISABLED`. An unknown value is
rejected with a `400`; other filter keys are ignored.
The `Content-Range` header reports the total number of groups, not the number of versions.
operationId: searchProcessNames
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: Successful operation
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching groups
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessName'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processInfo/{id}:
get:
tags:
- ProcessInfo
summary: Finds the ProcessInfo by ID
description: |
Since 2022.2

Returns the single ProcessInfo for the given ID
operationId: getProcessInfoById
parameters:
- description: ID of the ProcessInfo to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processConnector/{id}/{connectorImplId}/{connectorImplVersion}:
put:
tags:
- Process
summary: Update the Process Connector by Process ID
deprecated: true
description: |

Update the ProcessConnector for the given ID
Warning: as of 9.0.0, updating a Process Connector using this API is deprecated.
operationId: updateProcessConnectorByProcessId
parameters:
- description: ID of the process to update
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: ID of the Process Connector implementation to update
in: path
name: connectorImplId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Version of the Process Connector implementation to update
in: path
name: connectorImplVersion
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProcessConnectorByProcessIdRequest'
description: Partial ProcessConnector description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/diagram/{id}:
get:
tags:
- Diagram
summary: Finds the diagram process by ID
description: |

Use the diagram resource to access the process diagram xml representation. This is necessary for drawing the diagram.
operationId: getProcessDiagramById
parameters:
- description: ID of the process to get the diagram from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/xml:
schema:
type: string
description: BPMN XML representation of the process definition
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processParameter:
get:
tags:
- ProcessParameter
summary: Finds ProcessParameters
description: |
Finds ProcessParameters with pagination params and filters.
operationId: searchProcessParameters
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessParameter'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processParameter/{id}/{name}:
get:
tags:
- ProcessParameter
summary: Finds the ProcessParameter by ID
description: |
Returns the single ProcessParameter for the given ID
operationId: getProcessParameterById
parameters:
- description: ID of the process to get parameter from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Name of the process parameter to return
in: path
name: name
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.\s]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessParameter'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProcessParameter
summary: Update the ProcessParameter by ID
deprecated: true
description: |

Update the ProcessParameter for the given ID
Warning: as of 9.0.0, importing a Process parameter using this API is deprecated.
operationId: updateProcessParameterById
parameters:
- description: ID of the process to get parameter from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Name of the process parameter to return
in: path
name: name
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessParameterUpdateRequest'
description: You can update only a process parameter value using the API. If you specify values for other fields in the update request, they are ignored.
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processResolutionProblem:
get:
tags:
- ProcessResolutionProblem
summary: Finds ProcessResolutionProblems
description: |
Finds ProcessResolutionProblems with pagination params and filters to list the problems that need to be solved before a process can be used.
**Filtering on the process definition ID is mandatory.**
operationId: searchProcessResolutionProblems
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessResolutionProblem'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processSupervisor:
get:
tags:
- ProcessSupervisor
summary: Finds ProcessSupervisors
description: |
Finds ProcessSupervisors with pagination params and filters
To filter, you need to specify the `process_id`, and then the `user_id`, `group_id` and `role_id` with one of them
(two if you want to filter on group and role) set to `>0` and the other ones set to `-1`.
E.g.: `f=process_id%3D8040901857674754544&f=user_id%3D>0&f=group_id%3D-1&f=role_id%3D-1`
operationId: searchProcessSupervisors
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessSupervisor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProcessSupervisor
summary: Create the ProcessSupervisor
description: |
Create the ProcessSupervisor
operationId: createProcessSupervisor
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessSupervisor'
example:
process_id: '5777042023671752656'
user_id: '11'
description: The process definition id and either the user, role and/or group id.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessSupervisor'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
delete:
tags:
- ProcessSupervisor
summary: Delete the ProcessSupervisor by ID
description: |
Delete the ProcessSupervisor for the given compoound IDs
You can delete a process supervisor by specifying its compound Id in the body of the request with the following format: `process_id/user_id/role_id/group_id`
operationId: deleteProcessSupervisorById
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
example:
- 8040901857674754544/11/-1/-1
- 8040901857674754544/12/-1/-1
description: The process definition id and either the user, role and/or group id.
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processConnectorDependency:
get:
tags:
- ProcessConnectorDependency
summary: Finds ProcessConnectorDependencies
description: |
Finds ProcessConnectorDependencies with pagination params and filters
**Mandatory filters: `connector_process_id`, `connector_name`, `connector_version`**
operationId: searchProcessConnectorDependencies
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessConnectorDependency'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/connectorFailure/{id}:
get:
tags:
- ConnectorFailure
summary: Finds the ConnectorFailure by ID
description: |
Returns the single ConnectorFailure for the given ID
operationId: getConnectorFailureById
parameters:
- description: ID of the ConnectorFailure to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectorFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/connectorInstance:
get:
tags:
- ConnectorInstance
summary: Finds ConnectorInstances
description: |
Finds ConnectorInstances attached to a process or a flow node with pagination params and filters.
You can filter on:
* `containerId`: the process instance or flow node instance ID
* `state`: the connector state `TO_BE_EXECUTED`, `EXECUTING`, `TO_RE_EXECUTE`, `DONE`, `FAILED`, `SKIPPED`
* `containerType`: the type of container: either `flowNode` or `process` (since version 10.3 - 2025.1)
* `name`: the connector name (since version 10.3 - 2025.1)
* `version`: the connector version (since version 10.3 - 2025.1)
* `connectorId`: the connector definition ID (since version 10.3 - 2025.1)
* `activationEvent`: the container event on which the connector is instanciated: either `ON_ENTER` or `ON_FINISH` (since version 10.3 - 2025.1)
operationId: searchConnectorInstances
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConnectorInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedConnectorInstance:
get:
tags:
- ArchivedConnectorInstance
summary: Finds ArchivedConnectorInstances
description: |
Finds ArchivedConnectorInstances with pagination params and filters
operationId: searchArchivedConnectorInstances
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedConnectorInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/flowNode:
get:
tags:
- FlowNode
summary: Finds FlowNodes
description: |
Finds FlowNodes with pagination params and filters
- can order on `name`, `displayName`, `state`, `processDefinitionId`, `parentProcessInstanceId`, `parentActivityInstanceId` (if the retrieved flow nodes are activities, order by parent activity id), `rootProcessInstanceId`, `lastUpdateDate`
- can search on any field that can be used to order results
- can filter on `name`, `state`, `processId`, `parentProcessInstanceId`, `rootProcessInstanceId`, `last_update_date`
operationId: searchFlowNodes
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FlowNode'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/flowNode/{id}:
get:
tags:
- FlowNode
summary: Finds the FlowNode by ID
description: |
Returns the single FlowNode for the given ID
operationId: getFlowNodeById
parameters:
- description: ID of the FlowNode to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/FlowNode'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- FlowNode
summary: Update the FlowNode by ID
description: |

Replay the flow node for the given ID.
operationId: updateFlowNodeById
parameters:
- description: ID of the FlowNode to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FlowNodeUpdateRequest'
description: Replay the flow node.
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedFlowNode:
get:
tags:
- ArchivedFlowNode
summary: Finds ArchivedFlowNodes
description: |
Finds ArchivedFlowNodes with pagination params and filters
- can order on `name`, `displayName`, `state`, `type`, `isTerminal`, `processId`, `caseId`, `archivedDate`
- can search on any field that can be used to order results
- can filter on `name`, `displayName`, `state`, `stateId`, `kind`, `terminal`, `processDefinitionId`, `parentProcessInstanceId`, `rootProcessInstanceId`, `parentActivityInstanceId`, `archivedDate`, `reachedStateDate`, `sourceObjectId`
operationId: searchArchivedFlowNodes
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedFlowNode'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/archivedFlowNode/{id}:
get:
tags:
- ArchivedFlowNode
summary: Finds the ArchivedFlowNode by ID
description: |
Returns the single ArchivedFlowNode for the given ID
operationId: getArchivedFlowNodeById
parameters:
- description: ID of the ArchivedFlowNode to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ArchivedFlowNode'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/failure/flowNode/{flowNodeInstanceId}:
get:
tags:
- Failure
summary: Retrieve the failures of a flownode instance by it's ID
description: |

Returns the most recent failures for the given flownode ID
operationId: getBPMFailuresByFlowNodeInstanceId
parameters:
- description: The identifier of the flownode instance from which to retrieve the failures
in: path
name: flowNodeInstanceId
required: true
schema:
type: string
maxLength: 250
pattern: ^[0-9\_\-\.]{0,250}$
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BPMFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/achivedFailure/flowNode/{flowNodeInstanceId}:
get:
tags:
- ArchivedFailure
summary: Retrieve the archived failures of an archived flownode instance by it's sourceObjectID
description: |

Returns the most recent failures for the given archived flownode sourceObjectID
operationId: getArchivedBPMFailuresByFlowNodeInstanceId
parameters:
- description: The original identifier (sourceObjectID) of the flownode instance from which to retrieve the failures
in: path
name: flowNodeInstanceId
required: true
schema:
type: string
maxLength: 250
pattern: ^[0-9\_\-\.]{0,250}$
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedBPMFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/failure/case/{caseId}:
get:
tags:
- Failure
summary: Retrieve the failures of a case (process instance) by it's ID
description: |

Returns the most recent failures for the given case
operationId: getBPMFailuresByCaseId
parameters:
- description: The identifier of the case from which to retrieve the failures
in: path
name: caseId
required: true
schema:
type: string
maxLength: 250
pattern: ^[0-9\_\-\.]{0,250}$
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BPMFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/achivedFailure/case/{caseId}:
get:
tags:
- Failure
summary: Retrieve the archived failures of an archived case (process instance) by it's sourceObjectID
description: |

Returns the most recent archived failures for the given archived case sourceObjectID
operationId: getArchivedBPMFailuresByCaseId
parameters:
- description: The original identifier (sourceObjectID) of the case from which to retrieve the failures
in: path
name: caseId
required: true
schema:
type: string
maxLength: 250
pattern: ^[0-9\_\-\.]{0,250}$
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedBPMFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/failure/case/{rootCaseId}/childCases:
get:
tags:
- Failure
summary: Retrieve the failures of the child cases of a root case (process instance) by it's ID
description: |

Returns the most recent failures among all the child cases (started by call activities) of a case
operationId: getBPMFailuresByRootCaseId
parameters:
- description: The identifier of the root case from which to retrieve the failures (its sourceObjectID if the root case is archived)
in: path
name: rootCaseId
required: true
schema:
type: string
maxLength: 250
pattern: ^[0-9\_\-\.]{0,250}$
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BPMFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/achivedFailure/case/{rootCaseId}/childCases:
get:
tags:
- Failure
summary: Retrieve the archived failures of the archived child cases of a root case (process instance) by it's ID
description: |

Returns the most recent archived failures among all the archived child cases (started by call activities) of a case
operationId: getArchivedBPMFailuresByRootCaseId
parameters:
- description: The identifier of the root case from which to retrieve the archived failures (its sourceObjectID if the root case is archived)
in: path
name: rootCaseId
required: true
schema:
type: string
maxLength: 250
pattern: ^[0-9\_\-\.]{0,250}$
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArchivedBPMFailure'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/timerEventTrigger:
get:
tags:
- TimerEventTrigger
summary: Finds TimerEventTriggers
description: |
Finds TimerEventTriggers with pagination params and filters
- can order on `id`
- can search on `displayName`
- can filter on `displayName`
operationId: searchTimerEventTriggers
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
- description: the process instance id
in: query
name: caseId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TimerEventTrigger'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/timerEventTrigger/{id}:
get:
tags:
- TimerEventTrigger
summary: Finds the TimerEventTrigger by ID
description: |
Returns the single TimerEventTrigger for the given ID
operationId: getTimerEventTriggerById
parameters:
- description: ID of the TimerEventTrigger to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/TimerEventTrigger'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- TimerEventTrigger
summary: Update the TimerEventTrigger by ID
description: |
Update the TimerEventTrigger for the given ID
operationId: updateTimerEventTriggerById
parameters:
- description: ID of the TimerEventTrigger to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TimerEventTriggerUpdateRequest'
description: a long value with attribute name "executionDate"
required: true
responses:
'200':
description: The actual long value corresponding to the next execution date of the timer event trigger, as a long value
content:
application/json:
schema:
$ref: '#/components/schemas/TimerEventTriggerUpdateResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/message:
post:
tags:
- Message
summary: Send BPM message events
description: |
Use this resource to send BPM message events. Message events are caught by processes using `catch message event` flow nodes (Start, intermediate, boundary or receive tasks).
operationId: createMessage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
description: A Message event
required: true
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/signal:
post:
tags:
- Signal
summary: Broadcast BPM signal events
description: |
Since 2022.1
Use this resource to broadcast BPM signal events. Signal events are caught by processes using `catch signal event` flow nodes (Start, intermediate or boundary).
operationId: broadcastSignal
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Signal'
description: A Signal event
required: true
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/customuserinfo/definition:
get:
tags:
- CustomUserDefinition
summary: Finds CustomUserDefinitions
description: |
Finds CustomUserDefinitions. There are no filters, and no search terms. All the definitions are returned.
operationId: searchCustomUserDefinitions
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomUserDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- CustomUserDefinition
summary: Create the CustomUserDefinition
description: |
Create the CustomUserDefinition
operationId: createCustomUserDefinition
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomUserDefinitionCreateRequest'
description: Partial CustomUserDefinition description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomUserDefinition'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/customuserinfo/definition/{id}:
get:
tags:
- CustomUserDefinition
summary: Finds the CustomUserDefinition by ID
description: |
Returns the single CustomUserDefinition for the given ID
operationId: getCustomUserDefinitionById
parameters:
- description: ID of the CustomUserDefinition to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/CustomUserDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- CustomUserDefinition
summary: Delete the CustomUserDefinition by ID
description: |
Delete the single CustomUserDefinition for the given ID
operationId: deleteCustomUserDefinitionById
parameters:
- description: ID of the CustomUserDefinition to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/customuserinfo/value:
get:
tags:
- CustomUserValue
summary: Finds CustomUserValues
description: |
Finds CustomUserValues with pagination params and filters
You can filter on `userId`, `value`, `definitionId`
operationId: searchCustomUserValues
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomUserValue'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/customuserinfo/value/{userId}/{definitionId}:
put:
tags:
- CustomUserValue
summary: Update the CustomUserValue by ID
description: |
Update the CustomUserValue for the given ID
operationId: updateCustomUserValueById
parameters:
- description: User ID
in: path
name: userId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: definition ID
in: path
name: definitionId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomUserValueUpdateRequest'
description: Custom user definition Value
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/customuserinfo/user:
get:
tags:
- CustomUser
summary: Finds CustomUsers
description: |
Finds CustomUsers with pagination params and filters
**The filter `userId` is mandatory**
operationId: searchCustomUsers
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomUser'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/form/mapping:
get:
tags:
- FormMapping
summary: Finds FormMappings
description: |
Finds FormMappings with pagination params and filters
- can filter on `processDefinitionId`,`type`
operationId: searchFormMappings
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FormMapping'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/form/mapping/{id}:
put:
tags:
- FormMapping
summary: Update the FormMapping by ID
deprecated: true
description: |

Update the FormMapping for the given ID
Warning: as of 9.0.0, updating a Form Mapping using this API is deprecated.
operationId: updateFormMappingById
parameters:
- description: ID of the FormMapping to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FormMappingUpdateRequest'
description: 'Representation of the form mapping attribute to update - {''pageId'': (long)} or {''url'': (string)} or {} to set the mapping type to NONE'
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/professionalcontactdata:
get:
tags:
- ProfessionalContactData
summary: Finds ProfessionalContactData
description: |
Finds ProfessionalContactData with pagination params and filters
- can order on `id`
- can search on `displayName`
- can filter on `displayName`
operationId: searchProfessionalContactDatas
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: Success
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProfessionalContactData'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProfessionalContactData
summary: Create the ProfessionalContactData
description: |
Create the ProfessionalContactData
operationId: createProfessionalContactData
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfessionalContactData'
example:
id: '4'
fax_number: 484-302-0766
building: '70'
phone_number: 484-302-5766
zipcode: '19108'
state: PA
city: Philadelphia
country: United States
address: Renwick Drive
email: walter.bates@acme.com
description: Partial ProfessionalContactData description including the user ID
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProfessionalContactData'
description: Success
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
description: Contact information for this user already exists
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/identity/professionalcontactdata/{userId}:
get:
tags:
- ProfessionalContactData
summary: Finds the ProfessionalContactData by ID
description: |
Returns the single ProfessionalContactData for the given ID
operationId: getProfessionalContactDataById
parameters:
- description: User ID of the ProfessionalContactData to return
in: path
name: userId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProfessionalContactData'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProfessionalContactData
summary: Update the ProfessionalContactData by ID
description: |
Update the ProfessionalContactData for the given ID
operationId: updateProfessionalContactDataById
parameters:
- description: User ID of the ProfessionalContactData to update
in: path
name: userId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfessionalContactData'
example:
id: '4'
fax_number: 484-302-0766
building: '70'
phone_number: 484-302-5766
zipcode: '19108'
state: PA
city: Philadelphia
country: United States
address: Renwick Drive
email: walter.bates@acme.com
description: Partial ProfessionalContactData description including the user ID
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/personalcontactdata/{userId}:
get:
tags:
- ProfessionalContactData
summary: Finds the PersonalContactData by ID
description: |
Returns the single PersonalContactData for the given ID
operationId: getPersonalContactDataById
parameters:
- description: User ID of the PersonalContactData to return
in: path
name: userId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProfessionalContactData'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProfessionalContactData
summary: Update the PersonalContactData by ID
description: |
Update the PersonalContactData for the given ID
operationId: updatePersonalContactDataById
parameters:
- description: User ID of the PersonalContactData to update
in: path
name: userId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfessionalContactData'
example:
id: '4'
fax_number: 484-302-0766
building: '70'
phone_number: 484-302-5766
zipcode: '19108'
state: PA
city: Philadelphia
country: United States
address: Renwick Drive
email: walter.bates@acme.com
description: Partial PersonalContactData description including the user ID
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/group:
get:
tags:
- Group
summary: Finds Groups
description: |
Finds Groups with pagination params and filters.
- can order on `id`,`name`,`displayName`
- can filter on `name`,`displayName`,`parent_path`
operationId: searchGroups
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Group
summary: Create the Group
description: |
Create the Group
operationId: createGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupCreateRequest'
description: Partial Group description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/identity/group/{id}:
get:
tags:
- Group
summary: Finds the Group by ID
description: |
Returns the single Group for the given ID
operationId: getGroupById
parameters:
- description: ID of the Group to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Group
summary: Update the Group by ID
description: |
Update the Group for the given ID
operationId: updateGroupById
parameters:
- description: ID of the Group to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupUpdateRequest'
description: Partial Group description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Group
summary: Delete the Group by ID
description: |
Delete the single Group for the given ID
operationId: deleteGroupById
parameters:
- description: ID of the Group to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/membership:
get:
tags:
- Membership
summary: Finds Memberships
description: |
Finds Memberships with pagination params and filters
**Filter `user_id` is mandatory**
You can order with the values: `ROLE_NAME_ASC`,`ROLE_NAME_DESC`, `GROUP_NAME_ASC`,`GROUP_NAME_DESC`, `ASSIGNED_DATE_ASC`, `ASSIGNED_DATE_DESC`
operationId: searchMemberships
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Membership'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Membership
summary: Create the Membership
description: |
Create the Membership
operationId: createMembership
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MembershipCreateRequest'
description: Partial Membership description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Membership'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/identity/membership/{userId}/{groupId}/{roleId}:
delete:
tags:
- Membership
summary: Delete the Membership by ID
description: |
Delete a membership of a user using the group id and role id.
operationId: deleteMembershipById
parameters:
- description: User ID of the Membership to delete
in: path
name: userId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Group ID of the Membership to delete
in: path
name: groupId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Role ID of the Membership to delete
in: path
name: roleId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/role:
get:
tags:
- Role
summary: Finds Roles
description: |
Finds Roles with pagination params and filters
- can order on `id`, `name` and `displayName`
- can filter on `name` and `displayName`
operationId: searchRoles
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Role'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Role
summary: Create the Role
description: |
Create the Role
operationId: createRole
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoleCreateRequest'
description: Partial Role description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/identity/role/{id}:
get:
tags:
- Role
summary: Finds the Role by ID
description: |
Returns the single Role for the given ID
operationId: getRoleById
parameters:
- description: ID of the Role to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Role
summary: Update the Role by ID
description: |
Update the Role for the given ID
operationId: updateRoleById
parameters:
- description: ID of the Role to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoleUpdateRequest'
description: Partial Role description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Role
summary: Delete the Role by ID
description: |
Delete the single Role for the given ID
operationId: deleteRoleById
parameters:
- description: ID of the Role to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/user:
get:
tags:
- User
summary: Finds Users
description: |
Finds Users with pagination params and filters
- can order on `id`
- can search on `displayName`
- can filter on `displayName`
operationId: searchUsers
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- User
summary: Create the User
description: |
Create the User
operationId: createUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreateRequest'
description: Partial User description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/identity/user/{id}:
get:
tags:
- User
summary: Finds the User by ID
description: |
Returns the single User for the given ID
operationId: getUserById
parameters:
- description: ID of the User to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- User
summary: Update the User by ID
description: |
Update the User for the given ID
operationId: updateUserById
parameters:
- description: ID of the User to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateRequest'
description: Partial User description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- User
summary: Delete the User by ID
description: |
Delete the single User for the given ID.
**Use this method with caution**: some artifacts like applications, process instances or users may present display problems in the Bonita Portal if the referenced user was deleted.
Note that you can disable a user instead of deleting it. To do so, use the UPDATE method and set the attribute 'enabled' to false
operationId: deleteUserById
parameters:
- description: ID of the User to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/identity/userSummary:
get:
tags:
- User
summary: Finds User summaries
description: |
Finds a paginated, lightweight projection of users (`id`, `userName`, `firstname`, `lastname`, `job_title`),
intended for user pickers and similar listings without exposing the full `identity/user` payload.
- `p` / `c`: pagination params (page index and page size)
- can search (`s`) on a free-text term matched by the engine across user attributes
- can order (`o`) on `username` (default `username ASC`), `firstname` or `lastname`. One or more
comma-separated sort clauses are applied in order (e.g. `lastname,firstname`). An optional `ASC` or
`DESC` direction may follow each field. Unknown fields or malformed clauses return `400`.
- can filter (`f`) only on `enabled` with a boolean value (e.g. `enabled=true`). Any other filter key
or a non-boolean value returns `400`. `enabled` is filter-only and is not part of the returned projection.
operationId: searchUserSummaries
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserSummary'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/platformloginservice:
post:
tags:
- Platform
- PlatformAuthentication
operationId: platformLogin
summary: Platform Login
description: |
The username and password are in `bonita-platform-community-custom.properties` file.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
username:
type: string
description: the username
password:
type: string
format: password
description: the password
redirect:
type: string
description: '"true" or "false". "false" indicates that the service should not redirect to Bonita Portal (after a successful login) or to the login page (after a login failure).'
example:
username: install
password: install
redirect: 'false'
responses:
'200':
description: Login success
headers:
Set-Cookie:
description: Session cookie
schema:
type: string
pattern: ([^;]+);?
example: JSESSIONID=C5385BFEE2969D9E46F0160C1952B0F1; Path=/bonita; HttpOnly; SameSite=Lax
X-Bonita-API-Token:
description: X-Bonita-API-Token - CSRF token (also present in the cookie response)
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\-]{0,250}$
example: ed27cbeb-9953-4d77-b5a2-1f62a6c2e0bb
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/platformlogoutservice:
post:
tags:
- Platform
- PlatformAuthentication
operationId: platformLogout
summary: Platform Logout
description: ''
responses:
'200':
description: logout success
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/platform/platform/unusedid:
get:
tags:
- Platform
summary: Finds the Platform by ID
description: |
Returns the current Platform
operationId: getPlatformById
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Platform'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Platform
summary: Update the Platform by ID
description: |
Start or stop the current node, that is, start or stop all services of the current JVM.
operationId: updatePlatformById
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformUpdateRequest'
description: Start or stop all services of the current JVM.
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/platform/license:
get:
tags:
- License
summary: Get the platform License
deprecated: true
description: |
Returns the current platform License.
This requires a platform session. Log in using the platform login service.
Warning: Since Bonita 10.2 (2024.3), this API is deprecated: use the API `GET /system/information` instead.
operationId: getPlatformLicense
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformLicense'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/portal/processUpload:
post:
tags:
- Process
- Upload
deprecated: true
summary: Upload a bar file
description: |
Upload a bar file
Warning: as of 9.0.0, uploading a bar file using the portal is deprecated.
operationId: uploadProcess
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: the temporary file name once uploaded on the server
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: tmp_11199343585454336281.bar
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/portal/pageUpload:
post:
tags:
- Page
- Upload
summary: Upload a Page
deprecated: true
description: |
Upload Page
Warning: as of 9.0.0, uploading a page using the portal is deprecated.
operationId: uploadPage
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: 'Success: the temp file name as present on the server'
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/portal/fileUpload:
post:
tags:
- Upload
- BDM
summary: Upload a file
description: |
Upload file.
**NOTE:** If this file is a BDM zip, to do this, Maintenance mode needs to be enabled.
In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM.
operationId: uploadFile
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: 'Success: the temp file name as present on the server'
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/portal/page:
get:
tags:
- Page
summary: Finds Pages
description: |
Finds Pages with pagination params and filters
- can search on `displayName`,`description`
- can filter on `createdBy`,`contentType`
operationId: searchPages
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Page'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Page
summary: Create the Page
deprecated: true
description: |
Upload the page content using the `portal/pageUpload`. This returns a temporary file name that can be used as input for this operation.
Warning: as of 9.0.0, creating a page using this API is deprecated.
operationId: createPage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PageCreateRequest'
description: Zip name as named in the temp folder after upload
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/portal/page/{id}:
get:
tags:
- Page
summary: Finds the Page by ID
description: |
Returns the single Page for the given ID
operationId: getPageById
parameters:
- description: ID of the Page to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Page
summary: Update the Page by ID
deprecated: true
description: |
Use the PUT method to update an existing custom page. To update a custom page, upload the new page content using the pageUpload servlet, which returns a temporary file name, and then call this API with the temporary file name.
Warning: as of 9.0.0, updating a page using this API is deprecated.
operationId: updatePageById
parameters:
- description: ID of the Page to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PageUpdateRequest'
description: Partial Page description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Page
summary: Delete the Page by ID
description: |
Delete the single Page for the given ID
operationId: deletePageById
parameters:
- description: ID of the Page to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/portal/profile:
get:
tags:
- Profile
summary: Finds Profiles
description: |
Finds Profiles with pagination params and filters
- can search on `name`
- can filter on `name`,`hasNavigation`
- can order on `name`
operationId: searchProfiles
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageSearch'
- $ref: '#/components/parameters/pageOrder'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Profile'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Profile
summary: Create the Profile
deprecated: true
description: |

Create the Profile
Warning: as of 9.0.0, creating profiles using this API is deprecated.
operationId: createProfile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileCreateRequest'
description: Partial Profile description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/portal/profile/{id}:
get:
tags:
- Profile
summary: Finds the Profile by ID
description: |
Returns the single Profile for the given ID
operationId: getProfileById
parameters:
- description: ID of the Profile to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Profile
summary: Update the Profile by ID
deprecated: true
description: |

Update the Profile for the given ID
Warning: as of 9.0.0, updating a profile using this API is deprecated.
operationId: updateProfileById
parameters:
- description: ID of the Profile to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileUpdateRequest'
description: Partial Profile description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Profile
summary: Delete the Profile by ID
description: |
Delete the single Profile for the given ID
operationId: deleteProfileById
parameters:
- description: ID of the Profile to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/portal/profileEntry:
get:
tags:
- ProfileEntry
summary: Finds ProfileEntries
deprecated: true
description: |
Finds ProfileEntries with pagination params and filters
- can search on `name`
- can filter on `page`,`name` and `parent_id`
Warning: Since Bonita 7.13, ProfileEntry is deprecated
operationId: searchProfileEntries
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProfileEntry'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProfileEntry
summary: Create the ProfileEntry
deprecated: true
description: |
Create the ProfileEntry
Warning: Since Bonita 7.13, ProfileEntry is deprecated
operationId: createProfileEntry
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileEntryCreateRequest'
description: Partial ProfileEntry description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileEntry'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/portal/profileEntry/{id}:
get:
tags:
- ProfileEntry
summary: Finds the ProfileEntry by ID
deprecated: true
description: |
Returns the single ProfileEntry for the given ID
Warning: Since Bonita 7.13, ProfileEntry is deprecated
operationId: getProfileEntryById
parameters:
- description: ID of the ProfileEntry to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileEntry'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- ProfileEntry
summary: Update the ProfileEntry by ID
deprecated: true
description: |
Update the ProfileEntry for the given ID
Warning: Since Bonita 7.13, ProfileEntry is deprecated
operationId: updateProfileEntryById
parameters:
- description: ID of the ProfileEntry to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileEntryUpdateRequest'
description: Partial ProfileEntry description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ProfileEntry
summary: Delete the ProfileEntry by ID
deprecated: true
description: |
Delete the single ProfileEntry for the given ID
operationId: deleteProfileEntryById
parameters:
- description: ID of the ProfileEntry to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/portal/profileMember:
get:
tags:
- ProfileMember
summary: Finds ProfileMembers
description: |
Finds ProfileMembers with pagination params and filters
**Filter `member_type` is mandatory**
You can filter on `profile_id`, `user_id`, `role_id` and `group_id`
operationId: searchProfileMembers
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProfileMember'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- ProfileMember
summary: Create the ProfileMember
description: |
Create the ProfileMember
operationId: createProfileMember
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileMemberCreateRequest'
description: Partial ProfileMember description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileMember'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/portal/profileMember/{id}:
get:
tags:
- ProfileMember
summary: Finds the ProfileMember by ID
description: |
Returns the single ProfileMember for the given ID
operationId: getProfileMemberById
parameters:
- description: ID of the ProfileMember to return
in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileMember'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- ProfileMember
summary: Delete the ProfileMember by ID
description: |
Delete the single ProfileMember for the given ID
operationId: deleteProfileMemberById
parameters:
- description: ID of the ProfileMember to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/portal/theme:
post:
tags:
- Theme
summary: Create the Theme
deprecated: true
description: |
Create the Theme
Warning: Since Bonita 7.13, theme management is deprecated
operationId: createTheme
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ThemeCreateRequest'
description: Partial Theme description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/portal/theme/unusedId:
put:
tags:
- Theme
summary: Restore default Theme
deprecated: true
description: |
Restore the default theme
Warning: Since Bonita 7.13, theme management is deprecated
operationId: restoreTheme
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ThemeRestoreRequest'
description: Partial Theme description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/log:
get:
tags:
- Log
summary: Finds Logs
description: |
Finds Logs with pagination params and filters. The search returns an array of log entries.
This Web REST API is available in **Enterprise editions only**.
- can filter on `action_scope`, `action_type`, `createdBy`, `message`, `severity` value
- can search by text on `action_scope`, `action_type`, `createdBy`, `message`, `severity`
- can order on `action_scope`, `action_type`, `creation_date`, `createdBy`, `message`, `severity`
operationId: searchLogs
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
x-codeSamples:
- lang: Shell
label: Curl
source: |
curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/log?p=0&c=10&o=creation_date+DESC'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Log'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/log/{id}:
get:
tags:
- Log
summary: Finds the Log by ID
description: |
Returns the single Log for the given ID.
This Web REST API is available in **Enterprise editions only**.
operationId: getLogById
parameters:
- description: ID of the Log to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
x-codeSamples:
- lang: Shell
label: Curl
source: |
curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/log/1024'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Log'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/i18nlocale:
get:
tags:
- I18nlocale
summary: Finds I18nlocales
description: |
List the available I18nlocales with pagination params and filters
operationId: searchI18nlocales
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/I18nlocale'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/i18ntranslation:
get:
tags:
- I18ntranslation
summary: Finds I18ntranslations
description: |
List the available I18ntranslations with pagination params and filters
Returns all translations of the product. If a locale is specified in the filter, that translation for that locale are returned.
If no locale is specified, the translations in English are returned.
You can filter on `locale`
operationId: searchI18ntranslations
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/I18ntranslation'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/session/unusedId:
get:
tags:
- Session
summary: Get the current user session
description: |
Returns session information for the current user
operationId: getSession
x-codeSamples:
- lang: Shell
label: Curl
source: |
curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/session/unusedId'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Session'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/maintenance:
get:
tags:
- Maintenance
summary: Get the maintenance details
description: |
Returns maintenance details of the platform
operationId: getMaintenanceDetails
x-codeSamples:
- lang: Shell
label: Curl
source: |
curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/maintenance'
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceDetails'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Maintenance
summary: Update the maintenance details
description: |
Update maintenance details
operationId: updateMaintenanceDetails
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceDetails'
description: Maintenance details; One or all attributes can be updated
required: true
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceDetails'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/information:
get:
tags:
- Information
summary: Get the system information
description: |
Returns system information details of the platform.
Requires to be logged in as a user having the Admin profile.
operationId: getSystemInformation
x-codeSamples:
- lang: Shell
label: Curl
source: |
curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/information'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SystemInformation'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/system/license/unusedid:
get:
tags:
- License
summary: Get the current server license
description: |
Returns license information for the current server. Requires to be logged in as a technical administrator.
The same information can be retrieved as a user having simply the Admin profile through the API `GET /system/information`.
operationId: getLicense
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/License'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/APIv2/service/install:
post:
tags:
- Application
summary: Upload an application configuration file
deprecated: true
description: |

Upload an application configuration file in the `bconf` format.
Warning: as of 9.0.0, uploading an application configuration file using this API is deprecated.
operationId: uploadApplicationConfiguration
requestBody:
content:
multipart/form-data:
schema:
type: object
required:
- configuration
properties:
configuration:
type: string
format: binary
responses:
'200':
description: 'Success: the temp file name as present on the server'
content:
text/plain:
schema:
type: string
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/tenant/bdm:
get:
tags:
- BDM
summary: Get the BDM
description: |
Returns the current BDM. Make this call to get the status the BDM.
operationId: getBdm
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Bdm'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- BDM
summary: Install a BDM
deprecated: true
description: |
Install a BDM
Warning: as of 9.0.0, importing a BDM using this API is deprecated.
operationId: installBDM
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BDMInstallRequest'
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/portal/organizationUpload:
post:
tags:
- Organization
- Upload
summary: Import an organization
description: |
Upload organization
operationId: uploadOrganization
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: 'Success '
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: tmp_organization_data.xml
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/services/organization/import:
post:
tags:
- Organization
summary: Import an organization
description: |
Import an organization
operationId: importOrganization
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
organizationDataUpload:
type: string
description: Uploaded file
importPolicy:
type: string
description: Import policy
responses:
'200':
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/portal/profilesUpload:
post:
tags:
- Profile
- Upload
summary: Upload profiles
deprecated: true
description: |

Upload profiles
Warning: as of 9.0.0, uploading profiles using the portal is deprecated.
operationId: uploadprofiles
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: 'Success '
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: tmp_profiles_data.xml
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/services/profile/import:
post:
tags:
- Profile
summary: Import profiles
deprecated: true
description: |
Import profiles
Warning: as of 9.0.0, importing profiles using this service is deprecated.
operationId: importProfiles
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
profilesDataUpload:
type: string
description: Uploaded file
importPolicy:
type: string
description: Import policy
responses:
'200':
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/formFileUpload:
post:
tags:
- FormFileUpload
summary: Upload a file
description: |
Supports any type of files, used to upload a file before submitting a process or task form with a document in its contract
operationId: formFileUpload
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FormFileUploadRequest'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/FormFileUploadResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
components:
securitySchemes:
bonita_auth:
name: JSESSIONID
description: |
To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section.
type: apiKey
in: cookie
bonita_token:
name: X-Bonita-API-Token
description: |
To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section.
type: apiKey
in: header
bearer_auth:
description: |

When Bonita runtime is configured for SSO with openID Connect it is possible To call the REST API directly with a Bearer Authorization header containing the access token.
type: http
scheme: bearer
schemas:
LoginRequest:
type: object
required:
- username
- password
properties:
username:
type: string
description: the username
password:
type: string
format: password
description: the password
redirect:
type: string
default: 'false'
description: '"true" or "false". "false" indicates that the service should not redirect to Bonita Portal (after a successful login) or to the login page (after a login failure).'
redirectURL:
type: string
default: ''
description: the URL of the page to be displayed after login
nullable: true
example:
username: install
password: install
redirect: 'false'
redirectURL: null
Error:
type: object
additionalProperties: true
properties:
message:
type: string
description: The error message
exception:
type: string
description: The exception type
explanations:
description: Further details on the error
type: array
items:
type: string
AbstractApplication:
type: object
properties:
createdBy:
description: Author user ID
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
creationDate:
description: creation date of the application
type: string
description:
description: description of the application
type: string
displayName:
description: display name of the application
type: string
id:
description: id of the application
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
lastUpdateDate:
description: last update date of the application
type: string
profileId:
description: profile authorized to access this application
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
token:
description: token of the application used to build the application URL
type: string
updatedBy:
description: Last updating user ID
type: string
version:
description: version of the application
type: string
state:
description: application state
type: string
enum:
- ACTIVATED
- DEACTIVATED
visibility:
description: visibility of the Application. This value is purely indicative, changing it in the application object won't change the accessibility to the actual application.
enum:
- ALL
- TECHNICAL_USER
- RESTRICTED
x-enumDescriptions:
ALL: Everyone can use the application
TECHNICAL_USER: Only the technical user can use the application
RESTRICTED: Access to the application is determined by the user profile
editable:
description: Indicates whether the application can be modified
type: boolean
ApplicationLink:
title: Application Link
description: Contains the meta information of a Bonita Living Application Link.
allOf:
- type: object
properties:
link:
description: true for an application link
type: boolean
enum:
- true
- $ref: '#/components/schemas/AbstractApplication'
- type: object
description: Contains the meta information of a Bonita Living Application Link.
example:
id: '306'
link: 'true'
creationDate: '1411548289900'
icon: ''
createdBy": '1'
profileId: '2'
description: My application link description
token: myadvapp
state: ACTIVATED
displayName: My app link
updatedBy: '1'
visibility: ALL
editable: 'true'
lastUpdateDate: '1411548289900'
version: '1.0'
LegacyApplication:
title: Legacy application
description: Contains the meta information of a legacy Bonita Living Application.
allOf:
- type: object
properties:
link:
description: false for a legacy application
type: boolean
enum:
- false
- $ref: '#/components/schemas/AbstractApplication'
- type: object
description: Contains the meta information of a legacy Bonita Living Application.
properties:
homePageId:
description: id of the application page used as the home page
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
layoutId:
description: id of the layout used by the application
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
themeId:
description: id of the theme used by the application
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example:
id: '305'
link: 'false'
creationDate: '1411548289900'
icon: ''
createdBy": '1'
profileId: '2'
description: My application description
token: myapp
state: DEACTIVATED
displayName: My app
updatedBy: '1'
visibility: ALL
editable: 'true'
lastUpdateDate: '1411548289900'
version: '1.0'
homePageId: '26'
themeId: '1'
layoutId: '3'
Application:
oneOf:
- $ref: '#/components/schemas/ApplicationLink'
- $ref: '#/components/schemas/LegacyApplication'
CreateApplicationRequest:
type: object
properties:
link:
description: true for an application link, false for a legacy application
type: boolean
default: 'false'
enum:
- true
- false
description:
description: description of the application
type: string
displayName:
description: display name of the application
type: string
profileId:
description: profile authorized to access this application
type: string
token:
description: token of the application used to build the application URL
type: string
version:
description: version of the application
type: string
example:
link: 'false'
version: '1.0'
profileId: '2'
token: myapp
displayName: My app
description: My application description
ApplicationUpdateRequest:
type: object
properties:
description:
description: description of the application
type: string
displayName:
description: display name of the application
type: string
profileId:
description: profile authorized to access this application
type: string
token:
description: token of the application used to build the application URL
type: string
version:
description: version of the application
type: string
themeId:
description: |

theme id for the application
type: string
layoutId:
description: |

layout id for the application
type: string
example:
version: '1.0'
profileId: '2'
token: myapp
displayName: My app
description: My application description
themeId: '2'
layoutId: '17'
FileUploadRequest:
type: object
description: The file to upload
properties:
file:
type: string
format: binary
ApplicationMenu:
type: object
properties:
id:
description: id of the application menu item
type: string
parentMenuId:
description: id of the parent menu of this menu item, or -1 for a top-level item
type: string
applicationPageId:
description: id of the application page targeted by this menu item, or -1 if there is no targeted page (that is, the item is a parent menu)
type: string
applicationId:
description: id of the application related to this menu item
type: string
menuIndex:
description: index of the menu item
type: string
displayName:
description: label to display for this menu in the application navigation bar or menu
type: string
example:
id: '8'
applicationId: '1'
applicationPageId: '5'
menuIndex: '1'
parentMenuId: '-1'
displayName: menuLabel
ApplicationMenuCreateRequest:
type: object
properties:
displayName:
description: display name of the application menu
type: string
applicationPageId:
description: the application menu page ID
type: string
menuIndex:
description: the application menu index
type: string
parentMenuId:
description: the application parent menu ID
type: string
example:
displayName: My updated label
ApplicationMenuUpdateRequest:
type: object
properties:
parentMenuId:
description: id of the parent menu of this menu item, or -1 for a top-level item
type: string
applicationPageId:
description: id of the application page targeted by this menu item, or -1 if there is no targeted page (that is, the item is a parent menu)
type: string
applicationId:
description: id of the application related to this menu item
type: string
menuIndex:
description: index of the menu item
type: string
displayName:
description: label to display for this menu in the application navigation bar or menu
type: string
example:
displayName: menuLabel
applicationId: '1'
applicationPageId: '5'
menuIndex: '1'
parentMenuId: '-1'
ApplicationPage:
type: object
properties:
id:
description: id of the application page item
type: string
token:
description: 'token use to access the page using a URL : ../appName/pageToken/'
type: string
applicationId:
description: id of the application related to this page
type: string
pageId:
description: id of the custom page to display
type: string
example:
id: '9876'
token: myPage
applicationId: '1234'
pageId: '5678'
ApplicationPageCreateRequest:
type: object
properties:
token:
description: 'token use to access the page using a URL : ../appName/pageToken/'
type: string
applicationId:
description: id of the application related to this page
type: string
pageId:
description: id of the custom page to display
type: string
example:
token: myPage
applicationId: '1234'
pageId: '5678'
AnyValue:
nullable: true
type: object
description: Can be any value - string, number, boolean, array or object or null depending on your query.
BusinessDataCreationResult:
type: object
description: |
An object containing:
* the ID of the newly created Business Data, under the name of "newBusinessDataId"
* any unknown fields, provided as an array of names, under the name of "unknownFields"
properties:
newBusinessDataId:
description: ID of the newly created Business Data
type: number
unknownFields:
description: list of unknown input fields that are not declared in the Business Data type
items:
type: string
type: array
example:
newBusinessDataId: 1988
unknownFields:
- notAValidField
BusinessDataImportResult:
type: object
description: |
An object containing:
* the list of IDs of all the newly created Business Data, under the name of "createdIds"
* the list of unknown fields, provided as an array of names, under the name of "unknownFields"
properties:
createdIds:
description: List of IDs of the newly created Business Data
items:
type: number
type: array
unknownFields:
description: list of unknown input fields that are not declared in the Business Data type
items:
type: string
type: array
example:
createdIds:
- 198
- 199
unknownFields:
- department
BusinessData:
type: object
additionalProperties: true
description: |
Retrieve business data value. Depending on the object attribute loading policy,
the API returns either the full object in JSON representation or the HATEOAS links to the object attributes.
Long attributes use a string representation added in 7.0.1 as a workaround for the JavaScript integer spectrum issue.
Representation of object attributes with an _always load_ policy:
```json
{
"persistenceId": _number_, // <-- deprecated
"persistenceId_string": "_number_"
"persistenceVersion": _number_, // <-- deprecated
"persistenceVersion_string": "_number_"
"attributeName":_attributeType_
...
}
```
The string representation added in 7.0.1 for Long attributes is a workaround for the JavaScript integer spectrum issue.
HATEOAS representation of object attribute with a _load when needed_ policy:
```json
"links":[
{
"rel":_string_
"href":_uri_
}
]
```
properties:
persistenceId_string:
description: Id of the business data object
type: string
persistenceVersion_string:
description: Version of the business data object instance
type: string
example:
persistenceId_string: '1'
persistenceVersion_string: '0'
contractName: contract for Netcom3
terms:
- persistenceId: 1
persistenceId_string: '1'
persistenceVersion: 0
persistenceVersion_string: '0'
termName: term Name
- persistenceId: 2
persistenceId_string: '2'
persistenceVersion: 0
persistenceVersion_string: '0'
termName: term Name
client:
persistenceId: 13
persistenceId_string: '13'
persistenceVersion: 0
persistenceVersion_string: '0'
clientName: client name
description: n/a
industry:
- persistenceId: 2
persistenceId_string: '2'
persistenceVersion: 0
persistenceVersion_string: '0'
industryName: Services
- persistenceId: 3
persistenceId_string: '3'
persistenceVersion: 0
persistenceVersion_string: '0'
industryName: Software
BusinessDataUpdateResult:
type: object
description: |
An object containing:
* any unknown fields, provided as an array of names, under the name of "unknownFields"
properties:
unknownFields:
description: list of unknown input fields that are not declared in the Business Data type
items:
type: string
type: array
example:
unknownFields:
- notAValidField
TenantResourceState:
description: Tenant resource state (BDM, BDM access control, ...)
type: string
enum:
- INSTALLING
- INSTALLED
BDMAccessControl:
type: object
properties:
id:
description: Id of the BDM access control
type: string
name:
description: BDM access control name
type: string
state:
$ref: '#/components/schemas/TenantResourceState'
lastUpdatedBy:
description: 'If `lastUpdatedBy: -1` it means that the access control were last installed or updated by technical admin.'
type: string
lastUpdateDate:
description: Last date when the access control were installed or updated.
type: string
example:
id: 4090
name: bdm_access_control.xml
type: BDM_ACCESS_CONTROL
state: INSTALLED
lastUpdatedBy: 4
lastUpdateDate: '2018-01-17T17:05:36.671Z'
CompositionNode:
type: object
description: |
A node in the recursive composition tree of a business object type. Each node holds the
qualified name of a composed business object type and the list of its own composed children,
allowing arbitrarily deep composition hierarchies to be expressed.
required:
- qualifiedName
- compositions
properties:
qualifiedName:
description: Fully qualified Java class name of the composed business object type.
type: string
compositions:
description: Direct composition children of this object, or an empty list if none.
type: array
items:
$ref: '#/components/schemas/CompositionNode'
example:
qualifiedName: com.company.model.Address
compositions: []
ReferenceDate:
type: string
description: |
Date field on a BDM object instance used as the starting point of the retention period calculation.
- `CREATION`: retention is calculated from the creation date of the BDM object instance. The clock never resets.
- `LAST_UPDATE`: retention is calculated from the last modification date of the BDM object instance. The clock resets on every modification.
enum:
- CREATION
- LAST_UPDATE
DataRetentionConfig:
type: object
description: |
A data retention rule configured for a specific business object type. It defines when and how
business data of that type are automatically deleted by the data retention service.
required:
- id
- dataClassname
- referenceDate
- retentionDays
- createdAt
- updatedAt
properties:
id:
description: Identifier of the retention rule. Serialized as a string to avoid JavaScript precision loss on large `long` values.
type: string
dataClassname:
description: Fully qualified Java class name of the business object type this rule applies to. Note the lowercase `n` (the create-rule request body uses `dataClassName` instead).
type: string
referenceDate:
$ref: '#/components/schemas/ReferenceDate'
retentionDays:
description: Duration of the retention period, in days. Always strictly positive — enforced by the engine on create and update.
type: integer
format: int32
minimum: 1
createdAt:
description: Creation timestamp of this retention rule, in epoch milliseconds. Serialized as a string to avoid JavaScript precision loss.
type: string
updatedAt:
description: Last update timestamp of this retention rule, in epoch milliseconds. Serialized as a string to avoid JavaScript precision loss.
type: string
example:
id: '1'
dataClassname: com.company.model.Request
referenceDate: CREATION
retentionDays: 365
createdAt: '1777473415401'
updatedAt: '1777473415401'
BusinessObjectWithRetentionRule:
type: object
description: |
A business object type defined in the Business Data Model (BDM) along with its optional data
retention rule and composition tree.
The `dataRetentionRule` field is `null` when no retention rule has been configured for this
business object type.
required:
- qualifiedName
- compositions
- dataRetentionRule
properties:
qualifiedName:
description: Fully qualified Java class name of the business object type.
type: string
compositions:
description: Direct composition children of this business object type as a recursive tree.
type: array
items:
$ref: '#/components/schemas/CompositionNode'
dataRetentionRule:
type: object
nullable: true
allOf:
- $ref: '#/components/schemas/DataRetentionConfig'
example:
qualifiedName: com.company.model.Order
compositions:
- qualifiedName: com.company.model.OrderLine
compositions:
- qualifiedName: com.company.model.Product
compositions: []
- qualifiedName: com.company.model.Address
compositions: []
dataRetentionRule:
id: '1'
dataClassname: com.company.model.Order
referenceDate: CREATION
retentionDays: 365
createdAt: '1777473415401'
updatedAt: '1777473415401'
RetentionSchedule:
type: object
description: |
Schedule on which the data retention service runs. The cron expression is configured via the
`bonita.runtime.retention.schedule.cron` platform property.
required:
- cronExpression
properties:
cronExpression:
description: Cron expression that defines when the data retention job is triggered.
type: string
example:
cronExpression: 0 0 2 * * 6
RetentionRuleCreateRequest:
type: object
description: |
Body of `POST /API/retention/rule`. Defines a new data retention rule for the business object
type identified by `dataClassName`. All three fields are required.
required:
- dataClassName
- referenceDate
- retentionDays
properties:
dataClassName:
description: |
Fully qualified Java class name of the business object type this rule applies to. Note the uppercase `N`.
The corresponding field returned in the `DataRetentionConfig` response of this endpoint and of `PUT /API/retention/rule/{ruleId}`, `GET /API/retention/object` is named `dataClassname` (lowercase `n`).
type: string
referenceDate:
$ref: '#/components/schemas/ReferenceDate'
retentionDays:
description: Duration of the retention period, in days. Must be strictly positive.
type: integer
format: int32
minimum: 1
example:
dataClassName: com.company.model.ContratClient
referenceDate: LAST_UPDATE
retentionDays: 365
RetentionRuleUpdateRequest:
type: object
description: |
Body of `PUT /API/retention/rule/{ruleId}`. Replaces the mutable fields of an existing
retention rule. This is a full replacement of `referenceDate` and `retentionDays`, not a
partial update — both fields must be provided on every call. The `dataClassName` of an
existing rule cannot be changed.
required:
- referenceDate
- retentionDays
properties:
referenceDate:
$ref: '#/components/schemas/ReferenceDate'
retentionDays:
description: Duration of the retention period, in days. Must be strictly positive.
type: integer
format: int32
minimum: 1
example:
referenceDate: CREATION
retentionDays: 730
DelegationUser:
type: object
description: |
User embedded in a delegation rule or a delegated task (delegator, delegate or last updater).
This is the engine `User` model serialized directly, so its field names (`userName`,
`managerUserId`, `creationDate`, ...) differ from the legacy snake_case `User` schema returned
by the `/API/identity/user` endpoints. The long id fields (`id`, `createdBy`, `managerUserId`)
are serialized as strings to avoid JavaScript precision loss, while the date fields
(`creationDate`, `lastUpdate`, `lastConnection`) are serialized as numeric epoch milliseconds.
required:
- id
- userName
- firstName
- lastName
- enabled
properties:
id:
description: User id. Serialized as a string to avoid JavaScript precision loss on large `long` values.
type: string
userName:
description: Login name of the user.
type: string
firstName:
description: First name of the user.
type: string
nullable: true
lastName:
description: Last name of the user.
type: string
nullable: true
title:
description: Civility title of the user.
type: string
nullable: true
jobTitle:
description: Job title of the user.
type: string
nullable: true
iconId:
description: Id of the icon row used as avatar, or `null` when no icon is set. Serialized as a string when present.
type: string
nullable: true
managerUserId:
description: Id of this user's manager, or `0` when none. Serialized as a string.
type: string
createdBy:
description: Id of the user who created this account (`-1` for system-created accounts). Serialized as a string.
type: string
creationDate:
description: Creation timestamp of the user account, in epoch milliseconds.
type: integer
format: int64
lastUpdate:
description: Last update timestamp of the user account, in epoch milliseconds.
type: integer
format: int64
lastConnection:
description: Last connection timestamp, in epoch milliseconds, or `null` if the user never logged in.
type: integer
format: int64
nullable: true
enabled:
description: Whether the user account is enabled.
type: boolean
example:
id: '2'
firstName: Michael
lastName: Scott
userName: michael.scott
iconId: null
title: null
jobTitle: null
creationDate: 1780477806557
createdBy: '-1'
lastUpdate: 1780477806557
lastConnection: null
managerUserId: '0'
enabled: true
DelegationStatus:
type: string
description: |
Lifecycle status of a delegation rule, derived at query time from the rule's `startDate` /
`endDate` compared against the current time. There is no stored activation flag.
- `scheduled`: `startDate` is in the future. The delegate does not yet have access.
- `active`: the current time is within `[startDate, endDate]`. The delegate has access.
- `expired`: `endDate` is in the past. The delegate no longer has access.
Serialized in lowercase.
enum:
- scheduled
- active
- expired
DelegationRule:
type: object
description: |
A task delegation rule: a user (the delegator) grants another user (the delegate) the ability
to see and execute the delegator's human tasks during a bounded period, for a whitelist of
processes.
Delegation is not reassignment: tasks stay assigned to the delegator, and the delegate only
gains visibility and execution rights through dedicated views. A user can hold at most one
delegation rule at a time.
required:
- id
- delegator
- delegate
- startDate
- endDate
- processes
- status
- lastUpdatedBy
- lastUpdatedAt
properties:
id:
description: Identifier of the delegation rule. Serialized as a string to avoid JavaScript precision loss on large `long` values.
type: string
delegator:
description: The user whose tasks are delegated.
$ref: '#/components/schemas/DelegationUser'
delegate:
description: The user receiving visibility and execution rights on the delegator's tasks.
$ref: '#/components/schemas/DelegationUser'
startDate:
description: Start of the delegation period, inclusive, in milliseconds since epoch.
type: integer
format: int64
endDate:
description: End of the delegation period, inclusive, in milliseconds since epoch.
type: integer
format: int64
processes:
description: |
Process whitelist for this rule. Each entry is a process name; a name covers every deployed
version of that process. Always contains at least one entry.
type: array
minItems: 1
items:
type: string
status:
$ref: '#/components/schemas/DelegationStatus'
lastUpdatedBy:
description: The user who last created or modified this rule (the delegator on self-service, or an administrator).
$ref: '#/components/schemas/DelegationUser'
lastUpdatedAt:
description: Timestamp of the last modification, in milliseconds since epoch.
type: integer
format: int64
example:
id: '1'
delegator:
id: '1'
firstName: Walter
lastName: Bates
userName: walter.bates
iconId: null
title: null
jobTitle: null
creationDate: 1780477756657
createdBy: '-1'
lastUpdate: 1780477756657
lastConnection: 1780576504806
managerUserId: '0'
enabled: true
delegate:
id: '2'
firstName: Michael
lastName: Scott
userName: michael.scott
iconId: null
title: null
jobTitle: null
creationDate: 1780477806557
createdBy: '-1'
lastUpdate: 1780477806557
lastConnection: null
managerUserId: '0'
enabled: true
startDate: 1780524000000
endDate: 1780696799999
processes:
- Vacation request
status: active
lastUpdatedBy:
id: '1'
firstName: Walter
lastName: Bates
userName: walter.bates
iconId: null
title: null
jobTitle: null
creationDate: 1780477756657
createdBy: '-1'
lastUpdate: 1780477756657
lastConnection: 1780576504806
managerUserId: '0'
enabled: true
lastUpdatedAt: 1780576300586
DelegationRuleCreateRequest:
type: object
description: |
Body of `POST /API/delegation/rule`. Defines a new delegation rule.
`delegatorId` is optional: when omitted it is resolved from the current session
(self-service creation). An administrator creating a rule on behalf of another user provides
`delegatorId` explicitly.
The values must satisfy: `endDate` strictly after `startDate`, `delegateId` different from the
delegator, and a non-empty `processes` list. A violation is reported as `400`.
A user can hold at most one delegation rule: posting a rule for a delegator who already has one
replaces the existing rule (upsert).
required:
- delegateId
- startDate
- endDate
- processes
properties:
delegatorId:
description: Id of the user whose tasks are delegated. Optional; resolved from the session when omitted.
type: integer
format: int64
delegateId:
description: Id of the user receiving access. Must differ from the delegator.
type: integer
format: int64
startDate:
description: Start of the delegation period, inclusive, in epoch milliseconds.
type: integer
format: int64
endDate:
description: End of the delegation period, inclusive, in epoch milliseconds. Must be strictly after `startDate`.
type: integer
format: int64
processes:
description: Process whitelist. Each entry is a process name covering every deployed version. Must contain at least one entry.
type: array
minItems: 1
items:
type: string
example:
delegatorId: 1
delegateId: 2
startDate: 1780524000000
endDate: 1780696799999
processes:
- Vacation request
DelegationRuleUpdateRequest:
type: object
description: |
Body of `PUT /API/delegation/rule/{ruleId}`. Replaces the mutable fields of an existing
delegation rule. This is a full replacement, not a partial update: every field must be
provided on each call. The delegator of an existing rule cannot be changed.
The values must satisfy: `endDate` strictly after `startDate`, `delegateId` different from the
delegator, and a non-empty `processes` list. A violation is reported as `400`.
required:
- delegateId
- startDate
- endDate
- processes
properties:
delegateId:
description: Id of the user receiving access. Must differ from the delegator.
type: integer
format: int64
startDate:
description: Start of the delegation period, inclusive, in epoch milliseconds.
type: integer
format: int64
endDate:
description: End of the delegation period, inclusive, in epoch milliseconds. Must be strictly after `startDate`.
type: integer
format: int64
processes:
description: Process whitelist. Each entry is a process name covering every deployed version. Must contain at least one entry.
type: array
minItems: 1
items:
type: string
example:
delegateId: 2
startDate: 1780524000000
endDate: 1780696799999
processes:
- Vacation request
ActivationState:
description: the state of the process definition (ENABLED or DISABLED)
type: string
enum:
- ENABLED
- DISABLED
ConfigurationState:
description: the configuration state of the process (UNRESOLVED or RESOLVED)
type: string
enum:
- RESOLVED
- UNRESOLVED
ProcessDeploymentInfo:
type: object
description: |
Deployment information of a process: its name, version, activation and configuration state,
and deployment metadata. This is a general-purpose embedding shape, not delegation-specific;
it currently appears under the `rootProcessInfo` field of a delegated task.
The internal deployment-info row id is intentionally not exposed; callers identify the process
through `processId`. The `processId` and `deployedBy` long ids are serialized as strings to
avoid JavaScript precision loss, while date fields are serialized as numeric epoch milliseconds.
required:
- processId
- name
- version
- activationState
- configurationState
properties:
processId:
description: Identifier of the process definition. Serialized as a string to avoid JavaScript precision loss.
type: string
name:
description: Technical name of the process.
type: string
version:
description: Version of the process.
type: string
displayName:
description: Human-readable name of the process.
type: string
nullable: true
description:
description: Description of the process.
type: string
nullable: true
displayDescription:
description: Human-readable description of the process.
type: string
nullable: true
deploymentDate:
description: Deployment timestamp of the process, in epoch milliseconds.
type: integer
format: int64
deployedBy:
description: Id of the user who deployed the process. Serialized as a string.
type: string
lastUpdateDate:
description: Timestamp of the last update of the deployment information, in epoch milliseconds.
type: integer
format: int64
activationState:
description: Activation state of the process.
$ref: '#/components/schemas/ActivationState'
configurationState:
description: Configuration state of the process.
$ref: '#/components/schemas/ConfigurationState'
iconPath:
description: Path to the process icon, or `null` when none is set.
type: string
nullable: true
example:
name: Vacation request
version: '1.0'
displayDescription: ''
deploymentDate: 1780576273140
deployedBy: '1'
configurationState: RESOLVED
activationState: ENABLED
processId: '5270206374128493046'
displayName: Vacation request
lastUpdateDate: 1780576574182
iconPath: null
description: ''
DelegatedTask:
type: object
description: |
A human task that a user is allowed to act on through an active delegation rule,
returned by `GET /API/delegation/task`.
The task is still assigned to the delegator; delegation grants the delegate visibility and
execution rights but does not reassign ownership. The shape aligns with the legacy human-task
REST format (modernised to camelCase): `processDefinitionId` is exposed as `processId`,
`parentProcessInstanceId` as `parentCaseId`, `rootContainerId` as `rootCaseId`,
`expectedEndDate` as `dueDate` and `claimedDate` as `assignedDate`. The delegator, delegate
and delegation window are added on top so the front-end can render the delegation context
without a second round-trip.
All long id fields are serialized as strings to avoid JavaScript precision loss. Date fields
(`dueDate`, `assignedDate`, `reachedStateDate`, `lastUpdateDate`, `delegationStart`,
`delegationEnd`) are numeric, in milliseconds since epoch; some (such as `dueDate` and
`assignedDate`) may be `null`.
required:
- id
- name
- displayName
- state
- type
- priority
- processId
- parentCaseId
- rootCaseId
- actorId
- assigneeId
- executedBy
- executedBySubstitute
- flownodeDefinitionId
- delegator
- delegate
- delegationStart
- delegationEnd
- rootProcessInfo
properties:
id:
description: Identifier of the task instance. Serialized as a string to avoid JavaScript precision loss.
type: string
name:
description: Technical name of the task.
type: string
displayName:
description: Human-readable name of the task.
type: string
nullable: true
description:
description: Description of the task.
type: string
nullable: true
displayDescription:
description: Human-readable description of the task.
type: string
nullable: true
state:
description: Current state of the task (e.g. `ready`).
type: string
type:
description: Flow node type (e.g. `USER_TASK`).
type: string
priority:
description: Priority of the task (e.g. `NORMAL`).
type: string
nullable: true
dueDate:
description: Expected end date of the task, in epoch milliseconds, or `null` when none is set. (Maps to the engine `expectedEndDate`.)
type: integer
format: int64
nullable: true
assignedDate:
description: Date the task was claimed by its assignee, in epoch milliseconds, or `null` when unassigned. (Maps to the engine `claimedDate`.)
type: integer
format: int64
nullable: true
reachedStateDate:
description: Date the task reached its current state, in epoch milliseconds.
type: integer
format: int64
lastUpdateDate:
description: Date the task was last updated, in epoch milliseconds.
type: integer
format: int64
processId:
description: Identifier of the process definition. Serialized as a string. (Maps to the engine `processDefinitionId`.)
type: string
parentCaseId:
description: Identifier of the immediate containing process instance. Serialized as a string. (Maps to the engine `parentProcessInstanceId`.)
type: string
rootCaseId:
description: Identifier of the root process instance. Serialized as a string. (Maps to the engine `rootContainerId`.)
type: string
actorId:
description: Id of the actor that can execute this task. Serialized as a string.
type: string
assigneeId:
description: Id of the user this task is assigned to, or `0` if unassigned. Serialized as a string.
type: string
executedBy:
description: Id of the user who performed the task, or `0` if not yet executed. Serialized as a string.
type: string
executedBySubstitute:
description: Id of the user who performed the task on behalf of someone else, or `0` otherwise. Serialized as a string.
type: string
flownodeDefinitionId:
description: Identifier of the flow node definition. Serialized as a string.
type: string
delegator:
description: The user whose task this is (the delegator).
$ref: '#/components/schemas/DelegationUser'
delegate:
description: The user the task is surfaced to through delegation (the delegate).
$ref: '#/components/schemas/DelegationUser'
delegationStart:
description: Start of the delegation period, inclusive, in milliseconds since epoch. Same value as the delegation rule's `startDate`.
type: integer
format: int64
delegationEnd:
description: End of the delegation period, inclusive, in milliseconds since epoch. Same value as the delegation rule's `endDate`.
type: integer
format: int64
rootProcessInfo:
description: Deployment information of the process behind the root case that triggered the task, not the child case the task may directly belong to.
$ref: '#/components/schemas/ProcessDeploymentInfo'
example:
id: '2'
name: Validate request
displayName: Validate request
description: null
displayDescription: null
state: ready
type: USER_TASK
priority: NORMAL
dueDate: null
assignedDate: 1780576627723
reachedStateDate: 1780576595140
lastUpdateDate: 1780576627723
processId: '5270206374128493046'
parentCaseId: '1'
rootCaseId: '1'
actorId: '1'
assigneeId: '1'
executedBy: '0'
executedBySubstitute: '0'
flownodeDefinitionId: '7537946595085140972'
delegationStart: 1780524000000
delegationEnd: 1780696799999
delegator:
id: '1'
firstName: Walter
lastName: Bates
userName: walter.bates
iconId: null
title: null
jobTitle: null
creationDate: 1780477756657
createdBy: '-1'
lastUpdate: 1780477756657
lastConnection: 1780576504806
managerUserId: '0'
enabled: true
delegate:
id: '2'
firstName: Michael
lastName: Scott
userName: michael.scott
iconId: null
title: null
jobTitle: null
creationDate: 1780477806557
createdBy: '-1'
lastUpdate: 1780477806557
lastConnection: null
managerUserId: '0'
enabled: true
rootProcessInfo:
name: Vacation request
version: '1.0'
displayDescription: ''
deploymentDate: 1780576273140
deployedBy: '1'
configurationState: RESOLVED
activationState: ENABLED
processId: '5270206374128493046'
displayName: Vacation request
lastUpdateDate: 1780576574182
iconPath: null
description: ''
ActivityType:
type: string
description: the activity type (string)
enum:
- AUTOMATIC_TASK
- HUMAN_TASK
- USER_TASK
- MANUAL_TASK
- LOOP_ACTIVITY
- MULTI_INSTANCE_ACTIVITY
- CALL_ACTIVITY
ActivityState:
type: string
description: the current state of the activity
enum:
- failed
- initializing
- ready
- executing
- completing
- completed
- waiting
- skipped
- cancelled
- aborted
- cancelling subtasks
- aborting activity with boundary
- completing activity with boundary
ActivityPriority:
type: string
description: the priority of the current activity
enum:
- highest
- above_normal
- normal
- under_normal
- lowest
Activity:
type: object
description: |
Use this resource to retrieve activities (human or service tasks), call activities, and subprocesses currently running on the platform.
It enables you to perform maintenance tasks like skipping or replaying a failed task and modifying variables.
properties:
id:
type: string
description: the activity id
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
type:
$ref: '#/components/schemas/ActivityType'
name:
type: string
description: the activity technical name
displayName:
type: string
description: the human readable activity name
description:
type: string
description: the activity description
displayDescription:
type: string
description: the human readable activity description
state:
$ref: '#/components/schemas/ActivityState'
reached_state_date:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this activity reached the current state, for example '2014-10-17 16:05:42.626'
last_update_date:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this activity was last updated, for example '2014-10-17 16:05:42.626)
dueDate:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this activity is due, for example '2014-10-17 16:05:42.626'
priority:
$ref: '#/components/schemas/ActivityPriority'
processId:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: the process definition id of the process instance which define this activity
parentCaseId:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: the immediate containing process instance id (long, a.k.a process instance id)
rootCaseId:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: the top/root process instance id (long, a.k.a case id). In case of an event sub process, `parentCaseId` will the id of the process instance called while `rootCaseId` will be the one from the caller process instance
rootContainerId:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: same as rootCaseId
executedBy:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: the id of the user who performed this activity. The activity has to be a human task otherwise its value will be 0
executedBySubstitute:
type: string
description: the id of the user who did actually performed the activity when it has been done in the name of someone else. Value is 0 otherwise
actorId:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: the id of the actor that can execute this activity, null otherwise
assigned_id:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
description: the user id that this activity is assigned to, or 0 if it is unassigned
assigned_date:
type: string
pattern: ^\d{4}-\d{2}-\d{2}\s\d+:\d+:\d+\.\d+$
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current activity was assigned, for example '2014-10-17 16:05:42.626'
example:
displayDescription: validate expense request
executedBySubstitute: '0'
caseId: '76539'
parentCaseId: '68743'
rootCaseId: '65879'
processId: '7012'
rootContainerId: '7000'
state: completed
type: the activity type as a string
assigned_id: '304'
assigned_date: '2014-10-17 16:05:42.626'
id: '809764'
executedBy: '0'
priority: the priority of the current activity as a string
actorId: '50'
description: In this step a manager reviews and validates an expense request.
name: Validate
reached_state_date: '2014-10-18 10:37:05.643'
displayName: Validate expense request
dueDate: '2014-10-21 16:05:42.626'
last_update_date: '2014-10-18 10:37:05.643'
ActivityUpdateRequest:
type: object
properties:
variables:
description: |
Activity variables to update.
**Note**: if there is no data with the specified name in the activity,
the update will be applied to the process data if a variable with the specified name exists.
**Note**: if the task definition includes a connector that is executed on finish and updates the value of a variable, the value set by the REST API call is overwritten.
type: string
state:
description: |
The target state of the activity
- Execute a task: `completed`
- Skip activity: `skipped` - Make this call after all failed connectors have been reset 
- Replay activity: `replay`
type: string
example:
variables: '[{"name":"foo","value":"bar"}]'
state: completed
ArchivedActivity:
type: object
description: Use this resource to retrieve finished activities (human or service tasks), call activities, and subprocesses.
properties:
id:
type: string
description: the archived activity id
type:
$ref: '#/components/schemas/ActivityType'
name:
type: string
description: the archived activity technical name
displayName:
type: string
description: the human readable archived activity name
description:
type: string
description: the archived activity description
displayDescription:
type: string
description: the human readable archived activity description
state:
$ref: '#/components/schemas/ActivityState'
reached_state_date:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this archived activity reached the current state, for example '2014-10-17 16:05:42.626'
last_update_date:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this archived activity was last updated, for example '2014-10-17 16:05:42.626)
dueDate:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this archived activity is due, for example '2014-10-17 16:05:42.626'
priority:
$ref: '#/components/schemas/ActivityPriority'
processId:
type: string
description: the process definition id of the process instance which define this archived activity
parentCaseId:
type: string
description: the immediate containing process instance id (a.k.a case id)
rootCaseId:
type: string
description: the top/root process instance id (a.k.a case id). In case of an "event sub process", `parentCaseId` will the id of the process instance called while `rootCaseId` will be the one from the caller case
rootContainerId:
type: string
description: same as `rootCaseId`
executedBy:
type: string
description: the id of the user who performed this archived activity. The archived activity has to be a human task otherwise its value will be 0
executedBySubstitute:
type: string
description: the id of the user who did actually performed the archived activity when it has been done in the name of someone else. Value is 0 otherwise
actorId:
type: string
description: the id of the actor that can execute this archived activity, null otherwise
assigned_id:
type: string
description: the user id that this archived activity is assigned to, or 0 if it is unassigned
assigned_date:
type: string
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current archived activity was assigned, for example '2014-10-17 16:05:42.626'
sourceObjectId:
type: string
description: the original id of the archived activity before it was archived
archivedDate:
type: string
description: the date (('yyyy-MM-dd HH:mm:ss.SSS')) when this archived activity was archived, for example '2014-10-17 16:05:42.626'
AbstractTask:
type: object
properties:
id:
description: the task id
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
type:
description: the task type
type: string
name:
description: the task technical name
type: string
displayName:
description: the human readable task name
type: string
description:
description: the task description
type: string
displayDescription:
description: the human readable task description
type: string
state:
$ref: '#/components/schemas/ActivityState'
reached_state_date:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task reached the current state for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
last_update_date:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task was last updated for example '2014-10-17 16:05:42.626)
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
dueDate:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task is due for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
priority:
description: the priority (string) of the current task
type: string
processId:
description: the process definition id of the process instance which define this task
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
parentCaseId:
description: the immediate containing process instance id (case id)
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
parentTaskId:
description: the parent Task id
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
rootCaseId:
description: the top/root process instance id (case id). In case of an "event sub process" `parentCaseId` will the id of the process instance called while `rootCaseId` will be the one from the caller process instance
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
rootContainerId:
description: same as rootCaseId
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
executedBy:
description: the id of the user who performed this task. The task has to be a human task otherwise its value will be 0
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
executedBySubstitute:
description: the id of the user who did actually performed the task when it has been done in the name of someone else. Value is 0 otherwise
type: string
actorId:
description: the id of the actor that can execute this task null otherwise
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
assigned_id:
description: the user id that this task is assigned to or 0 if it is unassigned
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
assigned_date:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
isTerminal:
description: True if the task is the last one in a flow
type: boolean
example:
displayDescription: This is my subtask
executedBySubstitute: 1
processId: 8367255255370238000
parentCaseId: 1
state: ready
rootContainerId: 1
type: MANUAL_TASK
assigned_id: 1
assigned_date: '2014-12-01 17:39:53.784'
id: 40006
executedBy: 1
caseId: 1
priority: above_normal
actorId: 1
description: This is my subtask
name: My subtask
reached_state_date: '2014-12-01 17:39:53.784'
rootCaseId: 1
displayName: My subtask
parentTaskId: 40001
dueDate: '2014-12-25 00:00:00.000'
last_update_date: '2014-12-01 17:39:53.784'
HumanTask:
allOf:
- $ref: '#/components/schemas/AbstractTask'
- type: object
description: |
A Human task is Manual task or a User task. A User task is a task that can be done by a user.
A Manual task is a subtask of a user task, and is also done by a user.
example:
displayDescription: null
executedBySubstitute: 0
processId: 5826139717723008000
state: ready
rootContainerId: 1002
type: USER_TASK
assigned_id: null
assigned_date: null
id: 20004
executedBy: 0
caseId: 1002
priority: normal
actorId: 102
description: null
name: Analyse case
reached_state_date: '2014-09-05 11:11:30.808'
displayName: Analyse case
dueDate: '2014-09-05 12:11:30.775'
last_update_date: '2014-09-05 11:11:30.808'
HumanTaskUpdateRequest:
type: object
properties:
assigned_id:
description: The id of the user to assign this Human task to
type: string
state:
description: state of the HumanTask
type: string
example:
assigned_id: '1234'
state: new_state
ManualTask:
allOf:
- $ref: '#/components/schemas/AbstractTask'
- type: object
description: Use the manualTask resource to access process subtasks. For archived subtasks use archivedManualTask.
example:
displayDescription: This is my subtask
executedBySubstitute: 1
processId: 8367255255370238000
parentCaseId: 1
state: ready
rootContainerId: 1
type: MANUAL_TASK
assigned_id: 1
assigned_date: '2014-12-01 17:39:53.784'
id: 40006
executedBy: 1
caseId: 1
priority: above_normal
actorId: 1
description: This is my subtask
name: My subtask
reached_state_date: '2014-12-01 17:39:53.784'
rootCaseId: 1
displayName: My subtask
parentTaskId: 40001
dueDate: '2014-12-25 00:00:00.000'
last_update_date: '2014-12-01 17:39:53.784'
ManualTaskCreateRequest:
type: object
properties:
parentTaskId:
description: The parent task ID
type: string
state:
description: The task state
type: string
name:
description: The task name
type: string
description:
description: The task description
type: string
priority:
description: The task priority
type: string
dueDate:
description: The task due date
type: string
assigned_id:
description: The id of the user assigned to the task
type: string
example:
parentTaskId: '40001'
state: ready
name: My subtask
description: This is my subtask
priority: above_normal
dueDate: '2014-12-25 00:00:00.000'
assigned_id: '1'
ManualTaskUpdateRequest:
type: object
properties:
state:
description: State of the ManualTask (completed)
type: string
executedBy:
description: Id of the task executor
type: string
example:
state: completed
executedBy: '1'
Task:
allOf:
- $ref: '#/components/schemas/AbstractTask'
- type: object
description: A process task
example:
displayDescription: null
executedBySubstitute: 0
processId: 9132099022957911000
parentCaseId: 5
state: ready
rootContainerId: 5
type: USER_TASK
assigned_id: 4
assigned_date: '2014-12-01 16:22:54.685'
id: 10
executedBy: 0
caseId: 5
priority: normal
actorId: 6
description: null
name: Step1
reached_state_date: '2014-12-01 16:22:50.814'
rootCaseId: 5
displayName: Step1
dueDate: '2014-12-01 17:22:50.809'
last_update_date: '2014-12-01 16:22:50.814'
UpdateTaskByIdRequest:
type: object
additionalProperties: true
properties:
state:
description: state of the Task (completed)
type: string
displayName:
description: display name of the Task
type: string
UserTask:
allOf:
- $ref: '#/components/schemas/AbstractTask'
- type: object
description: An executable task that is performed by a user.
example:
displayDescription: ''
executedBySubstitute: 0
processId: 5826139717723008000
state: ready
rootContainerId: 1002
type: USER_TASK
assigned_id: null
assigned_date: ''
id: 20004
executedBy: 0
caseId: 1002
priority: normal
actorId: 102
description: ''
name: Analyse case
reached_state_date: '2014-09-05 11:11:30.808'
displayName: Analyse case
dueDate: '2014-09-05 12:11:30.775'
last_update_date: '2014-09-05 11:11:30.808'
UserTaskUpdateRequest:
type: object
properties:
state:
description: The UserTask state
type: string
assigned_id:
description: The id of the user assign to the UserTask
type: string
example:
assigned_id: '1'
state: skipped
ContractConstraint:
type: object
properties:
name:
description: constraint name
type: string
expression:
description: constraint expression
type: string
explanation:
description: constraint explanation
type: string
inputNames:
type: array
items:
type: string
ContractInputType:
type: string
description: the contract input type (string)
enum:
- TEXT
- BOOLEAN
- DATE
- INTEGER
- DECIMAL
- BYTE_ARRAY
- FILE
- LONG
- LOCALDATE
- LOCALDATETIME
- OFFSETDATETIME
ContractInput:
type: object
properties:
description:
description: input description
type: string
name:
description: input name
type: string
multiple:
description: true if input contains multiple values
type: string
type:
$ref: '#/components/schemas/ContractInputType'
inputs:
type: array
items:
$ref: '#/components/schemas/ContractInput'
Contract:
type: object
properties:
constraints:
type: array
items:
$ref: '#/components/schemas/ContractConstraint'
inputs:
type: array
items:
$ref: '#/components/schemas/ContractInput'
AbstractArchivedTask:
allOf:
- $ref: '#/components/schemas/AbstractTask'
- type: object
description: An Archived task is a task that has been archived
properties:
sourceObjectId:
type: string
description: the original id of the task before it was archived
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
archivedDate:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
ArchivedHumanTask:
allOf:
- $ref: '#/components/schemas/AbstractArchivedTask'
- type: object
description: An Archived Human task is a User task or Manual task that has been archived
example:
displayDescription: ''
executedBySubstitute: '0'
processId: '5826139717723008213'
state: skipped
rootContainerId: '1002'
type: USER_TASK
assigned_id: '2'
id: '240002'
executedBy: '0'
sourceObjectId: '20004'
caseId: '1002'
priority: normal
actorId: '102'
description: ''
name: Analyse case
reached_state_date: '2014-09-09 17:21:51.946'
displayName: Analyse case
archivedDate: '2014-09-09 17:21:51.986'
dueDate: '2014-09-05 12:11:30.775'
last_update_date: '2014-09-09 17:21:51.946'
ArchivedManualTask:
allOf:
- $ref: '#/components/schemas/AbstractArchivedTask'
- type: object
description: Use the archivedManualTask resource to access archived process subtasks.
example:
displayDescription: this is a test
executedBySubstitute: 1
processId: 8367255255370238000
parentCaseId: 1
state: completed
rootContainerId: 1
type: MANUAL_TASK
assigned_id: 1
id: 160007
sourceObjectId: 40003
executedBy: 1
caseId: 1
priority: highest
actorId: 1
description: this is a test
name: myTest
reached_state_date: '2014-12-01 17:20:47.200'
rootCaseId: 1
archivedDate: '2014-12-01 17:20:47.217'
displayName: myTest
parentTaskId: 40001
dueDate: '2014-12-17 00:00:00.000'
last_update_date: '2014-12-01 17:20:47.200'
ArchivedUserTask:
allOf:
- $ref: '#/components/schemas/AbstractArchivedTask'
- type: object
description: An executable task that has been performed by a user or skipped and is archived.
example:
displayDescription: null
executedBySubstitute: 0
processId: 5826139717723008000
state: skipped
rootContainerId: 1002
type: USER_TASK
assigned_id: 2
id: 240002
executedBy: 0
caseId: 1002
priority: normal
actorId: 102
description: null
name: Analyse case
reached_state_date: '2014-09-09 17:21:51.946'
displayName: Analyse case
archivedDate: '2014-09-09 17:21:51.986'
dueDate: '2014-09-05 12:11:30.775'
last_update_date: '2014-09-09 17:21:51.946'
ArchivedTask:
allOf:
- $ref: '#/components/schemas/AbstractArchivedTask'
- type: object
description: Use the archived task resource to get information about archived tasks.
example:
displayDescription: null
executedBySubstitute: 4
processId: 9132099022957911000
parentCaseId: 5
state: completed
rootContainerId: 5
type: USER_TASK
assigned_id: 4
id: 9
sourceObjectId: 10
executedBy: 4
caseId: 5
priority: normal
actorId: 6
description: null
name: Step1
reached_state_date: '2014-12-01 16:24:32.457'
rootCaseId: 5
archivedDate: '2014-12-01 16:24:32.460'
displayName: Step1
dueDate: '2014-12-01 17:22:50.809'
last_update_date: '2014-12-01 16:24:32.457'
ActivityVariable:
type: object
description: This resource enables you to retrieve the value of a specific variable name for a specific process instance (or case). Only persistent variables are concerned by this resource, not transient variables.
properties:
id:
description: The identifier of the variable
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
id_string:
description: number (since 7.0.1)
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
name:
description: The name of the activity variable
type: string
description:
description: The description of the variable if any
type: string
transientData:
description: 'FALSE'
type: string
className:
description: The fully qualified class name of the variable type
type: string
containerId:
description: The ID of the activity containing this variable (same as the one passed as parameter) if the variable is defined at activity level or ID of the process instance if the variable is defined on the process
type: string
containerId_string:
description: number (since 7.0.1)
type: string
containerType:
description: ACTIVITY_INSTANCE | PROCESS_INSTANCE depending on whether the variable is defined at activity or process level.
type: string
enum:
- ACTIVITY_INSTANCE
- PROCESS_INSTANCE
value:
description: the value of this variable. The format of the value depends on the type of the variable
type: string
example:
id: 5010
id_string: 5010
name: RequestValidationData
description: null
transientData: false
className: java.lang.String
containerId: 20004
containerId_string: 20004
containerType: ACTIVITY_INSTANCE
value: Confirmed
ArchivedActivityVariable:
type: object
description: This resource enables you to retrieve the value of a specific archived variable name for a specific case (or process instance). Only persistent variables are concerned by this resource, not transient variables.
properties:
name:
description: The name of the archived activity variable
type: string
description:
description: The description of the variable if any
type: string
type:
description: The fully qualified class name of the variable type
type: string
containerId:
description: The ID of the activity containing this variable (same as the one passed as parameter)
type: string
containerType:
description: ACTIVITY_INSTANCE
type: string
value:
description: the value of this variable. The format of the value depends on the type of the variable
type: string
archivedDate:
description: The date when this variable was archived. The date format is yyyy-MM-dd HH:mm:ss.SSS
type: string
sourcedObjectId:
description: The id of the activity variable before it was archived
type: string
example:
name: RequestValidationData
description: null
type: java.lang.String
containerId: 20004
containerType: ACTIVITY_INSTANCE
value: Confirmed
archivedDate: '2021-12-27 23:10:59.342'
sourceObjectId: 42
ProcessInstanceVariable:
type: object
description: A process instance variable
properties:
description:
description: Detailed description of the process instance variable, as set in the definition at design-time
type: string
name:
description: name of the variable in the process instance
type: string
value:
description: the current value of the process instance variable
type: string
case_id:
description: ID of the process instance this variable belongs to
type: string
type:
description: the Java type of the variable
type: string
example:
description: ''
name: myInvoiceAmount
value: '14.2'
case_id: 1
type: java.lang.Float
ArchivedProcessInstanceVariable:
type: object
description: An archived case variable
properties:
name:
description: The name of the variable
type: string
description:
description: Detailed description of the case variable, as set in the definition at design-time
type: string
type:
description: The fully qualified class name of the variable type
type: string
case_id:
description: ID of the case this variable belongs to
type: string
value:
description: the value of this variable. The format of the value depends on the type of the variable
type: string
archivedDate:
description: The date when this variable was archived. The date format is yyyy-MM-dd HH:mm:ss.SSS
type: string
sourcedObjectId:
description: The id of the variable before it was archived
type: string
example:
name: RequestValidationData
description: null
type: java.lang.String
case_id: 20004
value: Confirmed
archivedDate: '2021-12-27 23:10:59.342'
sourceObjectId: 42
ProcessInstanceVariableUpdateRequest:
type: object
properties:
type:
description: the java class name
type: string
value:
description: the new value
type: string
example:
type: java.lang.String
value: My new value
ProcessInstanceDocument:
type: object
description: A document in an active case
properties:
id:
description: documentId
type: string
creationDate:
description: date and time
type: string
author:
deprecated: true
description: submittorUserId
type: string
index:
description: index in a list of documents, or -1 for a single document
type: string
contentMimetype:
description: MIME type
type: string
caseId:
description: caseId
type: string
contentStorageId:
description: storageId
type: string
isInternal:
description: '`true` if the the document object contains the content directly. `false` if the document is specified by URL so the document object contains a reference to the content, not the content itself.'
type: boolean
description:
description: description
type: string
name:
description: name
type: string
fileName:
description: filename
type: string
submittedBy:
description: submittorUserId
type: string
url:
description: urlForDownload
type: string
version:
description: version
type: string
example:
id: '3'
creationDate: '2014-10-09 16:45:36.658'
author: '1'
index: '-1'
contentMimetype: application/octet-stream
caseId: '1'
contentStorageId: '4'
isInternal: 'true'
description: draft
name: Doc 1
fileName: document_1.jpg
submittedBy: '1'
url: documentDownload?fileName=document_1.jpg&contentStorageId=4
version: '1'
ProcessInstanceDocumentCreateRequest:
type: object
properties:
caseId:
description: The process instance id
type: string
file:
description: The local file name to upload from (as from the temp upload folder)
type: string
url:
description: The remote url to upload from
type: string
name:
description: The file display name
type: string
fileName:
description: The target file name
type: string
description:
description: The document description
type: string
example:
caseId: '1'
file: doc.jpg
name: Doc 1
fileName: document_1.jpg
description: draft
ProcessInstanceDocumentUpdateRequest:
type: object
properties:
file:
description: The local file name to upload from (as from the temp upload folder)
type: string
url:
description: The remote url to upload from
type: string
name:
description: The file display name
type: string
fileName:
description: The target file name
type: string
description:
description: The document description
type: string
example:
file: Expense policy rev2.pdf
description: updated version of document
fileName: revision2.pdf
ArchivedProcessInstanceDocument:
allOf:
- $ref: '#/components/schemas/ProcessInstanceDocument'
- type: object
description: A document in an active case
properties:
sourceObjectId:
description: original document id
type: string
archivedDate:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
example:
id: '1'
creationDate: '2014-10-09 16:39:52.472'
author: '1'
index: '0'
contentMimetype: text/plain
caseId: '1'
contentStorageId: '1'
isInternal: 'true'
description: ''
name: myDoc
fileName: test1.txt
submittedBy: '1'
url: documentDownload?fileName=test1.txt&contentStorageId=1
version: '1'
sourceObjectId: '1'
archivedDate: '2014-10-09 17:39:52.473'
Actor:
type: object
description: ''
properties:
id:
description: actor id
type: integer
format: int64
process_id:
description: process definition id
type: integer
format: int64
description:
description: a description of the actor
type: string
name:
description: name of the actor (as specified on human tasks and for the initiator of the process)
type: string
displayName:
description: the display name of the actor
type: string
example:
id: '1'
process_id: '4717422838168315799'
description: null
name: employee
displayName: Employee actor
ActorUpdateRequest:
type: object
properties:
displayName:
description: display name of the Actor
type: string
description:
description: description of the Actor
type: string
example:
displayName: My actor
description: My actor description
ActorMember:
type: object
description: An actor member represents the association between the organization and the actor af a process. In an organization we have four member_types = USER, GROUP, ROLE and MEMBERSHIP (role in a group). You can assign a actor to a user by specifying a role and or a group, or specific user.
properties:
id:
description: actor member id
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
actor_id:
description: id of the actor for this mapping
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
role_id:
description: id of role, or -1 if the member type is not role
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
group_id:
description: id of group, or -1 if the member type is not group
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
user_id:
description: id of user, or -1 if the member type is not user
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example:
id: '206'
actor_id: '2'
role_id: '4'
group_id: '8'
user_id: '-1'
ProcessInstance:
type: object
description: ProcessInstance (Case) is an instance of a process. When you start a process, it creates a process instances.
properties:
id:
description: the identifier of the ProcessInstance (Case)
type: string
end_date:
description: the date set when the process instance is closed
type: string
failedFlowNodes:
description: count of failed flow nodes if parameter n=failedFlowNodes is given
type: string
startedBySubstitute:
description: the identifier of the substitute user (as Process manager or Administrator) who started the process. It can be also the substitute user if d=startedBySubstitute is given.
type: string
start:
description: the starting date of the case
type: string
activeFlowNodes:
description: count of active flow nodes if parameter n=activeFlowNodes is given
type: string
state:
description: 'state: an enum that represent the state of the process instances'
type: string
enum:
- initializing
- started
- suspended
- cancelled
- aborted
- completing
- completed
- error
- aborting
rootCaseId:
description: the identifier of the container of the case
type: string
started_by:
description: the identifier of the user who started the case
type: string
processDefinitionId:
description: the identifier of the process related of the case
type: string
last_update_date:
description: the date of the last update done on the case
type: string
searchIndex1Label:
description: the 1st search index label (from 6.5, in Subscription editions only)
type: string
searchIndex2Label:
description: the 2nd search index label (from 6.5, in Subscription editions only)
type: string
searchIndex3Label:
description: the 3rd search index label (from 6.5, in Subscription editions only)
type: string
searchIndex4Label:
description: the 4th search index label (from 6.5, in Subscription editions only)
type: string
searchIndex5Label:
description: the 5th search index label (from 6.5, in Subscription editions only)
type: string
searchIndex1Value:
description: the 1st search index value (from 6.5, in Subscription editions only)
type: string
searchIndex2Value:
description: the 2nd search index value (from 6.5, in Subscription editions only)
type: string
searchIndex3Value:
description: the 3rd search index value (from 6.5, in Subscription editions only)
type: string
searchIndex4Value:
description: the 4th search index value (from 6.5, in Subscription editions only)
type: string
searchIndex5Value:
description: the 5th search index value (from 6.5, in Subscription editions only)
type: string
callerId:
description: the identifier of the BPM entity who started the process. E.g. the call activity instance Id if it was started by a call activity or -1 if it was started by a user (since version 10.3 - 2025.1)
type: string
example:
id: 1
end_date": ''
failedFlowNodes": 9
startedBySubstitute": 345
start": '2014-11-27 17:55:00.906'
activeFlowNodes": '9'
state": started
rootCaseId": '1'
callerId": '-1'
started_by": 989
processDefinitionId": '5777042023671752656'
last_update_date": '2014-11-27 17:55:00.906'
searchIndex1Label: mySearchIndex1Label
searchIndex2Label: mySearchIndex2Label
searchIndex3Label: mySearchIndex3Label
searchIndex4Label: mySearchIndex4Label
searchIndex5Label: mySearchIndex5Label
searchIndex1Value: mySearchIndex1Value
searchIndex2Value: mySearchIndex2Value
searchIndex3Value: mySearchIndex3Value
searchIndex4Value: mySearchIndex4Value
searchIndex5Value: mySearchIndex5Value
ProcessVariable:
type: object
additionalProperties:
type: object
properties:
name:
description: variable name
type: string
ProcessInstanceCreateRequest:
type: object
properties:
processDefinitionId:
description: the process definition Id
type: string
variables:
description: process variables initial values
type: array
items:
$ref: '#/components/schemas/ProcessVariable'
example:
processDefinitionId: '5777042023671752656'
variables:
- name: stringVariable
value: aValue
- name: dateVariable
value: 349246800000
- name: numericVariable
value: 55
ProcessInstanceUpdateRequest:
type: object
properties:
state:
description: 'state of the ProcessInstance (the only supported value is: cancelled)'
type: string
example:
state: cancelled
ArchivedProcessInstance:
allOf:
- $ref: '#/components/schemas/ProcessInstance'
- type: object
description: A completed instance of a process.
properties:
sourceObjectId:
description: the id of the process instance before it was archived
type: string
archivedDate:
description: the date set when the process instance was archived
type: string
example:
id: 9
end_date: '2014-10-22 10:57:00.299'
startedBySubstitute: '4'
sourceObjectId: '3'
start: '2014-10-22 10:56:53.415'
state: completed
rootCaseId: '3'
callerId": '-1'
started_by: '4'
archivedDate: '2014-10-22 10:57:00.299'
processDefinitionId: '6054482369194211518'
last_update_date": '2014-10-22 10:57:00.299'
searchIndex1Label: case9SearchIndex1Label
searchIndex2Label: case9SearchIndex2Label
searchIndex3Label: case9SearchIndex3Label
searchIndex4Label: case9SearchIndex4Label
searchIndex5Label: case9SearchIndex5Label
searchIndex1Value: case9SearchIndex1Value
searchIndex2Value: case9SearchIndex2Value
searchIndex3Value: case9SearchIndex3Value
searchIndex4Value: case9SearchIndex4Value
searchIndex5Value: case9SearchIndex5Value
ProcessInstanceInfo:
type: object
description: 'Retrieves information about a process instances. It returns counters for each flow node in the process instances, showing the number of flow node instances that are in each state (possible states are: ready, executing, waiting, initializing, failed, completing, completed, skipped, cancelled, aborted). If there are no flow node instances in a given state, no counter is returned for that state for the flow node.'
properties:
id:
description: case identifier
type: string
flowNodeStatesCounters:
type: object
description: flow nodes counters
additionalProperties:
type: object
properties:
completed:
description: number of instance of the given Flow Node in completed state
type: integer
format: int64
skipped:
description: number of instance of the given Flow Node in skipped state
type: integer
format: int64
cancelled:
description: number of instance of the given Flow Node in cancelled state
type: integer
format: int64
aborted:
description: number of instance of the given Flow Node in aborted state
type: integer
format: int64
ready:
description: number of instance of the given Flow Node in ready state
type: integer
format: int64
failed:
description: number of instance of the given Flow Node in failed state
type: integer
format: int64
executing:
description: number of instance of the given Flow Node in executing state
type: integer
format: int64
waiting:
description: number of instance of the given Flow Node in waiting state
type: integer
format: int64
initializing:
description: number of instance of the given Flow Node in initializing state
type: integer
format: int64
completing:
description: number of instance of the given Flow Node in completing state
type: integer
format: int64
example:
id: 123
flowNodeStatesCounters:
Step1:
completed: 2
ready: 1
executing: 5
Step3:
completed: 10
failed: 2
ProcessInstanceComment:
type: object
description: ''
properties:
id:
description: the comment id
type: string
content:
description: the comment content
type: string
processInstanceId:
description: the process instance (case) the comment is associated to
type: string
postDate:
description: the comment creation date
type: string
userId:
description: the user that created the comment
type: string
example:
content: Need to review the last inputs of this case
id: '20005'
processInstanceId: '1'
postDate: '2016-06-16 14:51:33.053'
userId: 9798
ProcessInstanceCommentCreateRequest:
type: object
properties:
processInstanceId:
description: the process instance (case) the comment is associated to
type: string
content:
description: the comment content
type: string
example:
processInstanceId: '5777042023671752656'
content: The process instance has been started
ArchivedProcessInstanceComment:
allOf:
- $ref: '#/components/schemas/ProcessInstanceComment'
- type: object
description: Information about the comment of an archived process instances.
properties:
archivedDate:
description: the date set when the process instance comment was archived
type: string
example:
id: 20005
content: Need to review the last inputs of this case
processInstanceId: 1
postDate: '2016-06-16 14:51:33.053'
archivedDate: '2016-06-17 10:18:24.723'
userId: 30
ProcessDefinition:
type: object
description: ''
properties:
id:
description: the identifier of the process definition (long)
type: string
icon:
description: icon path
type: string
displayDescription:
description: the human readable activity description
type: string
deploymentDate:
description: the date when the process definition was deployed
type: string
description:
description: the process description
type: string
activationState:
$ref: '#/components/schemas/ActivationState'
name:
description: the process name
type: string
deployedBy:
description: the id of the user who deployed the process
type: string
displayName:
description: the human readable process description
type: string
actorinitiatorid:
description: the id of the actor that can initiate process instances of the process
type: string
last_update_date:
description: the date when the process definition was last updated
type: string
configurationState:
$ref: '#/components/schemas/ConfigurationState'
version:
description: the version of the process
type: string
ProcessCreateRequest:
type: object
properties:
fileupload:
description: the bar file to deploy (previously uploaded in tmp folder)
type: string
example:
fileupload: tmp_4431838172282406107.bar
ProcessUpdateRequest:
type: object
properties:
displaydescription:
description: description of the Process
type: string
displayName:
description: display name of the Process
type: string
activationState:
$ref: '#/components/schemas/ActivationState'
example:
displayName: Leave booking process
FlowElementContainerDefinition:
type: object
description: Allows to access all flow elements (activities, gateways, events and transitions) of a process or sub-process.
properties:
activities:
type: array
items:
type: object
additionalProperties: true
transitions:
type: array
items:
type: object
additionalProperties: true
gatewaysList:
type: array
items:
type: object
additionalProperties: true
startEvents:
type: array
items:
type: object
additionalProperties: true
intermediateCatchEvents:
type: array
items:
type: object
additionalProperties: true
intermediateThrowEvents:
type: array
items:
type: object
additionalProperties: true
endEvents:
type: array
items:
type: object
additionalProperties: true
dataDefinitions:
type: array
items:
type: object
additionalProperties: true
documentDefinitions:
type: array
items:
type: object
additionalProperties: true
connectors:
type: array
items:
type: object
additionalProperties: true
businessDataDefinitions:
type: array
items:
type: object
additionalProperties: true
documentListDefinitions:
type: array
items:
type: object
additionalProperties: true
DesignProcessDefinitionParamater:
type: object
properties:
type:
description: the parameter type
type: string
description:
description: the parameter description
type: string
name:
description: the parameter name
type: string
ActorDefinition:
type: object
description: Actor definition
properties:
name:
description: the actor name
type: string
description:
description: the actor description
type: string
initiator:
description: true, if this actor can start the process
type: boolean
Expression:
type: object
properties:
id:
description: the expression id
type: string
name:
description: the expression name
type: string
content:
description: the expression content
type: string
expressionType:
description: the expression type
type: string
returnType:
description: the expression return type
type: string
interpreter:
description: the expression interpreter
type: string
dependencies:
description: the expression dependencies
type: array
items:
$ref: '#/components/schemas/Expression'
DesignProcessDefinitionContext:
type: object
description: The process definition expressions
properties:
key:
type: string
expression:
$ref: '#/components/schemas/Expression'
DesignProcessDefinition:
type: object
description: Represents the Design Definition of a process. It gives access to process attributes.
properties:
displayName:
description: The process definition display name
type: string
displayDescription:
description: The process definition display description name
type: string
flowElementContainer:
$ref: '#/components/schemas/FlowElementContainerDefinition'
parameters:
description: The process parameter definitions
type: array
items:
$ref: '#/components/schemas/DesignProcessDefinitionParamater'
actorsList:
description: The list of process actor definitions
type: array
items:
$ref: '#/components/schemas/ActorDefinition'
actorInitiator:
$ref: '#/components/schemas/ActorDefinition'
stringIndexLabels:
description: The process definition labels
type: array
items:
type: string
stringIndexValues:
description: The process definition expressions
type: array
items:
$ref: '#/components/schemas/Expression'
contract:
description: the process instantiation contract
$ref: '#/components/schemas/Contract'
context:
description: The process definition expressions
type: array
items:
$ref: '#/components/schemas/DesignProcessDefinitionContext'
ProcessInstantiationResponse:
type: object
properties:
caseId:
type: string
example:
caseId: '12345678'
ProcessName:
type: object
description: |
A group of deployed processes that share the same `(name, displayName)` pair, with the list of
their deployed versions. Returned by `GET /API/bpm/processName`, which collapses the process
deployment information into one entry per distinct name and display name.
required:
- name
- displayName
- versions
properties:
name:
description: Technical name shared by every version in this group.
type: string
displayName:
description: Human-readable name shared by every version in this group. Defaults to the process technical name when no display name was set at deployment.
type: string
versions:
description: |
Deployed versions of the process sharing this name and display name. When an `activationState`
filter is supplied, only the versions in that state are listed. Always contains at least one entry.
type: array
minItems: 1
items:
type: string
example:
name: InvoiceApproval
displayName: Invoice Approval
versions:
- '1.0'
- '1.1'
- '2.0'
ProcessInfo:
type: object
description: 'Retrieves the execution data of all open cases of a process. It returns counters for each flow node in the process, showing the number of flow node instances that are in an non-final state (possible states are: ready, executing, waiting, initializing, failed, completing). If there are no flow node instances in a given state, no counter is returned for that state for the flow node.'
properties:
processDefinitionId:
description: process identifier
type: string
flowNodeStatesCounters:
type: object
description: flow nodes counters
additionalProperties:
type: object
properties:
ready:
description: number of instance of the given Flow Node in ready state
type: integer
format: int64
failed:
description: number of instance of the given Flow Node in failed state
type: integer
format: int64
executing:
description: number of instance of the given Flow Node in executing state
type: integer
format: int64
waiting:
description: number of instance of the given Flow Node in waiting state
type: integer
format: int64
initializing:
description: number of instance of the given Flow Node in initializing state
type: integer
format: int64
completing:
description: number of instance of the given Flow Node in completing state
type: integer
format: int64
example:
processDefinitionId: 123
flowNodeStatesCounters:
Step1:
executing: 2
ready: 1
failed: 5
Step3:
ready: 10
failed: 2
UpdateProcessConnectorByProcessIdRequest:
type: object
properties:
id:
description: Id of the process for which to update the connector, combined with connector name and version separated by slashes (x/y/z)
type: string
implementation:
description: Previously uploaded temp file name of the updated version of the connector (returned by the [upload file api](#operation/uploadFile))
type: string
example:
id: 8491796209115952722/scripting-groovy-script/1.0.1
implementation: tmp_7006630415905915150.zip
ProcessParameter:
type: object
description: ''
properties:
process_id:
description: the identifier of the process definition
type: string
process_name:
description: the name of the related process
type: string
description:
description: the description of the parameter
type: string
name:
description: the name of the parameter
type: string
value:
description: the value of the parameter
type: string
process_version:
description: the version of the process
type: string
type:
description: the type of the parameter
type: string
example:
process_id: 4880205209556179000
process_name: myProcessName
description: myProcessDescription
name: myParameterName
value: myParameterValue
process_version: '1.0'
type: java.lang.String
ProcessParameterUpdateRequest:
type: object
properties:
value:
description: value of the Process Parameter
type: string
example:
value: myNewValue
ProcessResolutionProblem:
type: object
description: This resource represents a problem in a process that needs to be resolved for the process to run. It can be an actor, a connector implementation, or a parameter (in the Enterprise, Performance, Efficiency, or Teamwork edition).
properties:
message:
description: resolution problem
type: string
resource_id:
description: id of the unresolved resource
type: string
target_type:
description: the type of the unresolved resource (parameter, actor, or connector)
type: string
ProcessSupervisor:
type: object
description: The process supervisor has management rights over a process. He can configure and monitor it. You can give the ProcessSupervisor rights to some users by specifying a role and or a group, or a specific user. In order to be able to manage the processes he supervises in the portal, a user should also have the profile `Process Manager`
properties:
process_id:
description: Id of the process
type: string
role_id:
description: Id of role, or -1 if the supervisor type is not role or membership
type: string
group_id:
description: Id of group, or -1 if the supervisor type is not group or membership
type: string
user_id:
description: Id of user, or -1 if the supervisor type is not user
type: string
example:
process_id: 8040901857674754000
user_id: 2
role_id: -1
group_id: -1
ProcessConnectorDependency:
type: object
description: Use the processConnectorDependency resource to access connector dependencies.
properties:
connector_version:
description:
type: string
connector_process_id:
description:
type: string
filename:
description:
type: string
connector_name:
description:
type: string
example:
connector_version: 1.0.0
connector_process_id: 4971555129176050000
filename: bonita-connector-email-impl-1.0.12.jar
connector_name: email
ConnectorFailure:
type: object
description: ''
properties:
errorMessage:
description: the message of the connector failure
type: string
connectorInstanceId:
description: the ID of the connector instance (see connectorInstance resource documentation)
type: string
errorStackTrace:
description: the stack trace of the error
type: string
example:
errorMessage: Error while executing the groovy script
connectorInstanceId: 5
errorStackTrace: "org.bonitasoft.engine.core.connector.exception.SConnectorException: PROCESS_DEFINITION_ID=8030057793979348308 | PROCESS_NAME=Pool1 | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=5 | ROOT_PROCESS_INSTANCE_ID=5 | FLOW_NODE_DEFINITION_ID=-6089366458284481881 | FLOW_NODE_INSTANCE_ID=12 | FLOW_NODE_NAME=Étape1 | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=expression execution connector | CONNECTOR_INSTANCE_ID=5 | org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: java.lang.Exception: Error while executing the groovy script\n\tat org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnectorInClassloader(ConnectorServiceImpl.java:332)"
ConnectorInstance:
type: object
description: ''
properties:
containerType:
description: the type of the containing activity
type: string
connectorId:
description: the connector id
type: string
id:
description: 'the connector instance id '
type: integer
format: int64
name:
description: the connector name
type: string
activationEvent:
description: the name of the event that activated the connector instance
type: string
enum:
- ON_ENTER
- ON_FINISH
state:
description: the connector state
type: string
enum:
- TO_BE_EXECUTED
- EXECUTING
- TO_RE_EXECUTE
- DONE
- FAILED
- SKIPPED
containerId:
description: the containing activity instance id
type: string
version:
description: the connector version
type: string
example:
containerType: flowNode
connectorId: scripting-groovy-script
id: 3
name: hello world
activationEvent: ON_FINISH
state: TO_BE_EXECUTED
containerId: 15
version: 1.0.0
ArchivedConnectorInstance:
allOf:
- $ref: '#/components/schemas/ConnectorInstance'
- type: object
description: Information about archived connector instances attached to an archived process or an archived flow node.
properties:
archivedDate:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
FlowNode:
type: object
description: A flow node (gateway, event, or task) in an open instance of a process.
properties:
id:
description: 'the flow node id '
type: string
displayDescription:
description: 'the human readable flow node description '
type: string
executedBySubstitute:
description: the id of the user who really performed this flow node when a substitute did it, or 0 if the flow node was not performed by a substitute
type: string
caseId:
description: the process instance id that is associated with this flow node
type: string
parentCaseId:
description: the parent process instance id that is associated with this flow node's case
type: string
rootCaseId:
description: the root process instance initiator id that is associated with this flow node's case
type: string
processId:
description: the process id that is associated with this flow node
type: string
rootContainerId:
description: the root process id of the root process instance that is associated with this flow node
type: string
state:
description: the current state of the flow node (ready, completed, failed)
type: string
type:
description: 'the flow node type '
type: string
assigned_id:
description: the user id that this flow node is assigned to, or 0 if it is unassigned
type: string
assigned_date:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current flow node was assigned, for example '2014-10-17 16:05:42.626'
type: string
executedBy:
description: the id of the user who executed the flow node, or 0 if the flow node has not been executed
type: string
priority:
description: the priority of the current flow node
type: string
actorId:
description: the id of the actor that can execute this flow node, null otherwise
type: string
description:
description: 'the flow node description '
type: string
name:
description: 'the flow node name '
type: string
reached_state_date:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this flow node reached the current state, for example '2014-10-17 16:05:42.626'
type: string
displayName:
description: the display name of this flow node
type: string
dueDate:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this flow node is due, for example '2014-10-17 16:05:42.626'
type: string
last_update_date:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this flow node was last updated, for example '2014-10-17 16:05:42.626)
type: string
parentTaskId:
description: 'in case of a subtask, the parent task id '
type: string
example:
displayDescription": ''
executedBySubstitute": 0
processId": 7596769292810274000
parentCaseId": 1
state": failed
rootContainerId": 1
type": USER_TASK
assigned_id": null
assigned_date": ''
id": '77456'
executedBy": 0
caseId": 1
priority": normal
actorId": 4
description": ''
name": Step1
reached_state_date": '2014-12-10 08:59:47.884'
rootCaseId": 1
displayName": Step1
dueDate": '2014-12-10 09:59:47.855'
last_update_date": '2014-12-10 08:59:47.884'
FlowNodeUpdateRequest:
type: object
properties:
state:
description: state of the FlowNode
type: string
example:
state: replay
ArchivedFlowNode:
allOf:
- $ref: '#/components/schemas/FlowNode'
- type: object
description: A flow node (gateway or event or task) in an archived instance of a process.
properties:
sourceObjectId:
description: the original id of the flowNode before it was archived
type: string
archivedDate:
description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626'
type: string
pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$
BPMFailure:
type: object
description: A failure that happened during a BPM instance (flow node, process) execution that led to the instance being in a failed state.
properties:
caseId:
description: the id of the process instance in which that failure occurred
type: string
rootCaseId:
description: the id of the root process instance in which that failure occurred
type: string
context:
description: Context of the failure
type: string
errorMessage:
description: the message of the exception
type: string
failureDate:
description: the date when the failure occurred in milliseconds since epoch
type: string
flowNodeInstanceId:
description: the id of the flow node instance in which the failure occurred
type: string
id:
description: the failure id
type: string
processDefinitionId:
description: the process id that is associated with the flow node or case instance of the failure
type: string
scope:
description: the scope of the failure (General information, Operation, Event, Iteration, Connector, Data initialization, Actor mapping, Outgoing transition, or UNKNOWN)
type: string
stackTrace:
description: the stack trace of the exception
type: string
example:
caseId: '2'
rootCaseId: '1'
context: expression::setvariable_decision
errorMessage: Error while executing operations
failureDate: '1732564534177'
flowNodeInstanceId: '70'
id: '456'
processDefinitionId: '45'
scope: Operation
stackTrace: Exception in thread 'main' org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException
ArchivedBPMFailure:
type: object
description: The archived version of a failure that happened during a BPM instance (flow node, process) execution that led to the instance being in a failed state.
properties:
archivedDate:
type: string
description: the date when this failure was archived, in milliseconds since epoch
caseId:
description: the id of the process instance in which that failure occurred
type: string
rootCaseId:
description: the id of the root process instance in which that failure occurred
type: string
context:
description: Context of the failure
type: string
errorMessage:
description: the message of the exception
type: string
failureDate:
description: the date when the failure occurred in milliseconds since epoch
type: string
flowNodeInstanceId:
description: the id of the flow node instance in which the failure occurred
type: string
id:
description: the archived failure id
type: string
processDefinitionId:
description: the process id that is associated with the flow node or case instance of the failure
type: string
scope:
description: the scope of the failure (General information, Operation, Event, Iteration, Connector, Data initialization, Actor mapping, Outgoing transition, or UNKNOWN)
type: string
sourceObjectId:
type: string
description: the original id of the failure before it was archived
stackTrace:
description: the stack trace of the exception
type: string
example:
archivedDate: '1732564904376'
caseId: '10'
rootCaseId: '9'
context: expression::setvariable_decision
errorMessage: Error while executing operations
failureDate: '1732564534177'
flowNodeInstanceId: '70'
id: '456'
processDefinitionId: '45'
scope: Operation
sourceObjectId: '23'
stackTrace: Exception in thread 'main' org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException
TimerEventTrigger:
type: object
description: BPM timer event triggers
properties:
id:
description: the ID of the timer returned
type: string
id_string:
description: the ID of the timer returned
type: string
eventInstanceId:
description: the ID of the event instance to which this trigger is related
type: string
eventInstanceId_string:
description: the ID of the event instance to which this trigger is related
type: string
executionDate:
description: the long value of the next execution date (number of milliseconds from January 1st, 1970 00:00:00)
type: string
eventInstanceName:
description: the name of the event instance to which this trigger is related
type: string
example:
id: 4015
id_string: '4015'
eventInstanceId: 2
eventInstanceId_string: '2'
executionDate: 1413980484194
eventInstanceName: Timer1
TimerEventTriggerUpdateRequest:
type: object
properties:
executionDate:
description: executionDate of the TimerEventTrigger
type: integer
format: int64
example:
executionDate: 1433980484194
TimerEventTriggerUpdateResponse:
type: object
properties:
executionDate:
description: executionDate of the TimerEventTrigger
type: integer
format: int64
example:
executionDate: 1433980484194
Message:
type: object
description: Use this resource to send BPM message events. Message events are caught by processes using `catch message event` flow nodes (Start, intermediate, boundary or receive tasks).
properties:
messageName:
description: the message name
type: string
targetProcess:
description: the target process name
type: string
targetFlowNode:
description: the target FlowNode name
type: string
messageContent:
description: the message content
type: object
additionalProperties:
type: object
required:
- value
properties:
value:
description: ''
type: string
type:
description: |
Date types must be in the ISO-8601 format. When not set, the type is guessed using the value.
Be careful as it can lead to type inconsistency in the target process (eg: a java.lang.Long is expected and the guessed type is a java.lang.Integer)
type: string
enum:
- java.lang.String
- java.lang.Boolean
- java.lang.Integer
- java.lang.Double
- java.lang.Float
- java.lang.Long
- java.util.Date
- java.time.LocalDate
- java.time.LocalDateTime
- java.time.OffsetDateTime
correlations:
description: the message correlations
type: object
maxItems: 5
additionalProperties:
type: object
required:
- value
properties:
value:
description: ''
type: string
type:
description: |
Date types must be in the ISO-8601 format. When not set, the type is guessed using the value.
Be careful as it can lead to type inconsistency in the target process (eg: a java.lang.Long is expected and the guessed type is a java.lang.Integer)
type: string
enum:
- java.lang.String
- java.lang.Boolean
- java.lang.Integer
- java.lang.Double
- java.lang.Float
- java.lang.Long
- java.util.Date
- java.time.LocalDate
- java.time.LocalDateTime
- java.time.OffsetDateTime
Signal:
type: object
description: Signal
properties:
name:
description: the signal name
type: string
CustomUserDefinition:
type: object
description: Custom user definition
properties:
id:
description: definition id
type: string
description:
description: definition description
type: string
name:
description: definition name
type: string
example:
id: 101
name: skill
description: Team player
CustomUserDefinitionCreateRequest:
type: object
properties:
name:
description: definition name
type: string
description:
description: definition description
type: string
example:
name: skill
description: Team player
CustomUserValue:
type: object
description: ''
properties:
userId:
description: user id
type: string
value:
description: definition value
type: string
definitionId:
description: definition id
type: string
CustomUserValueUpdateRequest:
type: object
properties:
value:
description: new value to set
type: string
example:
value: My new value
CustomUser:
type: object
description: Custom user defintion and value
properties:
userId:
description: user id
type: string
value:
description: definition value
type: string
definitionId:
$ref: '#/components/schemas/CustomUserDefinition'
FormMapping:
type: object
description: Form Mapping specifies the mapping of a form to a process or a task. The mapping indicates the technology used to create the form, in the `target` attribute.
properties:
id:
description: the form mapping identifier
type: string
processDefinitionId:
description: the process identifier related to this form mapping
type: string
type:
description: the form mapping type
type: string
enum:
- PROCESSSTART
- PROCESSOVERVIEW
- TASK
target:
description: the target
type: string
enum:
- URL
- INTERNAL
- LEGACY
- UNDEFINED
- NONE
task:
description: the task name when type is TASK - null otherwise
type: string
pageId:
description: the custom page identifier when type is INTERNAL - null otherwise
type: string
pageMappingKey:
description: the page mapping key part used to generate the form URL
type: string
lastUpdateBy:
description: the identifier of the user who last updated this form mapping - 0 if no update has been done yet
type: string
lastUpdateDate:
description: the last update date in milliseconds - null if no update has been done yet
type: string
url:
description: the external URL (string) when type is URL - null otherwise
type: string
example:
id: 5
processDefinitionId: 7281286536417002000
type: TASK
target: URL
task: Validate Feedback
pageId: null
pageMappingKey: taskInstance/myProcess/1.0/Validate Feedback
lastUpdatedBy: 4
lastUpdateDate: 1425295012666
url: http://customerportal.bonitasoft.com
FormMappingUpdateRequest:
type: object
properties:
pageId:
description: pageId of the FormMapping
type: string
url:
description: url of the FormMapping
type: string
example:
pageId: '123'
url: http://somewhe.re/over/the/rainbow
ProfessionalContactData:
type: object
description: ''
required:
- id
properties:
id:
description: user ID
type: string
fax_number:
description: fax number
type: string
building:
description: building
type: string
phone_number:
description: phone number
type: string
website:
description: website
type: string
zipcode:
description: zipcode
type: string
state:
description: state
type: string
city:
description: city
type: string
country:
description: country
type: string
mobile_number:
description: mobile phone number
type: string
address:
description: address
type: string
room:
description: room
type: string
email:
description: email
type: string
example:
id: 4
fax_number: 484-302-0766
building: '70'
phone_number: 484-302-5766
website: ''
zipcode: '19108'
state: PA
city: Philadelphia
country: United States
mobile_number: ''
address: Renwick Drive
email: walter.bates@acme.com
room: ''
Group:
type: object
description: Group
required:
- name
properties:
id:
description: group ID
type: string
name:
description: name
type: string
displayName:
description: display name
type: string
parent_path:
description: the path of the parent group of this group (empty if the group has no parent)
type: string
parent_group_id:
description: the id of the parent group of this group (empty if the group has no parent)
type: string
path:
description: the full path of the group (including its parent path)
type: string
description:
description: description
type: string
creation_date:
description: 'creation date (format: `2014-12-31 15:17:24.736`)'
type: string
created_by_user_id:
description: id of the user who created the group (-1 if the group was created by the technical admin or by an organisation import)
type: string
last_update_date:
description: 'last update date (format: `2014-12-31 15:17:24.736`)'
type: string
icon:
description: icon path
type: string
example:
id: 3
creation_date: '2014-12-02 11:33:48.501'
created_by_user_id: -1
icon: ''
parent_path: /acme
description: This group represents the finance department of the ACME organization
name: finance
path: /acme/finance
parent_group_id: 1
displayName: Finance
last_update_date: '2014-12-02 11:33:48.501'
GroupCreateRequest:
type: object
required:
- name
properties:
name:
description: name
type: string
displayName:
description: display name
type: string
parent_group_id:
description: the id of the parent group of this group (empty if the group has no parent)
type: string
description:
description: description
type: string
icon:
description: icon path
type: string
example:
icon: ''
name: HR
displayName: Human Resources
description: Human resources department
GroupUpdateRequest:
type: object
required:
- name
properties:
name:
description: name
type: string
displayName:
description: display name
type: string
parent_group_id:
description: the id of the parent group of this group (empty if the group has no parent)
type: string
description:
description: description
type: string
icon:
description: icon path
type: string
example:
name: HR
displayName: Humman resources
Membership:
type: object
description: ''
properties:
assigned_date:
description: 'creation date (format: `2014-12-31 15:17:24.736`)'
type: string
role_id:
description: id of the role of this membership
type: integer
format: int64
assigned_by_user_id:
description: id of the user who created the membership (-1 if the role was created by the technical admin or by an organisation import)
type: string
group_id:
description: id of the group of this membership
type: string
user_id:
description: id of the user in this membership
type: string
example:
assigned_date: '2014-12-02 17:57:09.315'
role_id": 4
assigned_by_user_id: 12
group_id: 5
user_id: 125
MembershipCreateRequest:
type: object
required:
- role_id
- group_id
- user_id
properties:
role_id:
description: id of the role of this membership
type: string
group_id:
description: id of the group of this membership
type: string
user_id:
description: id of the user in this membership
type: string
example:
user_id: '4'
group_id: '5'
role_id: '1'
Role:
type: object
description: The role of a user in a group
properties:
id:
description: role ID
type: string
name:
description: name
type: string
displayName:
description: display name
type: string
description:
description: description
type: string
icon:
description: icon path
type: string
creation_date:
description: 'creation date (format: `2014-12-31 15:17:24.736`)'
type: string
created_by_user_id:
description: Id of the user who created the role (-1 if the role was created by the technical admin or by an organisation import)
type: string
last_update_date:
description: 'last update date (format: `2014-12-31 15:17:24.736`)'
type: string
example:
icon: ''
name: manager
displayName: department manager
description: manager of the department
creation_date: '2014-12-01 18:51:54.791'
created_by_user_id: 4
last_update_date: '2014-12-01 18:51:54.791'
RoleCreateRequest:
type: object
required:
- name
properties:
name:
description: name
type: string
displayName:
description: display name
type: string
description:
description: description
type: string
icon:
description: icon path
type: string
example:
icon: ''
name: manager
displayName: department manager
description: manager of the department
RoleUpdateRequest:
type: object
required:
- name
properties:
name:
description: name
type: string
displayName:
description: display name
type: string
description:
description: description
type: string
icon:
description: icon path
type: string
User:
type: object
properties:
id:
description: user id
type: string
enabled:
description: if "true", user is active.
type: string
userName:
description: user name
type: string
firstname:
description: user last name
type: string
lastname:
description: user last name
type: string
password:
description: user password
format: password
type: string
icon:
description: ' bonita icon path (ie. /default/icon_user.png)'
type: string
title:
description: user title
type: string
job_title:
description: user job title
type: string
manager_id:
description: user manager id
type: string
last_connection:
description: last connection date
type: string
created_by_user_id:
description: created by
type: string
creation_date:
description: creation date
type: string
last_update_date:
description: user last update date
type: string
UserCreateRequest:
type: object
required:
- userName
- password
- password_confirm
- firstname
- lastname
- enabled
properties:
userName:
description: user name
type: string
firstname:
description: user last name
type: string
lastname:
description: user last name
type: string
password:
description: user password
format: password
type: string
password_confirm:
description: user password confirmation
format: password
type: string
icon:
description: ' bonita icon path (ie. /default/icon_user.png)'
type: string
title:
description: user title
type: string
job_title:
description: user job title
type: string
manager_id:
description: user manager id
type: string
enabled:
description: true|false if the user is enabled or not
type: string
example:
userName: New.User
password: bpm
password_confirm: bpm
icon: ''
firstname: New
lastname: User
title: Mr
job_title: Human resources benefits
manager_id: '3'
enabled: 'true'
UserUpdateRequest:
type: object
properties:
enabled:
description: if "true", user will be activated.
type: string
userName:
description: user name
type: string
firstname:
description: user last name
type: string
lastname:
description: user last name
type: string
password:
description: user password
format: password
type: string
icon:
description: ' bonita icon path (ie. /default/icon_user.png)'
type: string
title:
description: user title
type: string
job_title:
description: user job title
type: string
manager_id:
description: user manager id
type: string
UserSummary:
type: object
description: |
Lightweight projection of a User returned by the `identity/userSummary` resource:
only the id, user name, first name, last name and job title.
Attribute names are kept consistent with the `identity/user` resource.
properties:
id:
description: user id
type: string
userName:
description: user name
type: string
firstname:
description: user first name
type: string
lastname:
description: user last name
type: string
job_title:
description: user job title. Optional on a user, `null` when unset.
type: string
nullable: true
required:
- id
- userName
- firstname
- lastname
Platform:
type: object
description: The bonita platform
properties:
state:
description: platform state
type: string
enum:
- STARTED
- STOPPED
version:
description: the current version of the platform
type: string
initialVersion:
description: the version in which the platform was created
type: string
previousVersion:
description: the previous version the platform was in or empty if there is none
type: string
createdBy:
description: the user name of the platform administrator
type: string
created:
description: the creation date
type: string
example:
createdBy: platformAdmin
created: '2014-12-04 15:46:46.065'
initialVersion: 6.4.0
state: STARTED
previousVersion: ''
version: 6.4.0
PlatformUpdateRequest:
type: object
properties:
state:
description: Platform state
type: string
enum:
- start
- stop
example:
state: stop
PlatformLicense:
type: object
description: ''
properties:
licenseStartDate:
description: date with format `yyyy-MM-dd` - first day (included) of license file validity
type: string
duration:
description: number of days for license file validity
type: string
licenseExpirationDate:
description: date with format `yyyy-MM-dd` - last day (included) of license file validity
type: string
numberOfCPUCores:
description: number of CPUs
type: string
edition:
description: name of the Bonita edition enabled by the license
type: string
licenseMode:
description: available mode enabled by the license
type: string
requestKey:
description: |
request key to use to generate a new license on the customer portal
If you have a subscription that specifies case-counter licensing, additional fields are present:
type: string
subscriptionStartPeriod:
description: date with format `yyyy-MM-dd` - first day (included) of current period for number of process instances provisioned
type: string
subscriptionEndPeriod:
description: date with format `yyyy-MM-dd` - last day (included) of current period for number of process instances provisioned
type: string
caseCounterLimit:
description: number of process instances provisioned for period between `subscriptionStartPeriod` and `subscriptionEndPeriod`
type: integer
format: int64
caseCounter:
description: number of consumed process instances for period between `subscriptionStartPeriod` and `subscriptionEndPeriod`
type: integer
format: int64
Page:
type: object
properties:
id:
description: page id
type: string
creationDate:
description: date and time
type: string
createdBy:
description: created by user id
type: string
isProvided:
description: is provided
type: boolean
description:
description: description
type: string
contentName:
description: content name
type: string
displayName:
description: custom page display name
type: string
updatedBy:
description: updated by user id
type: string
lastUpdateDate:
description: date and time
type: string
urlToken:
description: custom page urlToken
type: string
PageCreateRequest:
type: object
properties:
pageZip:
description: Zip name as named in the temp folder after upload
type: string
example:
pageZip: tmp_4338264789005487499.zip:new-bonita-angular-dashboard.zip
PageUpdateRequest:
type: object
properties:
pageZip:
description: pageZip as named in the temp folder after upload
type: string
example:
pageZip: tmp_4338264789005487499.zip:new-bonita-angular-dashboard.zip
Profile:
type: object
description: Profile
properties:
id:
description: profile id
type: string
creationDate:
description: date and time of profile creation
type: string
icon:
description: icon used in the portal to represent the profile
type: string
createdBy:
description: id of the uer who created the profile
type: string
description:
description: a description of the profile
type: string
name:
description: profile name
type: string
isdefault:
description: 'true | false '
type: boolean
lastUpdateDate:
description: date and time of the last update to the profile
type: string
updatedBy:
description: the id of the user who last updated the profile
type: string
example:
id: 101
creationDate: '2014-12-04 16:29:23.434'
icon: /profiles/profileDefault.png
createdBy: 1
description: This is my custom profile
name: MyCustomProfile
is_default: false
lastUpdateDate: '2014-12-04 16:29:23.434'
updatedBy: 1
ProfileCreateRequest:
type: object
properties:
description:
description: a description of the profile
type: string
name:
description: profile name
type: string
example:
name: MyCustomProfile
description: This is my custom profile
ProfileUpdateRequest:
type: object
properties:
description:
description: description of the Profile
type: string
displayName:
description: display name of the Profile
type: string
example:
displayName: My app
description: My application description
ProfileEntry:
type: object
description: Profile entry
properties:
id:
description: profileEntry id
type: string
icon:
description: icon used in the portal to represent a profileEntry
type: string
index:
description: position in a menu
type: string
profile_id:
description: id of the profile that contains this profileEntry
type: string
page:
description: pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry
type: string
description:
description: description
type: string
name:
description: name of the profileEntry
type: string
type:
description: link (if menu item) | folder (if menu)
type: string
isCustom:
description: ' true | false '
type: boolean
parent_id:
description: id or parent profileEntry if in a folder
type: string
ProfileEntryCreateRequest:
type: object
properties:
profile_id:
description: id of the profile that contains this profileEntry
type: string
page:
description: pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry
type: string
description:
description: description
type: string
name:
description: name of the profileEntry
type: string
type:
description: link (if menu item) | folder (if menu)
type: string
isCustom:
description: ' true | false '
type: boolean
parent_id:
description: id or parent profileEntry if in a folder
type: string
example:
page: tasklistingadmin
parent_id: '0'
name: Test menu
profile_id: '102'
type: link
isCustom: false
ProfileEntryUpdateRequest:
type: object
properties:
profile_id:
description: id of the profile that contains this profileEntry
type: string
page:
description: pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry
type: string
description:
description: description
type: string
name:
description: name of the profileEntry
type: string
type:
description: link (if menu item) | folder (if menu)
type: string
isCustom:
description: ' true | false '
type: boolean
parent_id:
description: id or parent profileEntry if in a folder
type: string
example:
page: tasklistingadmin
parent_id: '0'
name: Test menu
profile_id: '102'
type: link
isCustom: false
ProfileMember:
type: object
description: Profile member
properties:
id:
description: profile member id
type: string
profile_id:
description: id of the profile for this mapping
type: string
role_id:
description: id of role, or -1 if the member type is not role
type: string
group_id:
description: id of group, or -1 if the member type is not group
type: string
user_id:
description: id of user, or -1 if the member type is not user
type: string
example:
id: 204
profile_id: 2
role_id: -1
group_id: -1
user_id: 101
ProfileMemberCreateRequest:
type: object
properties:
profile_id:
description: id of the profile for this mapping
type: string
role_id:
description: id of role, or -1 if the member type is not role
type: string
group_id:
description: id of group, or -1 if the member type is not group
type: string
user_id:
description: id of user, or -1 if the member type is not user
type: string
member_type:
description: member type
type: string
enum:
- USER
- ROLE
- GROUP
example:
profile_id: '2'
member_type: USER
user_id: '101'
ThemeCreateRequest:
type: object
deprecated: true
description: Since Bonita 7.13, theme management is deprecated
properties:
type:
description: theme type
type: string
enum:
- portal
- mobile
zipFilePathportal:
description: tmp zip file Path as uploaded to portal
type: string
example:
type: portal
zipFilePathportal: tmp_1939634566964075173.zip
ThemeRestoreRequest:
type: object
deprecated: true
description: Since Bonita 7.13, theme management is deprecated
properties:
type:
description: theme type
type: string
enum:
- portal
- mobile
example:
type: portal
LogSeverityLevel:
type: string
description: the severity level of the log
enum:
- BUSINESS
- INTERNAL
Log:
type: object
description: |
A log entry recorded by the Bonita Engine during execution. Logs capture actions performed on the platform such as process deployments, task executions, or configuration changes.
This Web REST API is available in **Enterprise editions only**.
properties:
id:
type: string
description: the log id
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
creation_date:
type: string
format: date-time
description: the UTC date and time in ISO-8601 format ('yyyy-MM-ddTHH:mm:ss.SSSZ') when this log was created, for example '2024-10-17T16:05:42.626Z'
createdBy:
type: string
description: the name of the user who triggered the logged action
severity:
$ref: '#/components/schemas/LogSeverityLevel'
message:
type: string
description: the log message describing the action
action_scope:
type: string
description: the scope of the logged action
icon:
type: string
description: the icon path for this log entry
example:
id: '1024'
creation_date: '2024-10-17T16:05:42.626Z'
createdBy: walter.bates
severity: INTERNAL
message: Creating a new Process definition
action_scope: '7714320429509736190'
action_type: PROCESS_DEFINITION_CREATED
icon: /default/log.png
I18nlocale:
type: object
description: ''
properties:
name:
description: Name of the language
type: string
locale:
description: code of the locale
type: string
example:
name: English
locale: en
I18ntranslation:
description: ''
type: object
additionalProperties:
type: string
example:
value: Gehen Sie dazu zum %profilelink%.
key: To do so, go to %profilelink%.
Session:
type: object
properties:
user_id:
description: user id
type: string
user_name:
description: user name
type: string
session_id:
description: the session id
type: string
conf:
description: conf
type: string
is_technical_user:
description: 'is technical user: true|false'
type: boolean
is_guest_user:
description: 'is technical user: true|false'
type: boolean
version:
description: bonita version
type: string
copyright:
description: bonita copyright
type: string
example:
user_id: -1
user_name: install
session_id: '501670672784361704'
conf: '["F2A1B8E895F82077F59E4F11D001FC5823BC629E","CEEE6B727AB3EA8834DB0A732A1D8E8B230EE368","53A5CA40F466070283D58B8069C98F36A6D4142C","CA34A74DEF742742DAF395904D87FB1CC5EEF78B","1E49E265B8708F2B474226C9F6211A427E2ADC02","691A18FC27888346B838C65BF73858673D85DF4A","835E3A67C0516F6F5178468E3A9CCC7FE8F3AF52","74CD60A3CD84EEE4E13C17197508DAFEA2927F9A","98B3E3369C0724F4CCD784EF257EA7E0AE7BDCB2"]'
is_technical_user: true
is_guest_user: false
version: 7.11.1
copyright: Ofelia © 2020
MaintenanceDetails:
type: object
properties:
maintenanceState:
description: maintenance state
type: string
enum:
- ENABLED
- DISABLED
maintenanceMessage:
description: maintenance message
type: string
maintenanceMessageActive:
description: is maintenance message active
type: boolean
example:
maintenanceState: DISABLED
maintenanceMessage: maintenance msg
maintenanceMessageActive: true
SystemInformation:
type: object
description: ''
properties:
licenseStartDate:
description: date in milliseconds timestamp since Epoch - first day (included) of license file validity - Subscription editions only
type: string
duration:
description: number of days for license file validity - Subscription editions only
type: string
licenseExpirationDate:
description: date in milliseconds timestamp since Epoch - last day (included) of license file validity - Subscription editions only
type: string
numberOfCPUCores:
description: number of CPUs allowed by the license, if license mode is CPU-based - Subscription editions only
type: string
edition:
description: name of the Bonita edition enabled by the license - Community & Subscription editions
type: string
subscriptionType:
description: type of the Subscription the customer has purchased with Ofelia - Subscription editions only
type: string
licenseMode:
description: available mode enabled by the license - Subscription editions only
type: string
managedAppsLimit:
description: number of managed apps provisioned for in a Bonita Central environment - Subscription editions only
type: integer
format: int64
licensee:
description: Owner of the license - Subscription editions only
type: string
contactInfo:
description: E-mail address of the owner of the license - Subscription editions only
type: string
expirationDate:
description: License expiration date in milliseconds timestamp since Epoch - Subscription editions only
type: integer
format: int64
activeFeatures:
description: List of active features that the license allow access to (separated by comma) - Subscription editions only
type: string
requestKey:
description: |
request key to use to generate a new license on the customer portal.
If you have a subscription that specifies case-counter licensing, additional fields are present:
type: string
subscriptionStartPeriod:
description: date in milliseconds timestamp since Epoch - first day (included) of current period for number of process instances provisioned - Subscription editions only
type: string
subscriptionEndPeriod:
description: date in milliseconds timestamp since Epoch - last day (included) of current period for number of process instances provisioned - Subscription editions only
type: string
caseCounterLimit:
description: number of maximum process instances that can be started - Community & Subscription editions
type: integer
format: int64
caseCounter:
description: number of consumed process instances - Community & Subscription editions
type: integer
format: int64
License:
type: object
description: Bonita license
properties:
owner:
description: Owner of the license
type: string
edition:
description: name of the Bonita edition enabled by the license (Community,...)
type: string
nb_cpu_cores:
description: number of CPUs
type: string
expirationDate:
description: 'License expiration date with format: `yyyy-MM-dd HH:mm:ss.SSS`'
type: integer
format: int64
Bdm:
type: object
description: ''
properties:
id:
description: BDM id
type: string
name:
description: BDM name
type: string
type:
description: BDM type
type: string
state:
$ref: '#/components/schemas/TenantResourceState'
lastUpdatedBy:
description: This value is always -1 because only the technical admin can install BDM.
type: string
default: '-1'
lastUpdateDate:
description: Last date when the BDM was installed or updated.
type: string
example:
id: '309'
name: client_bdm.zip
type: BDM
state: INSTALLED
lastUpdatedBy: -1
lastUpdateDate: '2018-01-17T17:05:36.671Z'
BDMInstallRequest:
type: object
properties:
fileUpload:
type: string
description: the temporary file name once uploaded on the server
example:
fileUpload: tmp_uploaded_bdm.zip
FormFileUploadRequest:
type: object
description: A file to upload
properties:
file:
type: string
format: binary
FormFileUploadResponse:
type: object
description: Form file upload response
properties:
filename:
description: file name
type: string
tempPath:
description: temporary path of a file
type: string
contentType:
description: response content type
type: string
example:
filename: 66c5d4e99167e.pdf
tempPath: 885efa7d-c639-4076-ba5d-04a7fbfc1d11.pdf
contentType: application/pdf
responses:
BadRequest:
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Bad request
Unauthorized:
description: Authorization information is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Unauthorized
Forbidden:
description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
ServerError:
description: Unexpected error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: An unexpected error occured.
NotFound:
description: The resource for the specified ID was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Resource not found.
OK:
description: OK
NoContent:
description: OK (no content).
Conflict:
description: Conflict, the request could not be completed because it conflicts with the current state of the target resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Conflict
parameters:
pageIndex:
description: index of the page to display
explode: true
in: query
name: p
example: '0'
required: true
schema:
type: integer
minimum: 0
default: 0
format: int32
style: form
pageCount:
description: maximum number of elements to retrieve
explode: true
in: query
name: c
example: '10'
required: true
schema:
type: integer
minimum: 1
default: 20
format: int32
style: form
pageFilter:
description: can filter on attributes with the format f={filter\_name}={filter\_value} with the name/value pair as url encoded string.
explode: true
in: query
name: f
required: false
schema:
type: array
items:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
example: abc%3d123
pageOrder:
description: can order on attributes
explode: true
in: query
name: o
required: false
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
example: myProp%20ASC
pageSearch:
description: can search on attributes
explode: true
in: query
name: s
required: false
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
x-tagGroups:
- name: Authentication
tags:
- Authentication
- PlatformAuthentication
- name: Application
tags:
- Application
- ApplicationMenu
- ApplicationPage
- FormMapping
- name: BDM
tags:
- BDM
- BusinessDataQuery
- Business Data Operations
- BDMAccessControl
- DataRetention
- name: BPM
tags:
- Activity
- ArchivedActivity
- HumanTask
- ManualTask
- Task
- UserTask
- ArchivedHumanTask
- ArchivedManualTask
- ArchivedTask
- ArchivedUserTask
- ActivityVariable
- ArchivedActivityVariable
- ProcessInstanceVariable
- ArchivedProcessInstanceVariable
- ProcessInstanceDocument
- ArchivedProcessInstanceDocument
- Actor
- ActorMember
- ProcessInstance
- ArchivedProcessInstance
- ProcessInstanceInfo
- ProcessInstanceComment
- ArchivedProcessInstanceComment
- Process
- Diagram
- ProcessInfo
- ProcessParameter
- ProcessResolutionProblem
- ProcessSupervisor
- ProcessConnectorDependency
- ConnectorFailure
- ConnectorInstance
- ArchivedConnectorInstance
- FlowNode
- ArchivedFlowNode
- Failure
- ArchivedFailure
- TimerEventTrigger
- Message
- Signal
- Delegation
- name: Custom user info
tags:
- CustomUserDefinition
- CustomUserValue
- CustomUser
- name: Identity
tags:
- ProfessionalContactData
- Group
- Membership
- Role
- User
- Authentication
- name: Platform
tags:
- PlatformAuthentication
- Platform
- License
- Information
- name: Portal
tags:
- Page
- Profile
- ProfileEntry
- ProfileMember
- Theme
- Upload
- name: System
tags:
- I18nlocale
- I18ntranslation
- Log
- Session
- Maintenance
- name: Other
tags:
- RestAPIextensions
- name: Upload
tags:
- FormFileUpload