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
[
  • {