Bonita API (0.0.16)

License: GPL-v2.0

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 is implemented above the HTTP API. It is available on Maven central.

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 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. 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. The matching policy depends on the configuration of word-based search. For example, if word-based search is enabled, s=Valid returns 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 is disabled, s=Valid returns 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".

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.

Portal Authentication

Portal Authentication

Login

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

Request Body schema: application/x-www-form-urlencoded
username
required
string

the username

password
required
string <password>

the password

tenant
string

the user tenant

redirect
string
Default: "false"

"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
string or null
Default: ""

the URL of the page to be displayed after login

Responses

Request samples

# 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: <token>' \
--url 'http://localhost:8080/bonita/API/bpm/process?c=100&p=0'

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Logout the current user

Logout the current user from the system

Authorizations:
(bonita_authbonita_token)
query Parameters
redirect
string <= 5 characters ^(?:tru|fals)e$
Example: redirect=false

Setting the redirect parameter to false indicates that the service should not redirect to the login page after logging out.

Responses

Request samples

curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/logoutservice?redirect=false'

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Platform Authentication

Platform Authentication

Platform Login

The username and password are in bonita-platform-community-custom.properties file.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/x-www-form-urlencoded
username
string

the username

password
string <password>

the password

redirect
string

"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).

Responses

Request samples

Content type
application/x-www-form-urlencoded
username=install&password=install&redirect=false

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Platform Logout

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Application

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.

Finds living applications

Finds living applications with pagination params and filters

  • can order on id,creationDate, createdBy, profileId, token, displayName, updatedBy, lastUpdateDate, version
  • can search on token, displayName, version
  • can filter on token, displayName, version, profileId, creationDate, createdBy, updatedBy , lastUpdateDate, userId
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a living application Deprecated

Create a living applications

Warning: as of 9.0.0, creating a living application using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial living application description

description
string

description of the application

displayName
string

display name of the application

profileId
string

profile authorized to access this application

token
string

token of the application used to build the application URL

version
string

version of the application

Responses

Request samples

Content type
application/json
{
  • "version": "1.0",
  • "profileId": "2",
  • "token": "myapp",
  • "displayName": "My app",
  • "description": "My application description"
}

Response samples

Content type
application/json
{
  • "id": "305",
  • "creationDate": "1411548289900",
  • "iconPath": "",
  • "createdBy"": "1",
  • "profileId": "2",
  • "description": "My application description",
  • "token": "myapp",
  • "state": "DEACTIVATED",
  • "displayName": "My app",
  • "updatedBy": "1",
  • "lastUpdateDate": "1411548289900",
  • "version": "1.0",
  • "homePageId": "-1"
}

Finds a living application by ID

Returns a single application for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of application to return

Responses

Response samples

Content type
application/json
{
  • "id": "305",
  • "creationDate": "1411548289900",
  • "iconPath": "",
  • "createdBy"": "1",
  • "profileId": "2",
  • "description": "My application description",
  • "token": "myapp",
  • "state": "DEACTIVATED",
  • "displayName": "My app",
  • "updatedBy": "1",
  • "lastUpdateDate": "1411548289900",
  • "version": "1.0",
  • "homePageId": "-1"
}

Delete a living application by ID

Delete a single application for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of application to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Update a living application by ID Deprecated

Update a single application for the given ID

Warning: as of 9.0.0, updating a living application using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of application to return

Request Body schema: application/json

Partial living application description

description
string

description of the application

displayName
string

display name of the application

profileId
string

profile authorized to access this application

token
string

token of the application used to build the application URL

version
string

version of the application

themeId
string

edition

theme id for the application

layoutId
string

edition

layout id for the application

Responses

Request samples

Content type
application/json
{
  • "version": "1.0",
  • "profileId": "2",
  • "token": "myapp",
  • "displayName": "My app",
  • "description": "My application description",
  • "themeId": "2",
  • "layoutId": "17"
}

Response samples

Content type
application/json
{
  • "id": "305",
  • "creationDate": "1411548289900",
  • "iconPath": "",
  • "createdBy"": "1",
  • "profileId": "2",
  • "description": "My application description",
  • "token": "myapp",
  • "state": "DEACTIVATED",
  • "displayName": "My app",
  • "updatedBy": "1",
  • "lastUpdateDate": "1411548289900",
  • "version": "1.0",
  • "homePageId": "-1"
}

Import a living application Deprecated

Import a single application

Warning: as of 9.0.0, importing a living application using this service is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/x-www-form-urlencoded
applicationsDataUpload
string

Uploaded file

importPolicy
string

Import policy

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload a living application Deprecated

Upload application

Warning: as of 9.0.0, uploading a living application using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload an application configuration file Deprecated

edition

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.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
configuration
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ApplicationMenu

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.

Finds application menus

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

New application menu item Deprecated

Create an application menu item

Warning: as of 9.0.0, creating an application menu item using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

A partial representation of an application menu in JSON

displayName
string

display name of the application menu

applicationPageId
string

the application menu page ID

menuIndex
string

the application menu index

parentMenuId
string

the application parent menu ID

Responses

Request samples

Content type
application/json
{
  • "displayName": "My updated label"
}

Response samples

Content type
application/json
{
  • "id": "8",
  • "applicationId": "1",
  • "applicationPageId": "5",
  • "menuIndex": "1",
  • "parentMenuId": "-1",
  • "displayName": "menuLabel"
}

Finds a application menu by ID

Returns a single application menu for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of application menu to return

Responses

Response samples

Content type
application/json
{
  • "id": "9823",
  • "displayName": "menuLabel",
  • "applicationId": "1",
  • "applicationPageId": "5",
  • "menuIndex": "1",
  • "parentMenuId": "-1"
}

Delete an application menu by ID

Delete a single application menu for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the application menu to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Update an application menu by ID Deprecated

Update an application menu for the given ID

Warning: as of 9.0.0, updating an application menu item using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the application menu to return

Request Body schema: application/json

Partial application menu description

parentMenuId
string

id of the parent menu of this menu item, or -1 for a top-level item

applicationPageId
string

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)

applicationId
string

id of the application related to this menu item

menuIndex
string

index of the menu item

displayName
string

label to display for this menu in the application navigation bar or menu

Responses

Request samples

Content type
application/json
{
  • "displayName": "menuLabel",
  • "applicationId": "1",
  • "applicationPageId": "5",
  • "menuIndex": "1",
  • "parentMenuId": "-1"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ApplicationPage

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.

Finds application pages

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
ApplicationPage/json
[
  • {
    }
]

Create an application page Deprecated

Create an application page

Warning: as of 9.0.0, creating an application page using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial application page description

token
string

token use to access the page using a URL : ../appName/pageToken/

applicationId
string

id of the application related to this page

pageId
string

id of the custom page to display

Responses

Request samples

Content type
application/json
{
  • "token": "myPage",
  • "applicationId": "1234",
  • "pageId": "5678"
}

Response samples

Content type
application/json
{
  • "id": "9876",
  • "token": "myPage",
  • "applicationId": "1234",
  • "pageId": "5678"
}

Finds an application page by ID

Returns a single application page for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of application page to return

Responses

Response samples

Content type
application/json
{
  • "id": "9876",
  • "token": "myPage",
  • "applicationId": "1234",
  • "pageId": "5678"
}

Delete an application page by ID

Delete a single application page for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of application page to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

FormMapping

Finds FormMappings

Finds FormMappings with pagination params and filters

  • can filter on processDefinitionId,type
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update the FormMapping by ID Deprecated

edition

Update the FormMapping for the given ID

Warning: as of 9.0.0, updating a Form Mapping using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the FormMapping to return

Request Body schema: application/json

Representation of the form mapping attribute to update - {'pageId': (long)} or {'url': (string)} or {} to set the mapping type to NONE

pageId
string

pageId of the FormMapping

url
string

url of the FormMapping

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Business Data Model

Show status or install or update the Business Data Model.

Installing or updating a BDM on your tenant needs to be done in two successive steps:

  1. Upload a BDM file
  2. Install/Update the previously uploaded file

To do this, your tenant services need to be paused.

In Enterprise editions, if you have an access control file installed on your tenant, you need to delete it before installing or updating your BDM.

Finds business data By Ids

Finds business data specified by their identifiers.

Authorizations:
(bonita_authbonita_token)
path Parameters
businessDataType
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: com.company.model.Employee

Business Data Type

query Parameters
ids
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: ids=1,3,56

list of persistenceIds (comma separated)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds business data by Id

Finds business data specified by its identifier.

Authorizations:
(bonita_authbonita_token)
path Parameters
businessDataType
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: com.company.model.Employee

Business Data Type

persistenceId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: 1

Business data ID

Responses

Response samples

Content type
application/json
{
  • "persistenceId_string": "1",
  • "persistenceVersion_string": "0",
  • "contractName": "contract for Netcom3",
  • "terms": [
    ],
  • "client": {
    }
}

Finds business data attribute by id

Gets the business data attribute of business data according to its identifier and attribute name. Request url.

Authorizations:
(bonita_authbonita_token)
path Parameters
businessDataType
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: com.company.model.Employee

Business Data Type

persistenceId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: 1

Business data ID

attributeName
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: company

Business data attribute name

Responses

Response samples

Content type
application/json
{
  • "persistenceId_string": "1",
  • "persistenceVersion_string": "0",
  • "company": "The Big Company"
}

Upload a file

Upload file.

NOTE: If this file is a BDM zip, to do this, your tenant services need to be paused. In Enterprise editions, if you have an access control file installed on your tenant, you need to delete it before installing or updating your BDM.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Get the BDM

Returns the current BDM. Make this call to get the status the BDM.

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "id": "309",
  • "name": "client_bdm.zip",
  • "type": "BDM",
  • "state": "INSTALLED",
  • "lastUpdatedBy": -1,
  • "lastUpdateDate": "2018-01-17T17:05:36.671Z"
}

Install a BDM Deprecated

Install a BDM

Warning: as of 9.0.0, importing a BDM using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json
fileUpload
string

the temporary file name once uploaded on the server

Responses

Request samples

Content type
application/json
{
  • "fileUpload": "tmp_uploaded_bdm.zip"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

BusinessDataQuery

BDM Rest APIs allow to query Bonita Business Data.

Finds Business Data

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
Authorizations:
(bonita_authbonita_token)
path Parameters
businessDataType
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: com.company.model.Employee

Business Data Type

query Parameters
q
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$
Example: q=searchEmployeeByFirstNameAndLastName

Named query to use

p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

Responses

Response samples

Content type
application/json
[
  • { }
]

BDMAccessControl

BDM Access control is available to protect the tenant BDM. You can use this API to get the access control status (lastUpdatedBy, lastUpdateDate...).

BDM access control status

edition

Get the BDM access control status.

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "id": 4090,
  • "name": "bdm_access_control.xml",
  • "type": "BDM_ACCESS_CONTROL",
  • "state": "INSTALLED",
  • "lastUpdatedBy": 4,
  • "lastUpdateDate": "2018-01-17T17:05:36.671Z"
}

Delete the BDM Access Control

edition

Delete the BDM access control

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload a BDM Access Control Deprecated

edition

Upload BDM Access Control

Warning: as of 9.0.0, uploading a BDM Access Control using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
text/plain
tmp_accessControlFileToUpload.xml

Import a BDM Access Control Deprecated

edition

Import a BDM Access Control

Warning: as of 9.0.0, importing a BDM Access Control using this service is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/x-www-form-urlencoded
bdmAccessControlUpload
string

The temporary name of the previously uploaded file to install

Responses

Request samples

Content type
application/x-www-form-urlencoded
bdmAccessControlUpload=tmp_accessControlFileToUpload.xml

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Activity

Activity

Finds Activities

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)
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the Activity by ID

Returns the single Activity for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Activity to return

Responses

Response samples

Content type
application/json
{
  • "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"
}

Update the Activity by ID

Update the Activity for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Activity to return

Request Body schema: application/json

Partial Activity description

variables
string

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.

state
string

The target state of the activity

  • Execute a task: completed
  • Skip activity: skipped - Make this call after all failed connectors have been reset edition
  • Replay activity: replay

Responses

Request samples

Content type
application/json
{
  • "variables": "[{\"name\":\"foo\",\"value\":\"bar\"}]",
  • "state": "completed"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ArchivedActivity

ArchivedActivity

Finds Archived Activities

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the Archived Activity by ID

Returns the single Archived Activity for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Archived Activity to return

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "AUTOMATIC_TASK",
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "displayDescription": "string",
  • "state": "failed",
  • "reached_state_date": "string",
  • "last_update_date": "string",
  • "dueDate": "string",
  • "priority": "highest",
  • "processId": "string",
  • "parentCaseId": "string",
  • "rootCaseId": "string",
  • "rootContainerId": "string",
  • "executedBy": "string",
  • "executedBySubstitute": "string",
  • "actorId": "string",
  • "assigned_id": "string",
  • "assigned_date": "string",
  • "sourceObjectId": "string",
  • "archivedDate": "string"
}

HumanTask

HumanTask

Finds HumanTasks

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, rootProcessInstanceId, parentProcessInstanceId
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the HumanTask by ID

Returns the single HumanTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the HumanTask to return

Responses

Response samples

Content type
application/json
{
  • "displayDescription": null,
  • "executedBySubstitute": 0,
  • "processId": 5826139717723008000,
  • "parentCaseId": 1,
  • "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",
  • "rootCaseId": 1,
  • "displayName": "Analyse case",
  • "parentTaskId": 40001,
  • "dueDate": "2014-09-05 12:11:30.775",
  • "last_update_date": "2014-09-05 11:11:30.808"
}

Update the HumanTask by ID

Update the HumanTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the HumanTask to return

Request Body schema: application/json

Fields that can be updated are assignedId and state. Specify only those fields that you want to change.

assigned_id
string

The id of the user to assign this Human task to

state
string

state of the HumanTask

Responses

Request samples

Content type
application/json
{
  • "assigned_id": "1234",
  • "state": "new_state"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ManualTask

ManualTask

Finds ManualTasks

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.
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ManualTask

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.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial ManualTask description

parentTaskId
string

The parent task ID

state
string

The task state

name
string

The task name

description
string

The task description

priority
string

The task priority

dueDate
string

The task due date

assigned_id
string

The id of the user assigned to the task

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "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"
}

Finds the ManualTask by ID

Returns the single ManualTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ManualTask to return

Responses

Response samples

Content type
application/json
{
  • "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"
}

Update the ManualTask by ID

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.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ManualTask to return

Request Body schema: application/json

Partial ManualTask description

state
string

State of the ManualTask (completed)

executedBy
string

Id of the task executor

Responses

Request samples

Content type
application/json
{
  • "state": "completed",
  • "executedBy": "1"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Task

Task

Finds Tasks

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the Task by ID

Returns the single Task for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Task to return

Responses

Response samples

Content type
application/json
{
  • "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",
  • "parentTaskId": 40001,
  • "dueDate": "2014-12-01 17:22:50.809",
  • "last_update_date": "2014-12-01 16:22:50.814"
}

Update the Task by ID

Update the Task for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Task to return

Request Body schema: application/json

Task fields to update (forbidden fields are : caseId, processId, name, executedBy, type, id, reached_state_date, last_update_date)

state
string

state of the Task (completed)

displayName
string

display name of the Task

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "state": "completed"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

UserTask

UserTask

Finds UserTasks

Finds UserTasks with pagination params and filters

  • can order on id
  • can search on displayName
  • can filter on displayName
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the UserTask by ID

Returns the single UserTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the UserTask to return

Responses

Response samples

Content type
application/json
{
  • "displayDescription": "",
  • "executedBySubstitute": 0,
  • "processId": 5826139717723008000,
  • "parentCaseId": 1,
  • "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",
  • "rootCaseId": 1,
  • "displayName": "Analyse case",
  • "parentTaskId": 40001,
  • "dueDate": "2014-09-05 12:11:30.775",
  • "last_update_date": "2014-09-05 11:11:30.808"
}

Update the UserTask by ID

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.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the UserTask to return

Request Body schema: application/json

Partial UserTask description

state
string

The UserTask state

assigned_id
string

The id of the user assign to the UserTask

Responses

Request samples

Content type
application/json
{
  • "assigned_id": "1",
  • "state": "skipped"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Contract by UserTask ID

Returns the Contract for the given UserTask ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the UserTask that has the Contract to return

Responses

Response samples

Content type
application/json
{
  • "constraints": [
    ],
  • "inputs": [
    ]
}

Execute the UserTask

Execute the UserTask. In order to execute a task, the task contract values have to be provided.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the UserTask to execute

query Parameters
assign
boolean

if true, assign the task to the current user and execute the task

Request Body schema: application/json

A JSON object matching task contract. Execute a task providing correct contract values.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "ticket_comment": "this is a comment"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Context by UserTask ID

Returns the Context for the given UserTask ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the UserTask that has the Context to return

Responses

Response samples

Content type
application/json
{
  • "myBusinessData_ref": {
    },
  • "myDocument_ref": {
    }
}

ArchivedHumanTask

ArchivedHumanTask

Finds ArchivedHumanTasks

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ArchivedHumanTask by ID

Returns the single ArchivedHumanTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedHumanTask to return

Responses

Response samples

Content type
application/json
{
  • "displayDescription": "",
  • "executedBySubstitute": "0",
  • "processId": "5826139717723008213",
  • "parentCaseId": 1,
  • "state": "skipped",
  • "rootContainerId": "1002",
  • "type": "USER_TASK",
  • "assigned_id": "2",
  • "assigned_date": "2014-12-01 17:39:53.784",
  • "id": "240002",
  • "executedBy": "0",
  • "caseId": "1002",
  • "priority": "normal",
  • "actorId": "102",
  • "description": "",
  • "name": "Analyse case",
  • "reached_state_date": "2014-09-09 17:21:51.946",
  • "rootCaseId": 1,
  • "displayName": "Analyse case",
  • "parentTaskId": 40001,
  • "dueDate": "2014-09-05 12:11:30.775",
  • "last_update_date": "2014-09-09 17:21:51.946",
  • "sourceObjectId": "20004",
  • "archivedDate": "2014-09-09 17:21:51.986"
}

ArchivedManualTask

ArchivedManualTask

Finds ArchivedManualTasks

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ArchivedManualTask by ID

Returns the single ArchivedManualTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedManualTask to return

Responses

Response samples

Content type
application/json
{
  • "displayDescription": "this is a test",
  • "executedBySubstitute": 1,
  • "processId": 8367255255370238000,
  • "parentCaseId": 1,
  • "state": "completed",
  • "rootContainerId": 1,
  • "type": "MANUAL_TASK",
  • "assigned_id": 1,
  • "assigned_date": "2014-12-01 17:39:53.784",
  • "id": 160007,
  • "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,
  • "displayName": "myTest",
  • "parentTaskId": 40001,
  • "dueDate": "2014-12-17 00:00:00.000",
  • "last_update_date": "2014-12-01 17:20:47.200",
  • "sourceObjectId": 40003,
  • "archivedDate": "2014-12-01 17:20:47.217"
}

ArchivedTask

ArchivedTask

Finds ArchivedTasks

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ArchivedTask by ID

Returns the single ArchivedTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedTask to return

Responses

Response samples

Content type
application/json
{
  • "displayDescription": null,
  • "executedBySubstitute": 4,
  • "processId": 9132099022957911000,
  • "parentCaseId": 5,
  • "state": "completed",
  • "rootContainerId": 5,
  • "type": "USER_TASK",
  • "assigned_id": 4,
  • "assigned_date": "2014-12-01 17:39:53.784",
  • "id": 9,
  • "executedBy": 4,
  • "caseId": 5,
  • "priority": "normal",
  • "actorId": 6,
  • "description": null,
  • "name": "Step1",
  • "reached_state_date": "2014-12-01 16:24:32.457",
  • "rootCaseId": 5,
  • "displayName": "Step1",
  • "parentTaskId": 40001,
  • "dueDate": "2014-12-01 17:22:50.809",
  • "last_update_date": "2014-12-01 16:24:32.457",
  • "sourceObjectId": 10,
  • "archivedDate": "2014-12-01 16:24:32.460"
}

ArchivedUserTask

ArchivedUserTask

Finds ArchivedUserTasks

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ArchivedUserTask by ID

Returns the single ArchivedUserTask for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedUserTask to return

Responses

Response samples

Content type
application/json
{
  • "displayDescription": null,
  • "executedBySubstitute": 0,
  • "processId": 5826139717723008000,
  • "parentCaseId": 1,
  • "state": "skipped",
  • "rootContainerId": 1002,
  • "type": "USER_TASK",
  • "assigned_id": 2,
  • "assigned_date": "2014-12-01 17:39:53.784",
  • "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",
  • "rootCaseId": 1,
  • "displayName": "Analyse case",
  • "parentTaskId": 40001,
  • "dueDate": "2014-09-05 12:11:30.775",
  • "last_update_date": "2014-09-09 17:21:51.946",
  • "sourceObjectId": "string",
  • "archivedDate": "2014-09-09 17:21:51.986"
}

ActivityVariable

ActivityVariable

Finds the ActivityVariable by ID

Returns the single ActivityVariable for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The identifier of the activity from which to retrieve the variable

variableName
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The name of the variable to retrieve

Responses

Response samples

Content type
application/json
{
  • "tenantId": 0,
  • "tenantId_string": 0,
  • "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

ArchivedActivityVariable

Finds the ArchivedActivityVariable by case ID and name

Since 2022.1

Returns the single ArchivedActivityVariable for the given activity ID and variable name

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The identifier of the activity from which to retrieve the variable

variableName
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The name of the variable to retrieve

Responses

Response samples

Content type
application/json
{
  • "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

ProcessInstanceVariable

Finds ProcessInstance Variables

Finds ProcessInstance Variables with pagination params and filters

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the Variable by ProcessInstance ID

Returns the single Variable for the given ProcessInstance ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The identifier of the process instance from which to retrieve the variable

variableName
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The name of the variable to retrieve

Responses

Response samples

Content type
application/json
{
  • "description": "",
  • "name": "myInvoiceAmount",
  • "value": "14.2",
  • "case_id": 1,
  • "type": "java.lang.Float"
}

Update a Variable by ProcessInstance ID

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

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The identifier of the process instance from which to retrieve the variable

variableName
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The name of the variable to retrieve

Request Body schema: application/json

Partial ProcessInstance variables description

type
string

the java class name

value
string

the new value

Responses

Request samples

Content type
application/json
{
  • "type": "java.lang.String",
  • "value": "My new value"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ArchivedProcessInstanceVariable

ArchivedProcessInstanceVariable

Finds ArchivedProcessInstance Variables

Since 2022.1

Finds ArchivedProcessInstance Variables with pagination params and filters

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
required
string <= 250 characters ^[A-Za-z0-9%\_\-\.]{0,250}$
Example: f=case_id%3d1001

Filter for the case id before it was archived (eg: case_id=10001 )

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds an archived Variable by ProcessInstance ID and variable name

Since 2022.1

Returns the single ArchivedProcessInstanceVariable for the given ProcessInstance ID and variable name

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The identifier of the process instance from which to retrieve the archived variable

variableName
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

The name of the archived variable to retrieve

Responses

Response samples

Content type
application/json
{
  • "name": "RequestValidationData",
  • "description": null,
  • "type": "java.lang.String",
  • "case_id": 20004,
  • "value": "Confirmed",
  • "archivedDate": "2021-12-27 23:10:59.342",
  • "sourceObjectId": 42
}

ProcessInstanceDocument

ProcessInstanceDocument

Finds ProcessInstanceDocuments

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, 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, the search returns documents with string at the start of the description or the start of a word in the description.
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProcessInstanceDocument

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.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial ProcessInstanceDocument description

caseId
string

The process instance id

file
string

The local file name to upload from (as from the temp upload folder)

url
string

The remote url to upload from

name
string

The file display name

fileName
string

The target file name

description
string

The document description

Responses

Request samples

Content type
application/json
{
  • "caseId": "1",
  • "file": "doc.jpg",
  • "name": "Doc 1",
  • "fileName": "document_1.jpg",
  • "description": "draft"
}

Response samples

Content type
application/json
{
  • "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"
}

Finds the ProcessInstanceDocument by ID

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.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstanceDocument to return

Responses

Response samples

Content type
application/json
{
  • "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"
}

Update the ProcessInstanceDocument by ID

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.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstanceDocument to return

Request Body schema: application/json

Partial ProcessInstanceDocument description

file
string

The local file name to upload from (as from the temp upload folder)

url
string

The remote url to upload from

name
string

The file display name

fileName
string

The target file name

description
string

The document description

Responses

Request samples

Content type
application/json
{
  • "file": "Expense policy rev2.pdf",
  • "description": "updated version of document",
  • "fileName": "revision2.pdf"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the ProcessInstanceDocument by ID

Delete the single ProcessInstanceDocument for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstanceDocument to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ArchivedProcessInstanceDocument

ArchivedProcessInstanceDocument

Finds ArchivedProcessInstanceDocuments

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, 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, the search returns documents with string at the start of the description or the start of a word in the description.
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete the ArchivedProcessInstanceDocument by ID

Delete the single ArchivedProcessInstanceDocument for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedProcessInstanceDocument to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Actor

Actor

Finds Actors

Finds Actors with pagination params and filters

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the Actor by ID

Returns the single Actor for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Actor to return

Responses

Response samples

Content type
application/json
{
  • "id": "1",
  • "process_id": "4717422838168315799",
  • "description": null,
  • "name": "employee",
  • "displayName": "Employee actor"
}

Update the Actor by ID Deprecated

Update the Actor for the given ID

Warning: as of 9.0.0, updating an Actor using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Actor to return

Request Body schema: application/json

Fields that can be upated are displayName and description

displayName
string

display name of the Actor

description
string

description of the Actor

Responses

Request samples

Content type
application/json
{
  • "displayName": "My actor",
  • "description": "My actor description"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ActorMember

ActorMember

Finds ActorMembers

Finds ActorMembers with pagination params and filters

There is a mandatory filter on:

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ActorMember by ID

Returns the single ActorMember for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ActorMember to return

Responses

Response samples

Content type
application/json
{
  • "id": "206",
  • "actor_id": "2",
  • "role_id": "4",
  • "group_id": "8",
  • "user_id": "-1"
}

Delete the ActorMember by ID

Delete the single ActorMember for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ActorMember to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ProcessInstance

ProcessInstance

Finds ProcessInstances

Finds ProcessInstances with pagination params and filters

You can filter on:

  • processDefinitionId: The process derfinition ID
  • 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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProcessInstance

edition edition

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.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

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.

processDefinitionId
string

the process definition Id

Array of objects (ProcessVariable)

process variables initial values

Responses

Request samples

Content type
application/json
{
  • "processDefinitionId": "5777042023671752656",
  • "variables": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "end_date"": "",
  • "failedFlowNodes"": 9,
  • "startedBySubstitute"": 345,
  • "start"": "2014-11-27 17:55:00.906",
  • "activeFlowNodes"": "9",
  • "state"": "started",
  • "rootCaseId"": "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"
}

Delete the ProcessInstance by batch

edition edition

Delete a list of ProcessInstances for the given IDs

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json
Array
string

ProcessInstance id

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the ProcessInstance by ID

Returns the single ProcessInstance for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstance to return

query Parameters
n
string
Enum: "activeFlowNodes" "failedFlowNodes"

Count of related resources

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "end_date"": "",
  • "failedFlowNodes"": 9,
  • "startedBySubstitute"": 345,
  • "start"": "2014-11-27 17:55:00.906",
  • "activeFlowNodes"": "9",
  • "state"": "started",
  • "rootCaseId"": "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"
}

Delete the ProcessInstance by ID

Delete the single ProcessInstance for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstance to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Context by ProcessInstance ID

Returns the Context for the given ProcessInstance ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstance that has the Context to return

Responses

Response samples

Content type
application/json
{
  • "myBusinessData_ref": {
    },
  • "myDocument_ref": {
    }
}

ArchivedProcessInstance

ArchivedProcessInstance

Finds ArchivedProcessInstances

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 derfinition ID
  • 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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ArchivedProcessInstance by ID

Returns the single ArchivedProcessInstance for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedProcessInstance to return

Responses

Response samples

Content type
application/json
{
  • "id": 9,
  • "end_date"": "",
  • "failedFlowNodes"": 9,
  • "startedBySubstitute"": 345,
  • "start"": "2014-11-27 17:55:00.906",
  • "activeFlowNodes"": "9",
  • "state"": "started",
  • "rootCaseId"": "1",
  • "started_by"": 989,
  • "processDefinitionId"": "5777042023671752656",
  • "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",
  • "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",
  • "started_by": "4",
  • "archivedDate": "2014-10-22 10:57:00.299",
  • "processDefinitionId": "6054482369194211518"
}

Delete the ArchivedProcessInstance by ID

Delete the single ArchivedProcessInstance for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedProcessInstance to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Context by ArchivedProcessInstance ID

Returns the Context for the given ArchivedProcessInstance ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedProcessInstance that has the Context to return

Responses

Response samples

Content type
application/json
{
  • "myBusinessData_ref": {
    },
  • "myDocument_ref": {
    }
}

ProcessInstanceInfo

ProcessInstanceInfo

Finds the ProcessInstanceInfo by ID

edition since 2022.2

Returns the single ProcessInstanceInfo for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInstanceInfo to return

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "flowNodeStatesCounters": {
    }
}

ProcessInstanceComment

ProcessInstanceComment

Finds ProcessInstanceComments

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProcessInstanceComment

Create the ProcessInstanceComment

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

The process instance (case) id and the comment content, in JSON

processInstanceId
string

the process instance (case) the comment is associated to

content
string

the comment content

Responses

Request samples

Content type
application/json
{
  • "processInstanceId": "5777042023671752656",
  • "content": "The process instance has been started"
}

Response samples

Content type
application/json
{
  • "content": "Need to review the last inputs of this case",
  • "tenantId": "1",
  • "id": "20005",
  • "processInstanceId": "1",
  • "postDate": "2016-06-16 14:51:33.053",
  • "userId": 9798
}

ArchivedProcessInstanceComment

ArchivedProcessInstanceComment

Finds ArchivedProcessInstanceComments

Finds ArchivedProcessInstanceComments with pagination params and filters

  • can order on id
  • can search on displayName
  • can filter on displayName
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Process

Deploy and manage process definitions. In addition, you can instantiate a process, which will create a new process instance (case).

Finds Processes

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Process Deprecated

Create the Process. A process resource is created using the content of a .bar file that has previously been uploaded, using the processUpload servlet, to get the process archive path.

Warning: as of 9.0.0, creating a process using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Process description

fileupload
string

the bar file to deploy (previously uploaded in tmp folder)

Responses

Request samples

Content type
application/json
{
  • "fileupload": "tmp_4431838172282406107.bar"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "icon": "string",
  • "displayDescription": "string",
  • "deploymentDate": "string",
  • "description": "string",
  • "activationState": "ENABLED",
  • "name": "string",
  • "deployedBy": "string",
  • "displayName": "string",
  • "actorinitiatorid": "string",
  • "last_update_date": "string",
  • "configurationState": "RESOLVED",
  • "version": "string"
}

Delete the Process by IDs

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.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "1",
  • "2",
  • "3"
]

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Process by ID

Returns the single Process for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Process to return

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "icon": "string",
  • "displayDescription": "string",
  • "deploymentDate": "string",
  • "description": "string",
  • "activationState": "ENABLED",
  • "name": "string",
  • "deployedBy": "string",
  • "displayName": "string",
  • "actorinitiatorid": "string",
  • "last_update_date": "string",
  • "configurationState": "RESOLVED",
  • "version": "string"
}

Update the Process by ID Deprecated

Update the Process for the given ID

Warning: as of 9.0.0, updating a process using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Process to return

Request Body schema: application/json

Partial Process description

displaydescription
string

description of the Process

displayName
string

display name of the Process

activationState
string (ActivationState)
Enum: "ENABLED" "DISABLED"

the state of the process definition (ENABLED or DISABLED)

Responses

Request samples

Content type
application/json
{
  • "displayName": "Leave booking process"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the Process by ID

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.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Process to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Process design by ID

Returns the single Process design for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Process to get the design from

Responses

Response samples

Content type
application/json
{
  • "displayName": "string",
  • "displayDescription": "string",
  • "flowElementContainer": {
    },
  • "parameters": [
    ],
  • "actorsList": [
    ],
  • "actorInitiator": {
    },
  • "stringIndexLabels": [
    ],
  • "stringIndexValues": [
    ],
  • "contract": {
    },
  • "context": [
    ]
}

Finds the Process contract by ID

Returns the process contract for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Process to get the contract from

Responses

Response samples

Content type
application/json
{
  • "constraints": [
    ],
  • "inputs": [
    ]
}

Instanciate the process

Instanciate the process with the provided contract values.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the process to instanciate

Request Body schema: application/json

A JSON object matching process contract.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "ticket_account": "CustomerA",
  • "ticket_description": "issue description",
  • "ticket_subject": "Issue 1"
}

Response samples

Content type
application/json
{
  • "caseId": "12345678"
}

Update the Process Connector by Process ID Deprecated

edition

Update the ProcessConnector for the given ID

Warning: as of 9.0.0, updating a Process Connector using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the process to update

connectorImplId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Process Connector implementation to update

connectorImplVersion
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

Version of the Process Connector implementation to update

Request Body schema: application/json

Partial ProcessConnector description

id
string

Id of the process for which to update the connector, combined with connector name and version separated by slashes (x/y/z)

implementation
string

Previously uploaded temp file name of the updated version of the connector (returned by the upload file api)

Responses

Request samples

Content type
application/json
{
  • "id": "8491796209115952722/scripting-groovy-script/1.0.1",
  • "implementation": "tmp_7006630415905915150.zip"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload a bar file Deprecated

Upload a bar file

Warning: as of 9.0.0, uploading a bar file using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Diagram

Diagram

Finds the diagram process by ID

edition

Use the diagram resource to access the process diagram xml representation. This is necessary for drawing the diagram.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the process to get the diagram from

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ProcessInfo

ProcessInfo

Finds the ProcessInfo by ID

Since 2022.2 edition

Returns the single ProcessInfo for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProcessInfo to return

Responses

Response samples

Content type
application/json
{
  • "processDefinitionId": 123,
  • "flowNodeStatesCounters": {
    }
}

ProcessParameter

ProcessParameter

Finds ProcessParameters

Finds ProcessParameters with pagination params and filters.

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ProcessParameter by ID

Returns the single ProcessParameter for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the process to get parameter from

name
required
string <= 250 characters ^[A-Za-z0-9\_\-\.\s]{0,250}$

Name of the process parameter to return

Responses

Response samples

Content type
application/json
{
  • "process_id": 4880205209556179000,
  • "process_name": "myProcessName",
  • "description": "myProcessDescription",
  • "name": "myParameterName",
  • "value": "myParameterValue",
  • "process_version": "1.0",
  • "type": "java.lang.String"
}

Update the ProcessParameter by ID Deprecated

edition

Update the ProcessParameter for the given ID

Warning: as of 9.0.0, importing a Process parameter using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the process to get parameter from

name
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

Name of the process parameter to return

Request Body schema: application/json

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.

value
string

value of the Process Parameter

Responses

Request samples

Content type
application/json
{
  • "value": "myNewValue"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ProcessResolutionProblem

ProcessResolutionProblem

Finds ProcessResolutionProblems

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.

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ProcessSupervisor

ProcessSupervisor

Finds ProcessSupervisors

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

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProcessSupervisor

Create the ProcessSupervisor

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

The process definition id and either the user, role and/or group id.

process_id
string

Id of the process

role_id
string

Id of role, or -1 if the supervisor type is not role or membership

group_id
string

Id of group, or -1 if the supervisor type is not group or membership

user_id
string

Id of user, or -1 if the supervisor type is not user

Responses

Request samples

Content type
application/json
{
  • "process_id": "5777042023671752656",
  • "user_id": "11"
}

Response samples

Content type
application/json
{
  • "process_id": 8040901857674754000,
  • "user_id": 2,
  • "role_id": -1,
  • "group_id": -1
}

Delete the ProcessSupervisor by ID

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

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

The process definition id and either the user, role and/or group id.

Array
string

Responses

Request samples

Content type
application/json
[
  • "8040901857674754544/11/-1/-1",
  • "8040901857674754544/12/-1/-1"
]

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ProcessConnectorDependency

ProcessConnectorDependency

Finds ProcessConnectorDependencies

Finds ProcessConnectorDependencies with pagination params and filters

Mandatory filters: connector_process_id, connector_name, connector_version

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ConnectorFailure

ConnectorFailure

Finds the ConnectorFailure by ID

Returns the single ConnectorFailure for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ConnectorFailure to return

Responses

Response samples

Content type
application/json
{
  • "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

ConnectorInstance

Finds ConnectorInstances

Finds ConnectorInstances with pagination params and filters. Retrieve a list of connector instances attached to a process or a flow node.

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ArchivedConnectorInstance

ArchivedConnectorInstance

Finds ArchivedConnectorInstances

Finds ArchivedConnectorInstances with pagination params and filters

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

FlowNode

FlowNode

Finds FlowNodes

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the FlowNode by ID

Returns the single FlowNode for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the FlowNode to return

Responses

Response samples

Content type
application/json
{
  • "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"
}

Update the FlowNode by ID

edition

Replay the flow node for the given ID.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the FlowNode to return

Request Body schema: application/json

Replay the flow node.

state
string

state of the FlowNode

Responses

Request samples

Content type
application/json
{
  • "state": "replay"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ArchivedFlowNode

ArchivedFlowNode

Finds ArchivedFlowNodes

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
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the ArchivedFlowNode by ID

Returns the single ArchivedFlowNode for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ArchivedFlowNode to return

Responses

Response samples

Content type
application/json
{
  • "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",
  • "sourceObjectId": "string",
  • "archivedDate": "string"
}

TimerEventTrigger

TimerEventTrigger

Finds TimerEventTriggers

Finds TimerEventTriggers with pagination params and filters

  • can order on id
  • can search on displayName
  • can filter on displayName
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

caseId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

the process instance id

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Finds the TimerEventTrigger by ID

Returns the single TimerEventTrigger for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the TimerEventTrigger to return

Responses

Response samples

Content type
application/json
{
  • "id": 4015,
  • "id_string": "4015",
  • "eventInstanceId": 2,
  • "eventInstanceId_string": "2",
  • "executionDate": 1413980484194,
  • "eventInstanceName": "Timer1"
}

Update the TimerEventTrigger by ID

Update the TimerEventTrigger for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the TimerEventTrigger to return

Request Body schema: application/json

a long value with attribute name "executionDate"

executionDate
integer <int64>

executionDate of the TimerEventTrigger

Responses

Request samples

Content type
application/json
{
  • "executionDate": 1433980484194
}

Response samples

Content type
application/json
{
  • "executionDate": 1433980484194
}

Message

Message

Send BPM message events

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).

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

A Message event

messageName
string

the message name

targetProcess
string

the target process name

targetFlowNode
string

the target FlowNode name

object

the message content

object <= 5 items

the message correlations

Responses

Request samples

Content type
application/json
{
  • "messageName": "string",
  • "targetProcess": "string",
  • "targetFlowNode": "string",
  • "messageContent": {
    },
  • "correlations": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Signal

Broadcast BPM signal events

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).

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

A Signal event

name
string

the signal name

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

CustomUserDefinition

CustomUserDefinition

Finds CustomUserDefinitions

Finds CustomUserDefinitions. There are no filters, and no search terms. All the definitions are returned.

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the CustomUserDefinition

Create the CustomUserDefinition

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial CustomUserDefinition description

name
string

definition name

description
string

definition description

Responses

Request samples

Content type
application/json
{
  • "name": "skill",
  • "description": "Team player"
}

Response samples

Content type
application/json
{
  • "id": 101,
  • "name": "skill",
  • "description": "Team player"
}

Finds the CustomUserDefinition by ID

Returns the single CustomUserDefinition for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the CustomUserDefinition to return

Responses

Response samples

Content type
application/json
{
  • "id": 101,
  • "name": "skill",
  • "description": "Team player"
}

Delete the CustomUserDefinition by ID

Delete the single CustomUserDefinition for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the CustomUserDefinition to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

CustomUserValue

CustomUserValue

Finds CustomUserValues

Finds CustomUserValues with pagination params and filters

You can filter on userId, value, definitionId

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update the CustomUserValue by ID

Update the CustomUserValue for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
userId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

User ID

definitionId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

definition ID

Request Body schema: application/json

Custom user defition Value

value
string

new value to set

Responses

Request samples

Content type
application/json
{
  • "value": "My new value"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

CustomUser

CustomUser

Finds CustomUsers

Finds CustomUsers with pagination params and filters

The filter userId is mandatory

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ProfessionalContactData

ProfessionalContactData

Finds ProfessionalContactData

Finds ProfessionalContactData with pagination params and filters

  • can order on id
  • can search on displayName
  • can filter on displayName
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProfessionalContactData

Create the ProfessionalContactData

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial ProfessionalContactData description including the user ID

id
required
string

user ID

fax_number
string

fax number

building
string

building

phone_number
string

phone number

website
string

website

zipcode
string

zipcode

state
string

state

city
string

city

country
string

country

mobile_number
string

mobile phone number

address
string

address

room
string

room

email
string

email

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "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": ""
}

Finds the ProfessionalContactData by ID

Returns the single ProfessionalContactData for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
userId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

User ID of the ProfessionalContactData to return

Responses

Response samples

Content type
application/json
{
  • "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": ""
}

Update the ProfessionalContactData by ID

Update the ProfessionalContactData for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
userId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

User ID of the ProfessionalContactData to update

Request Body schema: application/json

Partial ProfessionalContactData description including the user ID

id
required
string

user ID

fax_number
string

fax number

building
string

building

phone_number
string

phone number

website
string

website

zipcode
string

zipcode

state
string

state

city
string

city

country
string

country

mobile_number
string

mobile phone number

address
string

address

room
string

room

email
string

email

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the PersonalContactData by ID

Returns the single PersonalContactData for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
userId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

User ID of the PersonalContactData to return

Responses

Response samples

Content type
application/json
{
  • "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": ""
}

Update the PersonalContactData by ID

Update the PersonalContactData for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
userId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

User ID of the PersonalContactData to update

Request Body schema: application/json

Partial PersonalContactData description including the user ID

id
required
string

user ID

fax_number
string

fax number

building
string

building

phone_number
string

phone number

website
string

website

zipcode
string

zipcode

state
string

state

city
string

city

country
string

country

mobile_number
string

mobile phone number

address
string

address

room
string

room

email
string

email

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Group

The group a user belongs to. Groups have a hierarchy (subgroups can be created inside a group).

Finds Groups

Finds Groups with pagination params and filters.

  • can order on id,name,displayName
  • can filter on name,displayName,parent_path
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Group

Create the Group

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Group description

name
required
string

name

displayName
string

display name

parent_group_id
string

the id of the parent group of this group (empty if the group has no parent)

description
string

description

icon
string

icon path

Responses

Request samples

Content type
application/json
{
  • "icon": "",
  • "name": "HR",
  • "displayName": "Human Resources",
  • "description": "Human resources department"
}

Response samples

Content type
application/json
{
  • "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"
}

Finds the Group by ID

Returns the single Group for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Group to return

Responses

Response samples

Content type
application/json
{
  • "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"
}

Update the Group by ID

Update the Group for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Group to return

Request Body schema: application/json

Partial Group description

name
required
string

name

displayName
string

display name

parent_group_id
string

the id of the parent group of this group (empty if the group has no parent)

description
string

description

icon
string

icon path

Responses

Request samples

Content type
application/json
{
  • "name": "HR",
  • "displayName": "Humman resources"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the Group by ID

Delete the single Group for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Group to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Membership

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.

Finds Memberships

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

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Membership

Create the Membership

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Membership description

role_id
required
string

id of the role of this membership

group_id
required
string

id of the group of this membership

user_id
required
string

id of the user in this membership

Responses

Request samples

Content type
application/json
{
  • "user_id": "4",
  • "group_id": "5",
  • "role_id": "1"
}

Response samples

Content type
application/json
{
  • "assigned_date": "2014-12-02 17:57:09.315",
  • "role_id"": 4,
  • "assigned_by_user_id": 12,
  • "group_id": 5,
  • "user_id": 125
}

Delete the Membership by ID

Delete a membership of a user using the group id and role id.

Authorizations:
(bonita_authbonita_token)
path Parameters
userId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

User ID of the Membership to delete

groupId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

Group ID of the Membership to delete

roleId
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

Role ID of the Membership to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Role

Role

Finds Roles

Finds Roles with pagination params and filters

  • can order on id, name and displayName
  • can filter on name and displayName
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Role

Create the Role

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Role description

name
required
string

name

displayName
string

display name

description
string

description

icon
string

icon path

Responses

Request samples

Content type
application/json
{
  • "icon": "",
  • "name": "manager",
  • "displayName": "department manager",
  • "description": "manager of the department"
}

Response samples

Content type
application/json
{
  • "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"
}

Finds the Role by ID

Returns the single Role for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Role to return

Responses

Response samples

Content type
application/json
{
  • "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"
}

Update the Role by ID

Update the Role for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Role to return

Request Body schema: application/json

Partial Role description

name
required
string

name

displayName
string

display name

description
string

description

icon
string

icon path

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "icon": "string"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the Role by ID

Delete the single Role for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Role to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

User

User

Finds Users

Finds Users with pagination params and filters

  • can order on id
  • can search on displayName
  • can filter on displayName
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the User

Create the User

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial User description

userName
required
string

user name

password
required
string <password>

user password

password_confirm
required
string <password>

user password confirmation

firstname
required
string

user last name

lastname
required
string

user last name

enabled
required
string

true|false if the user is enabled or not

icon
string

bonita icon path (ie. /default/icon_user.png)

title
string

user title

job_title
string

user job title

manager_id
string

user manager id

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "enabled": "string",
  • "userName": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "password": "pa$$word",
  • "icon": "string",
  • "title": "string",
  • "job_title": "string",
  • "manager_id": "string",
  • "last_connection": "string",
  • "created_by_user_id": "string",
  • "creation_date": "string",
  • "last_update_date": "string"
}

Finds the User by ID

Returns the single User for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the User to return

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "enabled": "string",
  • "userName": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "password": "pa$$word",
  • "icon": "string",
  • "title": "string",
  • "job_title": "string",
  • "manager_id": "string",
  • "last_connection": "string",
  • "created_by_user_id": "string",
  • "creation_date": "string",
  • "last_update_date": "string"
}

Update the User by ID

Update the User for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the User to return

Request Body schema: application/json

Partial User description

enabled
string

if "true", user will be activated.

userName
string

user name

firstname
string

user last name

lastname
string

user last name

password
string <password>

user password

icon
string

bonita icon path (ie. /default/icon_user.png)

title
string

user title

job_title
string

user job title

manager_id
string

user manager id

Responses

Request samples

Content type
application/json
{
  • "enabled": "string",
  • "userName": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "password": "pa$$word",
  • "icon": "string",
  • "title": "string",
  • "job_title": "string",
  • "manager_id": "string"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the User by ID

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

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the User to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Authentication

Login

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

Request Body schema: application/x-www-form-urlencoded
username
required
string

the username

password
required
string <password>

the password

tenant
string

the user tenant

redirect
string
Default: "false"

"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
string or null
Default: ""

the URL of the page to be displayed after login

Responses

Request samples

# 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: <token>' \
--url 'http://localhost:8080/bonita/API/bpm/process?c=100&p=0'

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Logout the current user

Logout the current user from the system

Authorizations:
(bonita_authbonita_token)
query Parameters
redirect
string <= 5 characters ^(?:tru|fals)e$
Example: redirect=false

Setting the redirect parameter to false indicates that the service should not redirect to the login page after logging out.

Responses

Request samples

curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/logoutservice?redirect=false'

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Platform Authentication

Platform Authentication

Platform Login

The username and password are in bonita-platform-community-custom.properties file.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/x-www-form-urlencoded
username
string

the username

password
string <password>

the password

redirect
string

"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).

Responses

Request samples

Content type
application/x-www-form-urlencoded
username=install&password=install&redirect=false

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Platform Logout

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Platform

The Platform API resources require a platform session. In order to get one, log in as the platform administrator using the platform login service.

Platform Login

The username and password are in bonita-platform-community-custom.properties file.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/x-www-form-urlencoded
username
string

the username

password
string <password>

the password

redirect
string

"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).

Responses

Request samples

Content type
application/x-www-form-urlencoded
username=install&password=install&redirect=false

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Platform Logout

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds the Platform by ID

Returns the current Platform

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "createdBy": "platformAdmin",
  • "created": "2014-12-04 15:46:46.065",
  • "initialVersion": "6.4.0",
  • "state": "STARTED",
  • "previousVersion": "",
  • "version": "6.4.0"
}

Update the Platform by ID

Start or stop the current node, that is, start or stop all services of the current JVM.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Start or stop all services of the current JVM.

state
string
Enum: "start" "stop"

Platform state

Responses

Request samples

Content type
application/json
{
  • "state": "stop"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

PlatformTenant

PlatformTenant

Tenant

Handle the tenants (Enterprise editions only). This requires a platform session. Log in using the platform login service.

Finds Tenants Deprecated

edition

Finds Tenants with pagination params and filters

  • can order on id
  • can search on displayName
  • can filter on displayName

Warning: Since Bonita 7.12, multi-tenancy is deprecated

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Tenant Deprecated

edition

Create the Tenant.

Warning: Since Bonita 7.12, multi-tenancy is deprecated. Creating new tenants is strongly discouraged.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Tenant description

name
string

the name of the tenant

description
string

the description

username
string

the username

password
string <password>

the password

Responses

Request samples

Content type
application/json
{
  • "name": "MyTenant",
  • "description": "My tenant",
  • "username": "john",
  • "password": "bpm"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "creation": "2014-12-04 15:46:46.256",
  • "icon": "/default.png",
  • "username": "",
  • "description": "Default tenant",
  • "name": "default",
  • "state": "ACTIVATED",
  • "password": ""
}

Finds the Tenant by ID Deprecated

edition

Returns the single Tenant for the given ID Warning: Since Bonita 7.12, multi-tenancy is deprecated

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Tenant to return

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "creation": "2014-12-04 15:46:46.256",
  • "icon": "/default.png",
  • "username": "",
  • "description": "Default tenant",
  • "name": "default",
  • "state": "ACTIVATED",
  • "password": ""
}

Update the Tenant by ID Deprecated

edition edition

Update a Tenant

Warning: Since Bonita 7.12, multi-tenancy is deprecated

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Tenant to update. In Subscription edition, it is mandatory; not in Community edition, as there is only one tenant

Request Body schema: application/json

Partial Tenant description

name
string

the name of the tenant

description
string

the description

username
string

the username

password
string <password>

the password

icon
string

the path of the icon

state
string
Enum: "ACTIVATED" "DEACTIVATED"

the tenant state

Responses

Request samples

Content type
application/json
{
  • "name": "MyTenant",
  • "description": "My new tenant description",
  • "username": "john",
  • "password": "bpm",
  • "icon": "/default.png",
  • "state": "ACTIVATED"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the Tenant by ID Deprecated

edition

Delete the single Tenant for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Tenant to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

License

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.

Get the platform License

Returns the current platform License. This requires a platform session. Log in using the platform login service.

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "licenseStartDate": "string",
  • "duration": "string",
  • "licenseExpirationDate": "string",
  • "numberOfCPUCores": "string",
  • "edition": "string",
  • "licenseMode": "string",
  • "requestKey": "string",
  • "subscriptionStartPeriod": "string",
  • "subscriptionEndPeriod": "string",
  • "caseCounterLimit": 0,
  • "caseCounter": 0
}

Get the current server license

Returns license information for the current server

Authorizations:
(bonita_authbonita_token)

Responses

Response samples

Content type
application/json
{
  • "owner": "string",
  • "edition": "string",
  • "nb_cpu_cores": "string",
  • "expirationDate": 0
}

Page

Use the page resource to access custom pages, UI Designer pages, layouts or forms and REST API extensions.

Upload a Page Deprecated

Upload Page

Warning: as of 9.0.0, uploading a page using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Finds Pages

Finds Pages with pagination params and filters

  • can search on displayName,description
  • can filter on createdBy,contentType
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Page Deprecated

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.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Zip name as named in the temp folder after upload

pageZip
string

Zip name as named in the temp folder after upload

Responses

Request samples

Content type
application/json
{
  • "pageZip": "tmp_4338264789005487499.zip:new-bonita-angular-dashboard.zip"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "creationDate": "string",
  • "createdBy": "string",
  • "isProvided": true,
  • "description": "string",
  • "contentName": "string",
  • "displayName": "string",
  • "updatedBy": "string",
  • "lastUpdateDate": "string",
  • "urlToken": "string"
}

Finds the Page by ID

Returns the single Page for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Page to return

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "creationDate": "string",
  • "createdBy": "string",
  • "isProvided": true,
  • "description": "string",
  • "contentName": "string",
  • "displayName": "string",
  • "updatedBy": "string",
  • "lastUpdateDate": "string",
  • "urlToken": "string"
}

Update the Page by ID Deprecated

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.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Page to return

Request Body schema: application/json

Partial Page description

pageZip
string

pageZip as named in the temp folder after upload

Responses

Request samples

Content type
application/json
{
  • "pageZip": "tmp_4338264789005487499.zip:new-bonita-angular-dashboard.zip"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the Page by ID

Delete the single Page for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Page to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Profile

Profile

Finds Profiles

Finds Profiles with pagination params and filters

  • can search on name
  • can filter on name,hasNavigation
  • can order on name
Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

o
string <= 250 characters ^[A-Za-z0-9%]{0,250}$
Example: o=myProp%20ASC

can order on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the Profile Deprecated

edition

Create the Profile

Warning: as of 9.0.0, creating profiles using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Profile description

description
string

a description of the profile

name
string

profile name

Responses

Request samples

Content type
application/json
{
  • "name": "MyCustomProfile",
  • "description": "This is my custom profile"
}

Response samples

Content type
application/json
{
  • "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
}

Finds the Profile by ID

Returns the single Profile for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Profile to return

Responses

Response samples

Content type
application/json
{
  • "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
}

Update the Profile by ID Deprecated

edition

Update the Profile for the given ID

Warning: as of 9.0.0, updating a profile using this API is deprecated.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Profile to return

Request Body schema: application/json

Partial Profile description

description
string

description of the Profile

displayName
string

display name of the Profile

Responses

Request samples

Content type
application/json
{
  • "displayName": "My app",
  • "description": "My application description"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the Profile by ID

Delete the single Profile for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the Profile to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload profiles Deprecated

edition

Upload profiles

Warning: as of 9.0.0, uploading profiles using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Import profiles Deprecated

Import profiles

Warning: as of 9.0.0, importing profiles using this service is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/x-www-form-urlencoded
profilesDataUpload
string

Uploaded file

importPolicy
string

Import policy

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ProfileEntry

ProfileEntry

Finds ProfileEntries Deprecated

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

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

s
string <= 250 characters ^[A-Za-z0-9%]{0,250}$

can search on attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProfileEntry Deprecated

Create the ProfileEntry Warning: Since Bonita 7.13, ProfileEntry is deprecated

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial ProfileEntry description

profile_id
string

id of the profile that contains this profileEntry

page
string

pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry

description
string

description

name
string

name of the profileEntry

type
string

link (if menu item) | folder (if menu)

isCustom
boolean

true | false

parent_id
string

id or parent profileEntry if in a folder

Responses

Request samples

Content type
application/json
{
  • "page": "tasklistingadmin",
  • "parent_id": "0",
  • "name": "Test menu",
  • "profile_id": "102",
  • "type": "link",
  • "isCustom": false
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "icon": "string",
  • "index": "string",
  • "profile_id": "string",
  • "page": "string",
  • "description": "string",
  • "name": "string",
  • "type": "string",
  • "isCustom": true,
  • "parent_id": "string"
}

Finds the ProfileEntry by ID Deprecated

Returns the single ProfileEntry for the given ID Warning: Since Bonita 7.13, ProfileEntry is deprecated

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProfileEntry to return

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "icon": "string",
  • "index": "string",
  • "profile_id": "string",
  • "page": "string",
  • "description": "string",
  • "name": "string",
  • "type": "string",
  • "isCustom": true,
  • "parent_id": "string"
}

Update the ProfileEntry by ID Deprecated

Update the ProfileEntry for the given ID Warning: Since Bonita 7.13, ProfileEntry is deprecated

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProfileEntry to return

Request Body schema: application/json

Partial ProfileEntry description

profile_id
string

id of the profile that contains this profileEntry

page
string

pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry

description
string

description

name
string

name of the profileEntry

type
string

link (if menu item) | folder (if menu)

isCustom
boolean

true | false

parent_id
string

id or parent profileEntry if in a folder

Responses

Request samples

Content type
application/json
{
  • "page": "tasklistingadmin",
  • "parent_id": "0",
  • "name": "Test menu",
  • "profile_id": "102",
  • "type": "link",
  • "isCustom": false
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Delete the ProfileEntry by ID Deprecated

Delete the single ProfileEntry for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProfileEntry to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

ProfileMember

ProfileMember

Finds ProfileMembers

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

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create the ProfileMember

Create the ProfileMember

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial ProfileMember description

profile_id
string

id of the profile for this mapping

role_id
string

id of role, or -1 if the member type is not role

group_id
string

id of group, or -1 if the member type is not group

user_id
string

id of user, or -1 if the member type is not user

member_type
string
Enum: "USER" "ROLE" "GROUP"

member type

Responses

Request samples

Content type
application/json
{
  • "profile_id": "2",
  • "member_type": "USER",
  • "user_id": "101"
}

Response samples

Content type
application/json
{
  • "id": 204,
  • "profile_id": 2,
  • "role_id": -1,
  • "group_id": -1,
  • "user_id": 101
}

Finds the ProfileMember by ID

Returns the single ProfileMember for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string

ID of the ProfileMember to return

Responses

Response samples

Content type
application/json
{
  • "id": 204,
  • "profile_id": 2,
  • "role_id": -1,
  • "group_id": -1,
  • "user_id": 101
}

Delete the ProfileMember by ID

Delete the single ProfileMember for the given ID

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the ProfileMember to delete

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Theme

Theme

Create the Theme Deprecated

Create the Theme Warning: Since Bonita 7.13, theme management is deprecated

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Theme description

type
string
Enum: "portal" "mobile"

theme type

zipFilePathportal
string

tmp zip file Path as uploaded to portal

Responses

Request samples

Content type
application/json
{
  • "type": "portal",
  • "zipFilePathportal": "tmp_1939634566964075173.zip"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Restore default Theme Deprecated

Restore the default theme Warning: Since Bonita 7.13, theme management is deprecated

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Partial Theme description

type
string
Enum: "portal" "mobile"

theme type

Responses

Request samples

Content type
application/json
{
  • "type": "portal"
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload

Upload a living application Deprecated

Upload application

Warning: as of 9.0.0, uploading a living application using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload a BDM Access Control Deprecated

edition

Upload BDM Access Control

Warning: as of 9.0.0, uploading a BDM Access Control using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
text/plain
tmp_accessControlFileToUpload.xml

Upload a bar file Deprecated

Upload a bar file

Warning: as of 9.0.0, uploading a bar file using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload a Page Deprecated

Upload Page

Warning: as of 9.0.0, uploading a page using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload a file

Upload file.

NOTE: If this file is a BDM zip, to do this, your tenant services need to be paused. In Enterprise editions, if you have an access control file installed on your tenant, you need to delete it before installing or updating your BDM.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Import an organization

Upload organization

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload profiles Deprecated

edition

Upload profiles

Warning: as of 9.0.0, uploading profiles using the portal is deprecated.

Authorizations:
(bonita_authbonita_token)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

I18nlocale

I18nlocale

Finds I18nlocales

List the available I18nlocales with pagination params and filters

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

I18nTranslation

I18nTranslation

Finds I18ntranslations

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

Authorizations:
(bonita_authbonita_token)
query Parameters
p
required
integer <int32> >= 0
Default: 0
Example: p=0

index of the page to display

c
required
integer <int32> >= 1
Default: 20
Example: c=10

maximum number of elements to retrieve

f
Array of strings[ items <= 250 characters ^[A-Za-z0-9%]{0,250}$ ]
Example: f=abc%3d123

can filter on attributes with the format f={filter_name}={filter_value} with the name/value pair as url encoded string.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Session

Session

Get the current user session

Returns session information for the current user

Authorizations:
(bonita_authbonita_token)

Responses

Request samples

curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/session/unusedId'

Response samples

Content type
application/json
{
  • "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": "Bonitasoft © 2020"
}

Maintenance

Get the maintenance details

Returns maintenance details of the platform

Authorizations:
(bonita_authbonita_token)

Responses

Request samples

curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/maintenance'

Response samples

Content type
application/json
{
  • "maintenanceState": "DISABLED",
  • "maintenanceMessage": "maintenance msg",
  • "maintenanceMessageActive": true
}

Update the maintenance details

Update maintenance details

Authorizations:
(bonita_authbonita_token)
Request Body schema: application/json

Maintenance details; One or all attributes can be updated

maintenanceState
string
Enum: "ENABLED" "DISABLED"

maintenance state

maintenanceMessage
string

maintenance message

maintenanceMessageActive
boolean

is maintenance message active

Responses

Request samples

Content type
application/json
{
  • "maintenanceState": "DISABLED",
  • "maintenanceMessage": "maintenance msg",
  • "maintenanceMessageActive": true
}

Response samples

Content type
application/json
{
  • "maintenanceState": "DISABLED",
  • "maintenanceMessage": "maintenance msg",
  • "maintenanceMessageActive": true
}

SystemTenant

SystemTenant

Get the current Tenant Deprecated

Pause and resume tenant services in order to do maintenance on a tenant.

Warning: since Bonita 9.0.0, /API/system/tenant API resource is deprecated. Use /API/system/maintenance instead to retrieve the maintenance state.

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the tenant

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "paused": false
}

Update the current Tenant Deprecated

Pause or resume the current tenant.

Warning: since Bonita 9.0.0, /API/system/tenant API resource is deprecated. Use /API/system/maintenance instead to enable the maintenance mode (same behavior as pausing the tenant).

Authorizations:
(bonita_authbonita_token)
path Parameters
id
required
string <= 250 characters ^[A-Za-z0-9\_\-\.]{0,250}$

ID of the tenant

Request Body schema: application/json

Partial SystemTenant description

paused
string

wether the system tenant should be paused or not

Responses

Request samples

Content type
application/json
{
  • "paused": true
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

API extensions

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).