openapi: 3.2.0
info:
license:
name: GPL-v2.0
url: http://www.gnu.org/licenses/gpl-2.0.txt
version: 1.0.9
title: Bonita Process API
description: "
\nDownload OpenAPI specification\nDownload Postman collection\n
\n\n
\n\nThe REST API lets you access the data with HTTP requests; it is useful when implementing rich web forms / pages for a good user experience.\n\nAn open source [java client](https://github.com/bonitasoft/bonita-java-client) is implemented above the HTTP API. It is available on [Maven central](https://search.maven.org/search?q=g:%22org.bonitasoft.web%22%20AND%20a:%22bonita-java-client%22).\n\nIf 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\naccess to all Bonita objects (like processes, tasks, users, connectors etc.), to execute operations on them (create, retrieve, update, delete).\nYou can use these operations to create a workflow with Bonita and integrate it into your application. The Bonita Engine remains responsible for executing\nthe workflow logic (connectors, gateways with conditions, messages, timers etc.) while your application gives access to the workflow.\nUsers can manage processes and tasks, and perform administrative activities.\n\n### API Extensions\n\nYou can create [Rest API Extensions](https://documentation.ofelia.com/bonita/latest/api/rest-api-extensions) to extend the Rest API by adding missing resources (not provided by the Rest API).\nIt 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).\n\n### Create a resource\n\n| Request URL | `http://.../API/{API_name}/{resource_name}/ `|\n|:-|:-|\n| Request Method | POST|\n| Request Payload | an item in JSON|\n| Response | the same item in JSON, containing the values provided in the posted item, completed with default values and identifiers provided by Bonita Engine.|\n\n### Read a resource\n\n| Request URL | `http://.../API/{API_name}/{resource_name}/{id} `|\n|:-|:-|\n| Request Method | GET|\n| Response | an item in JSON|\n\nExample `http://.../API/identity/user/5 `\n\n#### Extend resource response\n\nOn 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.\nThis means that instead of retrieving the ID or a parent or referenced resource, you can retrieve the full object.\n\nFor 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.\nThe supported deploy values for a task include its process (d=processId).\n\nSpecifiy 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`\n\n#### With compound identifier\n\nThe order of the identifier parts for each resource type is given in the table above.\n\n| Request URL | `http://.../API/{API_name}/{resource_name}/{id_part1}/{id_part2} `|\n|:-|:-|\n| Request Method | GET|\n| Response | an item in JSON|\n\nExample `http://.../API/identity/membership/5/12/24 `\n\n### Update a resource\n\n| Request URL | `http://.../API/{API_name}/{resource_name}/{id} `|\n|:-|:-|\n| Request Method | PUT|\n| Request Payload | a map in JSON containing the new values for the attributes you want to change.|\n| Response | the corresponding item in JSON with new values where you requested a modification|\n\nExample `http://.../API/identity/user/5`\n\n#### With compound identifier:\n\nResponse: the corresponding item in JSON with new values where you requested a modification.\n\n| Request URL | `http://.../API/{API_name}/{resource_name}/{id_part1}/{id_part2} `|\n|:-|:-|\n| Request Method | PUT|\n| Request Payload | ` a map in JSON containing the new values for the attributes you want to change `|\n| Response | ` the corresponding item in JSON with new values where you requested a modification`|\n\nExample\n`http://.../API/identity/membership/5/12/24 `\n\n### Delete resources\n\nUse the DELETE request to remove multiple resources.\n\n| Request URL | `http://.../API/{API_name}/{resource_name}/ `|\n|:-|:-|\n| Request Method | DELETE|\n| Request Payload | A list of identifiers in JSON, for example `[\"id1\",\"id2\",\"id3\"]`. Compound identifiers are separated by '/' characters.|\n| Response | `empty `|\n\nExample\n`http://.../API/identity/membership/ `\n\n### Search for a resource\n\nThe required object is specified with a set of filters in the request URL. The URL parameters must be URL-encoded.\n\nResults 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.\nIf you are searching for business data using a custom query, there must be a [count query in the BDM](https://documentation.ofelia.com/bonita/latest/data/define-and-deploy-the-bdm). If there is no count query, results from a custom query on business data cannot be paged properly (the header Content-Range will be absent).\nFor business data default queries, the count query is defined automatically.\n\nThe available filters are the attributes of the item plus some specific filters defined by each item.\n\n| Request URL | `http://.../API/{API_name}/{resource_name}?p={page}&c={count}&o={order}&s={query}&f={filter_name}={filter_value}&f=... `|\n|:-|:-|\n| Request Method | GET|\n| Response | an array of items in JSON|\n\nExample\n`/API/identity/user?p=0&c=10&o=firstname&s=test&f=manager_id=3`\n\nFor a GET method that retrieves more than one instance of a resource, you can specify the following request parameters:\n\n* p (Mandatory): index of the page to display\n* c (Mandatory): maximum number of elements to retrieve\n* 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.\n* 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.\n The attributes you can filter on are specific to the resource.\n* s: search on name or search indexes. Before Bonita 2024.1, the matching policy depended on the configuration of [word-based search](https://documentation.ofelia.com/bonita/2023.2/api/using-list-and-search-methods#word_based_search).\n For example, if word-based search was enabled, `s=Valid` returned matches containing the string \"valid\" at the start of any word in the attribute value word,\n such as \"Valid address\", \"Not a valid address\", and \"Validated request\" but not \"Invalid request\".\n If word-based search was disabled, `s=Valid` returned matches containing the string \"valid\" at the start of the attribute value, such as \"Valid address\" or \"Validated request\" but not \"Not a valid address\" or \"Invalid request\".\n Since Bonita 2024.1, the search mode can no longer be configured and a \"like-based\" algorithm is used. This means all the matching records for which the search term occurs anywhere in a phrase or a word are returned.\n\n### Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure of the API call.\n\nIf you get a `401` response code :\n - make sure that the cookies have been transfered with the call\n - make sure that the cookies transfered are the ones generated during the last sucessfull login call\n - if one of the PUT, DELETE or POST method is used, make sure that the `X-Bonita-API-Token` header is included\n - 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\n - 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.\n"
x-logo:
url: images/ofelia-logo.svg
backgroundColor: '#19465f'
altText: Bonita API
href: /
servers:
- url: http://localhost:8080/bonita
description: Sample url for a local development server.
security:
- bonita_auth: []
bonita_token: []
- bearer_auth: []
tags:
- name: Process
x-displayName: Process
description: Deploy and manage process definitions. In addition, you can instantiate a process, which will create a new process instance (case).
paths:
/API/bpm/process:
get:
tags:
- Process
summary: Finds Processes
description: 'Finds Processes with pagination params and filters
- can order (default is ASC) on `name`, `version`, `deploymentDate`, `deployedBy`, `activationState`, `configurationState`, `processId`, `displayName`, `lastUpdateDate`, `categoryId`, `label`
- can search on `name`, `displayName` or `version`
- can filter on `name`, `version`, `deploymentDate`, `deployedBy`, `activationState` with the value DISABLED or ENABLED, `configurationState` with the value UNRESOLVED, or RESOLVED, `processId`, `displayName`, `lastUpdateDate`, `categoryId`, `label`, `supervisor_id`
'
operationId: searchProcesses
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: 'Success '
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
post:
tags:
- Process
summary: Create the Process
deprecated: true
description: 'Create the Process.
A process resource is created using the content of a .bar file that has previously been uploaded, using the [processUpload servlet](#operation/uploadProcess), to get the process archive path.
Warning: as of 9.0.0, creating a process using this API is deprecated.
'
operationId: createProcess
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessCreateRequest'
description: Partial Process description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessDefinition'
description: 'Success '
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
delete:
tags:
- Process
summary: Delete the Process by IDs
description: 'Delete Process for the given list of ID.
**Warning: Beware! Data loss risk!**
Deleting a process will automatically delete all its process instances (on-going and archived alike).
Thus, the operation may take a long time, and fail if the transaction timeout is not large enough. This feature should only be used on non-production environments.
**Please proceed at your own risk.**
'
operationId: deleteProcessByIds
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
example:
- '1'
- '2'
- '3'
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}:
get:
tags:
- Process
summary: Finds the Process by ID
description: 'Returns the single Process for the given ID
'
operationId: getProcessById
parameters:
- description: ID of the Process to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
put:
tags:
- Process
summary: Update the Process by ID
deprecated: true
description: 'Update the Process for the given ID
Warning: as of 9.0.0, updating a process using this API is deprecated.
'
operationId: updateProcessById
parameters:
- description: ID of the Process to return
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessUpdateRequest'
description: Partial Process description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
delete:
tags:
- Process
summary: Delete the Process by ID
description: 'Delete the single Process for the given ID.
**Warning: Beware! Data loss risk!**
Deleting a process will automatically delete all its process instances (on-going and archived alike).
Thus, the operation may take a long time, and fail if the transaction timeout is not large enough. This feature should only be used on non-production environments.
**Please proceed at your own risk.**
'
operationId: deleteProcessById
parameters:
- description: ID of the Process to delete
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}/design:
get:
tags:
- Process
summary: Finds the Process design by ID
description: 'Returns the single Process design for the given ID
'
operationId: getProcessDesignById
parameters:
- description: ID of the Process to get the design from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/DesignProcessDefinition'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}/contract:
get:
tags:
- Process
summary: Finds the Process contract by ID
description: 'Returns the process contract for the given ID
'
operationId: getProcessContractById
parameters:
- description: ID of the Process to get the contract from
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
responses:
'200':
description: 'Success '
content:
application/json:
schema:
$ref: '#/components/schemas/Contract'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/process/{id}/instantiation:
post:
tags:
- Process
summary: Instanciate the process
description: 'Instanciate the process with the provided contract values.
'
operationId: instanciateProcess
parameters:
- name: id
description: ID of the process to instanciate
in: path
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
example:
ticket_account: CustomerA
ticket_description: issue description
ticket_subject: Issue 1
description: A JSON object matching process contract.
required: true
responses:
'201':
description: Return the created process instance ID
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessInstantiationResponse'
'400':
description: Bad request.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
example:
message: 'USERNAME=walter.bates | Contract is not valid: '
exception: class org.bonitasoft.engine.bpm.contract.ContractViolationException
explanations:
- Expected input [ticket_account] is missing
- Expected input [ticket_description] is missing
- Expected input [ticket_subject] is missing
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
description: Case creation limit reached (Community 2024.3+ only)
headers:
Retry-After:
schema:
type: string
format: date-time
description: Date when case counter will be refilled
content:
application/json:
schema:
type: object
properties:
code:
type: number
description: The response status code
description:
type: string
description: The status description
reasonPhrase:
type: string
description: The detail of the reason
example:
code: 429
description: Unable to start the process with ID 5524355418393634511
reasonPhrase: Case creation limit reached.
5XX:
$ref: '#/components/responses/ServerError'
x-codegen-request-body-name: body
/API/bpm/processName:
get:
tags:
- Process
summary: Search process names
description: "Searches process deployment information grouped by `(name, displayName)`, returning one entry per\ndistinct name and display name, each carrying the list of its deployed versions.\n\n- can order on `displayName` or `name` (default is `displayName ASC`). A single sort clause is\n applied: a compound order such as `displayName ASC, name DESC` is rejected with a `400`.\n- can search (`s`) on `name` or `displayName`. The term selects which groups are returned; a\n returned group always lists all of its versions allowed by the `activationState` filter.\n- can filter on `activationState` with the value `ENABLED` or `DISABLED`. An unknown value is\n rejected with a `400`; other filter keys are ignored.\n\nThe `Content-Range` header reports the total number of groups, not the number of versions.\n"
operationId: searchProcessNames
parameters:
- $ref: '#/components/parameters/pageIndex'
- $ref: '#/components/parameters/pageCount'
- $ref: '#/components/parameters/pageFilter'
- $ref: '#/components/parameters/pageOrder'
- $ref: '#/components/parameters/pageSearch'
responses:
'200':
description: Successful operation
headers:
Content-Range:
schema:
type: integer
format: int64
description: The total number of matching groups
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProcessName'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
/API/bpm/processConnector/{id}/{connectorImplId}/{connectorImplVersion}:
put:
tags:
- Process
summary: Update the Process Connector by Process ID
deprecated: true
description: '
Update the ProcessConnector for the given ID
Warning: as of 9.0.0, updating a Process Connector using this API is deprecated.
'
operationId: updateProcessConnectorByProcessId
parameters:
- description: ID of the process to update
in: path
name: id
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: ID of the Process Connector implementation to update
in: path
name: connectorImplId
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
- description: Version of the Process Connector implementation to update
in: path
name: connectorImplVersion
required: true
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProcessConnectorByProcessIdRequest'
description: Partial ProcessConnector description
required: true
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
5XX:
$ref: '#/components/responses/ServerError'
/portal/processUpload:
post:
tags:
- Process
deprecated: true
summary: Upload a bar file
description: 'Upload a bar file
Warning: as of 9.0.0, uploading a bar file using the portal is deprecated.
'
operationId: uploadProcess
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FileUploadRequest'
responses:
'200':
description: the temporary file name once uploaded on the server
content:
text/plain:
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
example: tmp_11199343585454336281.bar
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
5XX:
$ref: '#/components/responses/ServerError'
components:
schemas:
ContractConstraint:
type: object
properties:
name:
description: constraint name
type: string
expression:
description: constraint expression
type: string
explanation:
description: constraint explanation
type: string
inputNames:
type: array
items:
type: string
ProcessDefinition:
type: object
description: ''
properties:
id:
description: the identifier of the process definition (long)
type: string
icon:
description: icon path
type: string
displayDescription:
description: the human readable activity description
type: string
deploymentDate:
description: the date when the process definition was deployed
type: string
description:
description: the process description
type: string
activationState:
$ref: '#/components/schemas/ActivationState'
name:
description: the process name
type: string
deployedBy:
description: the id of the user who deployed the process
type: string
displayName:
description: the human readable process description
type: string
actorinitiatorid:
description: the id of the actor that can initiate process instances of the process
type: string
last_update_date:
description: the date when the process definition was last updated
type: string
configurationState:
$ref: '#/components/schemas/ConfigurationState'
version:
description: the version of the process
type: string
ContractInput:
type: object
properties:
description:
description: input description
type: string
name:
description: input name
type: string
multiple:
description: true if input contains multiple values
type: string
type:
$ref: '#/components/schemas/ContractInputType'
inputs:
type: array
items:
$ref: '#/components/schemas/ContractInput'
ContractInputType:
type: string
description: the contract input type (string)
enum:
- TEXT
- BOOLEAN
- DATE
- INTEGER
- DECIMAL
- BYTE_ARRAY
- FILE
- LONG
- LOCALDATE
- LOCALDATETIME
- OFFSETDATETIME
ProcessName:
type: object
description: 'A group of deployed processes that share the same `(name, displayName)` pair, with the list of
their deployed versions. Returned by `GET /API/bpm/processName`, which collapses the process
deployment information into one entry per distinct name and display name.
'
required:
- name
- displayName
- versions
properties:
name:
description: Technical name shared by every version in this group.
type: string
displayName:
description: Human-readable name shared by every version in this group. Defaults to the process technical name when no display name was set at deployment.
type: string
versions:
description: 'Deployed versions of the process sharing this name and display name. When an `activationState`
filter is supplied, only the versions in that state are listed. Always contains at least one entry.
'
type: array
minItems: 1
items:
type: string
example:
name: InvoiceApproval
displayName: Invoice Approval
versions:
- '1.0'
- '1.1'
- '2.0'
ActivationState:
description: the state of the process definition (ENABLED or DISABLED)
type: string
enum:
- ENABLED
- DISABLED
ProcessUpdateRequest:
type: object
properties:
displaydescription:
description: description of the Process
type: string
displayName:
description: display name of the Process
type: string
activationState:
$ref: '#/components/schemas/ActivationState'
example:
displayName: Leave booking process
UpdateProcessConnectorByProcessIdRequest:
type: object
properties:
id:
description: Id of the process for which to update the connector, combined with connector name and version separated by slashes (x/y/z)
type: string
implementation:
description: Previously uploaded temp file name of the updated version of the connector (returned by the [upload file api](#operation/uploadFile))
type: string
example:
id: 8491796209115952722/scripting-groovy-script/1.0.1
implementation: tmp_7006630415905915150.zip
ConfigurationState:
description: the configuration state of the process (UNRESOLVED or RESOLVED)
type: string
enum:
- RESOLVED
- UNRESOLVED
FlowElementContainerDefinition:
type: object
description: Allows to access all flow elements (activities, gateways, events and transitions) of a process or sub-process.
properties:
activities:
type: array
items:
type: object
additionalProperties: true
transitions:
type: array
items:
type: object
additionalProperties: true
gatewaysList:
type: array
items:
type: object
additionalProperties: true
startEvents:
type: array
items:
type: object
additionalProperties: true
intermediateCatchEvents:
type: array
items:
type: object
additionalProperties: true
intermediateThrowEvents:
type: array
items:
type: object
additionalProperties: true
endEvents:
type: array
items:
type: object
additionalProperties: true
dataDefinitions:
type: array
items:
type: object
additionalProperties: true
documentDefinitions:
type: array
items:
type: object
additionalProperties: true
connectors:
type: array
items:
type: object
additionalProperties: true
businessDataDefinitions:
type: array
items:
type: object
additionalProperties: true
documentListDefinitions:
type: array
items:
type: object
additionalProperties: true
ProcessCreateRequest:
type: object
properties:
fileupload:
description: the bar file to deploy (previously uploaded in tmp folder)
type: string
example:
fileupload: tmp_4431838172282406107.bar
Expression:
type: object
properties:
id:
description: the expression id
type: string
name:
description: the expression name
type: string
content:
description: the expression content
type: string
expressionType:
description: the expression type
type: string
returnType:
description: the expression return type
type: string
interpreter:
description: the expression interpreter
type: string
dependencies:
description: the expression dependencies
type: array
items:
$ref: '#/components/schemas/Expression'
DesignProcessDefinitionContext:
type: object
description: The process definition expressions
properties:
key:
type: string
expression:
$ref: '#/components/schemas/Expression'
DesignProcessDefinition:
type: object
description: Represents the Design Definition of a process. It gives access to process attributes.
properties:
displayName:
description: The process definition display name
type: string
displayDescription:
description: The process definition display description name
type: string
flowElementContainer:
$ref: '#/components/schemas/FlowElementContainerDefinition'
parameters:
description: The process parameter definitions
type: array
items:
$ref: '#/components/schemas/DesignProcessDefinitionParamater'
actorsList:
description: The list of process actor definitions
type: array
items:
$ref: '#/components/schemas/ActorDefinition'
actorInitiator:
$ref: '#/components/schemas/ActorDefinition'
stringIndexLabels:
description: The process definition labels
type: array
items:
type: string
stringIndexValues:
description: The process definition expressions
type: array
items:
$ref: '#/components/schemas/Expression'
contract:
description: the process instantiation contract
$ref: '#/components/schemas/Contract'
context:
description: The process definition expressions
type: array
items:
$ref: '#/components/schemas/DesignProcessDefinitionContext'
Contract:
type: object
properties:
constraints:
type: array
items:
$ref: '#/components/schemas/ContractConstraint'
inputs:
type: array
items:
$ref: '#/components/schemas/ContractInput'
ActorDefinition:
type: object
description: Actor definition
properties:
name:
description: the actor name
type: string
description:
description: the actor description
type: string
initiator:
description: true, if this actor can start the process
type: boolean
ProcessInstantiationResponse:
type: object
properties:
caseId:
type: string
example:
caseId: '12345678'
FileUploadRequest:
type: object
description: The file to upload
properties:
file:
type: string
format: binary
DesignProcessDefinitionParamater:
type: object
properties:
type:
description: the parameter type
type: string
description:
description: the parameter description
type: string
name:
description: the parameter name
type: string
Error:
type: object
additionalProperties: true
properties:
message:
type: string
description: The error message
exception:
type: string
description: The exception type
explanations:
description: Further details on the error
type: array
items:
type: string
responses:
ServerError:
description: Unexpected error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: An unexpected error occured.
NotFound:
description: The resource for the specified ID was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Resource not found.
BadRequest:
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Bad request
OK:
description: OK
Forbidden:
description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
Unauthorized:
description: Authorization information is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Unauthorized
parameters:
pageIndex:
description: index of the page to display
explode: true
in: query
name: p
example: '0'
required: true
schema:
type: integer
minimum: 0
default: 0
format: int32
style: form
pageOrder:
description: can order on attributes
explode: true
in: query
name: o
required: false
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
example: myProp%20ASC
pageFilter:
description: can filter on attributes with the format f={filter\_name}={filter\_value} with the name/value pair as url encoded string.
explode: true
in: query
name: f
required: false
schema:
type: array
items:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
example: abc%3d123
pageSearch:
description: can search on attributes
explode: true
in: query
name: s
required: false
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
pageCount:
description: maximum number of elements to retrieve
explode: true
in: query
name: c
example: '10'
required: true
schema:
type: integer
minimum: 1
default: 20
format: int32
style: form
securitySchemes:
bonita_auth:
name: JSESSIONID
description: 'To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section.
'
type: apiKey
in: cookie
bonita_token:
name: X-Bonita-API-Token
description: 'To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section.
'
type: apiKey
in: header
bearer_auth:
description: '
When Bonita runtime is configured for SSO with openID Connect it is possible To call the REST API directly with a Bearer Authorization header containing the access token.
'
type: http
scheme: bearer
x-tagGroups:
- name: Authentication
tags:
- Authentication
- PlatformAuthentication
- name: Application
tags:
- Application
- ApplicationMenu
- ApplicationPage
- FormMapping
- name: BDM
tags:
- BDM
- BusinessDataQuery
- Business Data Operations
- BDMAccessControl
- DataRetention
- name: BPM
tags:
- Activity
- ArchivedActivity
- HumanTask
- ManualTask
- Task
- UserTask
- ArchivedHumanTask
- ArchivedManualTask
- ArchivedTask
- ArchivedUserTask
- ActivityVariable
- ArchivedActivityVariable
- ProcessInstanceVariable
- ArchivedProcessInstanceVariable
- ProcessInstanceDocument
- ArchivedProcessInstanceDocument
- Actor
- ActorMember
- ProcessInstance
- ArchivedProcessInstance
- ProcessInstanceInfo
- ProcessInstanceComment
- ArchivedProcessInstanceComment
- Process
- Diagram
- ProcessInfo
- ProcessParameter
- ProcessResolutionProblem
- ProcessSupervisor
- ProcessConnectorDependency
- ConnectorFailure
- ConnectorInstance
- ArchivedConnectorInstance
- FlowNode
- ArchivedFlowNode
- Failure
- ArchivedFailure
- TimerEventTrigger
- Message
- Signal
- Delegation
- name: Custom user info
tags:
- CustomUserDefinition
- CustomUserValue
- CustomUser
- name: Identity
tags:
- ProfessionalContactData
- Group
- Membership
- Role
- User
- Authentication
- name: Platform
tags:
- PlatformAuthentication
- Platform
- License
- Information
- name: Portal
tags:
- Page
- Profile
- ProfileEntry
- ProfileMember
- Theme
- Upload
- name: System
tags:
- I18nlocale
- I18ntranslation
- Log
- Session
- Maintenance
- name: Other
tags:
- RestAPIextensions
- name: Upload
tags:
- FormFileUpload