openapi: 3.0.2 info: license: name: GPL-v2.0 url: http://www.gnu.org/licenses/gpl-2.0.txt version: 1.0.9 title: Bonita API description: |

Download OpenAPI specification Download Postman collection


The REST API lets you access the data with HTTP requests; it is useful when implementing rich web forms / pages for a good user experience. An open source [java client](https://github.com/bonitasoft/bonita-java-client) is implemented above the HTTP API. It is available on [Maven central](https://search.maven.org/search?q=g:%22org.bonitasoft.web%22%20AND%20a:%22bonita-java-client%22). If your application is using a technology other than Java, you can integrate it with the Bonita solution using the Web REST API. This API provides access to all Bonita objects (like processes, tasks, users, connectors etc.), to execute operations on them (create, retrieve, update, delete). You can use these operations to create a workflow with Bonita and integrate it into your application. The Bonita Engine remains responsible for executing the workflow logic (connectors, gateways with conditions, messages, timers etc.) while your application gives access to the workflow. Users can manage processes and tasks, and perform administrative activities. ### API Extensions You can create [Rest API Extensions](https://documentation.ofelia.com/bonita/latest/api/rest-api-extensions) to extend the Rest API by adding missing resources (not provided by the Rest API). It is possible for an extension to interact with the engine (via the API) or with any other external service (for example a database, a directory, or a web service). ### Create a resource | Request URL | `http://.../API/{API_name}/{resource_name}/ `| |:-|:-| | Request Method | POST| | Request Payload | an item in JSON| | Response | the same item in JSON, containing the values provided in the posted item, completed with default values and identifiers provided by Bonita Engine.| ### Read a resource | Request URL | `http://.../API/{API_name}/{resource_name}/{id} `| |:-|:-| | Request Method | GET| | Response | an item in JSON| Example `http://.../API/identity/user/5 ` #### Extend resource response On some resources, in GET methods the `d` (deploy) URL query parameter can be used to extend the response objects. The value of this parameter consists of an attribute for which you want to make an extended request (called a deploy) and retrieve attributes of a linked resource. This means that instead of retrieving the ID or a parent or referenced resource, you can retrieve the full object. For example, when you retrieve a task, you can also retrieve the process definition attributes in addition to the process definition ID that is already part of the task resource. The supported deploy values for a task include its process (d=processId). Specifiy multiple `d` parameter to extend several resources. For instance, to retrieve the flow node of id 143 and the associated process, process instance and assigned user, call `/API/bpm/flowNode/143?d=processId&d=caseId&d=assigned_id` #### With compound identifier The order of the identifier parts for each resource type is given in the table above. | Request URL | `http://.../API/{API_name}/{resource_name}/{id_part1}/{id_part2} `| |:-|:-| | Request Method | GET| | Response | an item in JSON| Example `http://.../API/identity/membership/5/12/24 ` ### Update a resource | Request URL | `http://.../API/{API_name}/{resource_name}/{id} `| |:-|:-| | Request Method | PUT| | Request Payload | a map in JSON containing the new values for the attributes you want to change.| | Response | the corresponding item in JSON with new values where you requested a modification| Example `http://.../API/identity/user/5` #### With compound identifier: Response: the corresponding item in JSON with new values where you requested a modification. | Request URL | `http://.../API/{API_name}/{resource_name}/{id_part1}/{id_part2} `| |:-|:-| | Request Method | PUT| | Request Payload | ` a map in JSON containing the new values for the attributes you want to change `| | Response | ` the corresponding item in JSON with new values where you requested a modification`| Example `http://.../API/identity/membership/5/12/24 ` ### Delete resources Use the DELETE request to remove multiple resources. | Request URL | `http://.../API/{API_name}/{resource_name}/ `| |:-|:-| | Request Method | DELETE| | Request Payload | A list of identifiers in JSON, for example `["id1","id2","id3"]`. Compound identifiers are separated by '/' characters.| | Response | `empty `| Example `http://.../API/identity/membership/ ` ### Search for a resource The required object is specified with a set of filters in the request URL. The URL parameters must be URL-encoded. Results are returned in a paged list, so you have to specify the page (counting from zero), and the number of results per page (count), additionally you can define a sort key (order). You can see the total number of matching results in the HTTP response header Content-Range. If you are searching for business data using a custom query, there must be a [count query in the BDM](https://documentation.ofelia.com/bonita/latest/data/define-and-deploy-the-bdm). If there is no count query, results from a custom query on business data cannot be paged properly (the header Content-Range will be absent). For business data default queries, the count query is defined automatically. The available filters are the attributes of the item plus some specific filters defined by each item. | Request URL | `http://.../API/{API_name}/{resource_name}?p={page}&c={count}&o={order}&s={query}&f={filter_name}={filter_value}&f=... `| |:-|:-| | Request Method | GET| | Response | an array of items in JSON| Example `/API/identity/user?p=0&c=10&o=firstname&s=test&f=manager_id=3` For a GET method that retrieves more than one instance of a resource, you can specify the following request parameters: * p (Mandatory): index of the page to display * c (Mandatory): maximum number of elements to retrieve * o: order of presentation of values in response: must be either `attributeName ASC` or `attributeName DESC`. The final order parameter value must be URL encoded. * f: list of filters, specified as `attributeName=attributeValue`. To filter on more than one attribute, specify an f parameters for each attribute. The final filter parameter value must be URL encoded. The attributes you can filter on are specific to the resource. * s: search on name or search indexes. Before Bonita 2024.1, the matching policy depended on the configuration of [word-based search](https://documentation.ofelia.com/bonita/2023.2/api/using-list-and-search-methods#word_based_search). For example, if word-based search was enabled, `s=Valid` returned matches containing the string "valid" at the start of any word in the attribute value word, such as "Valid address", "Not a valid address", and "Validated request" but not "Invalid request". If word-based search was disabled, `s=Valid` returned matches containing the string "valid" at the start of the attribute value, such as "Valid address" or "Validated request" but not "Not a valid address" or "Invalid request". Since Bonita 2024.1, the search mode can no longer be configured and a "like-based" algorithm is used. This means all the matching records for which the search term occurs anywhere in a phrase or a word are returned. ### Errors The API uses standard HTTP status codes to indicate the success or failure of the API call. If you get a `401` response code : - make sure that the cookies have been transfered with the call - make sure that the cookies transfered are the ones generated during the last sucessfull login call - if one of the PUT, DELETE or POST method is used, make sure that the `X-Bonita-API-Token` header is included - if the X-Bonita-API-Token header is included, make sure that the value is the same as the one of the cookie generated during the last login - Maybe a logout was issued or the session has expired; try to log in again, and re run the request with the new cookies and the new value for the `X-Bonita-API-Token` header. x-logo: url: images/ofelia-logo.svg backgroundColor: '#19465f' altText: Bonita API href: / servers: - url: http://localhost:8080/bonita description: Sample url for a local development server. security: - bonita_auth: [] bonita_token: [] - bearer_auth: [] tags: - name: Activity x-displayName: Activity description: Activity - name: ActivityVariable x-displayName: ActivityVariable description: ActivityVariable - name: ArchivedActivityVariable x-displayName: ArchivedActivityVariable description: ArchivedActivityVariable - name: Actor x-displayName: Actor description: Actor - name: ActorMember x-displayName: ActorMember description: ActorMember - name: Application x-displayName: Application description: Manage applications. This enables you to build a consistent functional applicative environment for users to interact with business processes and business data from one place. - name: ApplicationMenu x-displayName: ApplicationMenu description: | Manage the set of menus in an application. This set of menus enables a user to navigate to the application pages. There are two types of menu item: A top-level item appears in the navigation bar of the application. A top-level item can be clickable, leading to a page, or can be a parent for a menu of clickable items. A child menu item becomes visible in a menu when the parent is selected. A child menu item is clickable and leads to a page. Each menu item has an index that defines the position in the menu. For a top-level menu item, this is the position in the the navigation bar counting from the left. For a child menu item, this is the position in the menu counting from the top. - name: ApplicationPage x-displayName: ApplicationPage description: | An application page is a custom page that has been associated with an application. Use this resource to manage application pages and define the paths used to access them. This list of pages will be used to build the application menus. - name: ArchivedActivity x-displayName: ArchivedActivity description: ArchivedActivity - name: ArchivedProcessInstance x-displayName: ArchivedProcessInstance description: ArchivedProcessInstance - name: ArchivedProcessInstanceComment x-displayName: ArchivedProcessInstanceComment description: ArchivedProcessInstanceComment - name: ArchivedProcessInstanceDocument x-displayName: ArchivedProcessInstanceDocument description: ArchivedProcessInstanceDocument - name: ArchivedConnectorInstance x-displayName: ArchivedConnectorInstance description: ArchivedConnectorInstance - name: ArchivedFlowNode x-displayName: ArchivedFlowNode description: ArchivedFlowNode - name: ArchivedHumanTask x-displayName: ArchivedHumanTask description: ArchivedHumanTask - name: ArchivedManualTask x-displayName: ArchivedManualTask description: ArchivedManualTask - name: ArchivedTask x-displayName: ArchivedTask description: ArchivedTask - name: ArchivedUserTask x-displayName: ArchivedUserTask description: ArchivedUserTask - name: Authentication x-displayName: Authentication description: Authentication - name: PlatformAuthentication x-displayName: Platform Authentication description: Platform Authentication - name: BDM x-displayName: Business Data Model description: | Show status or install or update the Business Data Model. Installing or updating a BDM needs to be done in two successive steps: 1. Upload a BDM file 2. Install/Update the previously uploaded file **To do this, the maintenance mode needs to be enabled.** **In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM.** - name: BDMAccessControl x-displayName: BDMAccessControl description: BDM Access control is available to protect the BDM. You can use this API to get the access control status (lastUpdatedBy, lastUpdateDate...). - name: Business Data Operations x-displayName: Business Data Operations description: BDM Rest APIs allow to create / update / delete / import in bulk Bonita Business Data. - name: BusinessDataQuery x-displayName: BusinessDataQuery description: BDM Rest APIs allow to query Bonita Business Data. - name: BPM x-displayName: BPM description: Easily retrieve human or service tasks, call activities, and subprocesses with BPM APIs. Perform maintenance tasks. - name: ProcessInstance x-displayName: ProcessInstance description: ProcessInstance - name: ProcessInstanceComment x-displayName: ProcessInstanceComment description: ProcessInstanceComment - name: ProcessInstanceDocument x-displayName: ProcessInstanceDocument description: ProcessInstanceDocument - name: ProcessInstanceInfo x-displayName: ProcessInstanceInfo description: ProcessInstanceInfo - name: ProcessInstanceVariable x-displayName: ProcessInstanceVariable description: ProcessInstanceVariable - name: ArchivedProcessInstanceVariable x-displayName: ArchivedProcessInstanceVariable description: ArchivedProcessInstanceVariable - name: ConnectorFailure x-displayName: ConnectorFailure description: ConnectorFailure - name: ConnectorInstance x-displayName: ConnectorInstance description: ConnectorInstance - name: CustomUser x-displayName: CustomUser description: CustomUser - name: CustomUserDefinition x-displayName: CustomUserDefinition description: CustomUserDefinition - name: CustomUserValue x-displayName: CustomUserValue description: CustomUserValue - name: DataRetention x-displayName: Data Retention description: | Configure how Bonita automatically deletes obsolete business data. A retention rule applies to a specific business object type and defines when its instances become eligible for deletion based on a reference date (creation or last update) and a retention period in days. The data retention service runs on a configurable cron schedule. This Web REST API is available in **Enterprise editions only**, since version 11.0. - name: Delegation x-displayName: Delegation description: | Delegate human tasks from one user (the delegator) to another (the delegate) for a bounded period and a whitelist of processes. Delegation grants the delegate visibility and execution rights on the delegator's tasks without reassigning them: ownership and the audit trail are preserved. A user can hold at most one delegation rule at a time, and a rule's status (scheduled, active, expired) is derived from its date range. Id fields are sent as numeric `int64` in request bodies but returned as strings in responses, to avoid JavaScript precision loss on large `long` values; this is intentional and documented per field. There is no `GET /API/delegation/rule/{ruleId}`: the engine does not expose a single-rule read, so fetch a rule through the search endpoint (`GET /API/delegation/rule`) filtered by `id`. This is a known API gap, not a spec omission. This Web REST API is available in **Enterprise editions only**, since version 2026.2. - name: Diagram x-displayName: Diagram description: Diagram - name: ProcessInfo x-displayName: ProcessInfo description: ProcessInfo - name: FlowNode x-displayName: FlowNode description: FlowNode - name: Failure x-displayName: BPM Failure description: | Failure leading a BPM entity instance to a failed state This Web REST API is available in **Enterprise editions only**, since version 10.3 (2025.1). - name: ArchivedFailure x-displayName: Archived BPM Failure description: | Archived version of the Failure leading a BPM entity instance to a failed state. This Web REST API is available in **Enterprise editions only**, since version 10.3 (2025.1). - name: FormMappingBDM x-displayName: FormMappingBDM description: FormMappingBDM - name: Group x-displayName: Group description: The group a user belongs to. Groups have a hierarchy (subgroups can be created inside a group). - name: HumanTask x-displayName: HumanTask description: HumanTask - name: I18nlocale x-displayName: I18nlocale description: I18nlocale - name: I18ntranslation x-displayName: I18nTranslation description: I18nTranslation - name: Information x-displayName: Information description: | Handle the platform information. This Web REST API is available since version 10.2 (2024.3). Most of the information returned is only for Subscription editions. - name: License x-displayName: License description: | Handle the license information. This requires a platform session. Log in using the platform login service. This Web REST API is available in **Enterprise editions only**, since version 7.11. - name: ManualTask x-displayName: ManualTask description: ManualTask - name: Membership x-displayName: Membership description: Manage membership of users. There is a membership when a user belongs to a group and a role. Use this resource to add, search, and delete memberships. - name: Message x-displayName: Message description: Message - name: Page x-displayName: Page description: Use the page resource to access custom pages, UI Designer pages, layouts or forms and REST API extensions. - name: Platform x-displayName: Platform description: The Platform API resources require a platform session. In order to get one, log in as the platform administrator using the platform login service. - name: Process x-displayName: Process description: Deploy and manage process definitions. In addition, you can instantiate a process, which will create a new process instance (case). - name: ProcessConnectorDependency x-displayName: ProcessConnectorDependency description: ProcessConnectorDependency - name: ProcessParameter x-displayName: ProcessParameter description: ProcessParameter - name: ProcessResolutionProblem x-displayName: ProcessResolutionProblem description: ProcessResolutionProblem - name: ProcessSupervisor x-displayName: ProcessSupervisor description: ProcessSupervisor - name: ProfessionalContactData x-displayName: ProfessionalContactData description: ProfessionalContactData - name: Profile x-displayName: Profile description: Profile - name: ProfileEntry x-displayName: ProfileEntry description: ProfileEntry - name: ProfileMember x-displayName: ProfileMember description: ProfileMember - name: Role x-displayName: Role description: Role - name: Log x-displayName: Log description: | Access log entries recorded by the Bonita Engine during execution. Logs capture actions performed on the platform such as process deployments, task executions, or configuration changes. This Web REST API is available in **Enterprise editions only**. - name: Session x-displayName: Session description: Session - name: Task x-displayName: Task description: Task - name: Theme x-displayName: Theme description: Theme - name: TimerEventTrigger x-displayName: TimerEventTrigger description: TimerEventTrigger - name: User x-displayName: User description: User - name: UserTask x-displayName: UserTask description: UserTask - name: RestAPIextensions x-displayName: API extensions description: | Create REST API extensions to use third party systems (databases, web services, Bonita Engine, etc) data in forms and pages. REST API extensions can be used to query business data, Bonita Engine APIs, or an external information system (such as a database, web service, LDAP directory...). They also help to keep a clean separation between the front-end (forms, pages, and interfaces visible to users) and the back-end (processes). externalDocs: url: https://documentation.ofelia.com/bonita/latest/rest-api-extensions - name: FormFileUpload x-displayName: Form file upload description: Supports any type of files, used to upload a file before submitting a process or task form with a document in its contract. paths: /loginservice: post: tags: - Authentication operationId: login security: [] summary: Login description: | A call to the `/loginservice` will generates a set-cookie header in the response. The `JSESSIONID` cookie must be transfered with each subsequent calls. (If the REST API is used in an application running in a web browser, this is handled automatically by the web browser just like any cookies). Additional protection agains CSRF attacks is enabled by default for all fresh installations This security relies on `X-Bonita-API-Token` information. The `X-Bonita-API-Token` value can be found in the cookie named: `X-Bonita-API-Token`. All the subsequence REST API calls performing changes in the system using DELETE, POST, or PUT HTTP methods must contain the **HTTP header** below: ``` X-Bonita-API-Token: example-dummy-not-be-used-value ``` requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LoginRequest' x-codeSamples: - lang: Shell label: Curl source: | # Generate cookie file curl -v -c saved_cookies.txt \ --url 'http://localhost:8080/bonita/loginservice' \ --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'username=install' \ --data-urlencode 'password=install' \ --data-urlencode 'redirect=false' \ --data-urlencode 'redirectURL=' # Reuse the cookie file and set the `X-Bonita-API-Token` header curl -b saved_cookies.txt -X GET \ -- header 'X-Bonita-API-Token: ' \ --url 'http://localhost:8080/bonita/API/bpm/process?c=100&p=0' responses: '204': description: Login success headers: Set-Cookie: description: Session cookie schema: type: string example: JSESSIONID=C5385BFEE2969D9E46F0160C1952B0F1; Path=/bonita; HttpOnly; SameSite=Lax X-Bonita-API-Token: description: X-Bonita-API-Token - CSRF token (also present in the cookie response) schema: type: string example: ed27cbeb-9953-4d77-b5a2-1f62a6c2e0bb '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /logoutservice: get: tags: - Authentication summary: Logout the current user description: | Logout the current user from the system operationId: logout parameters: - description: Setting the redirect parameter to false indicates that the service should not redirect to the login page after logging out. explode: true in: query name: redirect required: false schema: type: string maxLength: 5 pattern: ^(?:tru|fals)e$ style: form example: redirect: 'false' redirectURL: null x-codeSamples: - lang: Shell label: Curl source: | curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/logoutservice?redirect=false' responses: '200': description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/living/application: get: tags: - Application summary: Finds living applications description: | Finds living applications with pagination params and filters - can order on `id`,`creationDate`, `createdBy`, `profileId`, `token`, `displayName`, `updatedBy`, `lastUpdateDate`, `version`, `link` - can search on `token`, `displayName`, `version`, `link` - can filter on `token`, `displayName`, `version`, `link`, `profileId`, `creationDate`, `createdBy`, `updatedBy` , `lastUpdateDate`, `userId` operationId: searchApplications parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Application' example: - id: '306' link: 'true' creationDate: '1411548289900' icon: '' createdBy": '1' profileId: '2' description: My application link description token: myadvapp state: ACTIVATED displayName: My app link updatedBy: '1' visibility: ALL editable: 'true' lastUpdateDate: '1411548289900' version: '1.0' - id: '305' link: 'false' creationDate: '1411548289900' icon: '' createdBy": '1' profileId: '2' description: My application description token: myapp state: DEACTIVATED displayName: My app updatedBy: '1' visibility: ALL editable: 'true' lastUpdateDate: '1411548289900' version: '1.0' homePageId: '26' themeId: '1' layoutId: '3' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Application summary: Create a living application deprecated: true description: | Create a living application (legacy application or application link). Warning: as of 9.0.0, creating a living application using this API is deprecated. operationId: createApplication requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateApplicationRequest' description: Partial living application description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Application' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/living/application/{id}: get: tags: - Application summary: Finds a living application by ID description: | Returns a single application for the given ID operationId: getApplicationById parameters: - description: ID of application to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': content: application/json: schema: $ref: '#/components/schemas/Application' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Application summary: Delete a living application by ID description: | Delete a single application for the given ID operationId: deleteApplicationById parameters: - description: ID of application to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Application summary: Update a living application by ID deprecated: true description: | Update a single application for the given ID (legacy application or application link). Warning: as of 9.0.0, updating a living application using this API is deprecated. operationId: updateApplicationById parameters: - description: ID of application to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationUpdateRequest' description: Partial living application description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Application' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /services/application/import: post: tags: - Application summary: Import a living application deprecated: true description: | Import a single application Warning: as of 9.0.0, importing a living application using this service is deprecated. operationId: importApplication requestBody: content: application/x-www-form-urlencoded: schema: properties: applicationsDataUpload: type: string description: Uploaded file importPolicy: type: string description: Import policy responses: '200': description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /portal/applicationsUpload: post: tags: - Application - Upload summary: Upload a living application deprecated: true description: | Upload application Warning: as of 9.0.0, uploading a living application using the portal is deprecated. operationId: uploadApplication requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: 'Success ' content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: tmp_application_data.xml '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/living/application-menu: get: tags: - ApplicationMenu summary: Finds application menus description: | Returns application menus with pagination params and filters - can order on `id`, `displayName`, `applicationId`, `applicationPageId`, `menuIndex`, `parentMenuId` - can search on `displayName` - can filter on `id`, `displayName`, `applicationId`, `applicationPageId`, `menuIndex`, `parentMenuId` operationId: searchApplicationMenus parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ApplicationMenu' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ApplicationMenu summary: New application menu item deprecated: true description: | Create an application menu item Warning: as of 9.0.0, creating an application menu item using this API is deprecated. operationId: createApplicationMenu requestBody: description: A partial representation of an application menu in JSON content: application/json: schema: $ref: '#/components/schemas/ApplicationMenuCreateRequest' responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ApplicationMenu' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/living/application-menu/{id}: get: tags: - ApplicationMenu summary: Finds a application menu by ID description: | Returns a single application menu for the given ID operationId: geApplicationMenuById parameters: - description: ID of application menu to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ApplicationMenu' example: id: '9823' displayName: menuLabel applicationId: '1' applicationPageId: '5' menuIndex: '1' parentMenuId: '-1' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ApplicationMenu summary: Delete an application menu by ID description: Delete a single application menu for the given ID operationId: deleteApplicationMenuById parameters: - description: ID of the application menu to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ApplicationMenu summary: Update an application menu by ID deprecated: true description: | Update an application menu for the given ID Warning: as of 9.0.0, updating an application menu item using this API is deprecated. operationId: updateApplicationMenuById parameters: - description: ID of the application menu to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationMenuUpdateRequest' description: Partial application menu description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/living/application-page: get: tags: - ApplicationPage summary: Finds application pages description: | Finds application pages with pagination params and filters - can order on `id`, `token`, `applicationId`, `pageId` - can search on `token` - can filter on `id`, `token`, `applicationId`, `pageId` operationId: searchApplicationPages parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ApplicationPage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ApplicationPage summary: Create an application page deprecated: true description: | Create an application page Warning: as of 9.0.0, creating an application page using this API is deprecated. operationId: createApplicationPage requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationPageCreateRequest' description: Partial application page description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ApplicationPage' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/living/application-page/{id}: get: tags: - ApplicationPage summary: Finds an application page by ID description: | Returns a single application page for the given ID operationId: getApplicationPageById parameters: - description: ID of application page to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ApplicationPage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ApplicationPage summary: Delete an application page by ID description: | Delete a single application page for the given ID operationId: deleteApplicationPageById parameters: - description: ID of application page to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bdm/businessData/{businessDataType}: get: tags: - BusinessDataQuery summary: Finds Business Data description: | Finds Business Data with pagination params and filters by calling a `Named Query`. The business data query REST API resource is used to call a default or custom business data query. It is available from version 6.5. **Data parameters**: * businessDataType - the fully-qualified business data type name * q=queryName - the query name * p=0 - the page number * c=10 - the maximum number of results in the page * f=parameter=value - sets the parameter value according to business data query parameters defined in Bonita Studio For a Boolean parameter, the accepted values are `true` or `false`. By default, for a Date parameter can use the following formats: * yyyy-MM-dd * HH:mm:ss * yyyy-MM-dd HH:mm:ss * yyyy-MM-dd'T'HH:mm:ss * yyyy-MM-dd'T'HH:mm:ss.SSS operationId: searchBusinessData parameters: - description: Business Data Type in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee - description: Named query to use in: query name: q required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: searchEmployeeByFirstNameAndLastName - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/AnyValue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Business Data Operations summary: Create new Business Data description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Create (Insert) new Business Data. Obviously, all mandatory fields of the given business data type must be provided in the request body, to ensure data integrity. Any input fields that are NOT part of the business data type will be simply ignored, and returned in the response, as an informative list. operationId: insertBusinessData parameters: - description: The Business Data type to create in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee requestBody: content: application/json: schema: type: object example: firstName: John lastName: Doe age: 30 department: Engineering activity: developer dateOfBirth: '1977-05-26' dateOfBirthWithTime: '1977-05-26T01:59:42' meetingDateAndTimeWithTimezone: '2025-11-29T10:15:30+01:00' otherDateAndTimeWithTimezone: '2025-11-29T10:15:30Z' notAValidField: some value that will be ignored description: | The flat JSON object representing the fields of the business data to create. The fields to provide depend on the business data type. Any nullable field not provided will be left blank. Any unknown field will be ignored and return in the response, under the name "unknownFields". String fields must be enclosed in double quotes (`"`), numeric / boolean fields must not. Date fields must be strings in ISO 8601 format (e.g., `2023-10-01T12:00:00Z`). required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BusinessDataCreationResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bdm/businessData/{businessDataType}/import: post: tags: - Business Data Operations summary: Import Business Data by bulk description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Allows to import business data in bulk by uploading a file containing the data, in CSV format. Example CSV file content: ```csv firstName,lastName,department, dptReference, dateOfBirth, dateOfBirthWithTime, meetingDateAndTimeWithTimezone, otherDateAndTimeWithTimezone "John","Doe","Engineering", 14, "1907-05-26", "1907-05-26T01:59:42", "2025-11-29T10:15:00+01:00", "2025-11-29T10:15:00Z" "Jane","Smith", "Marketing", 17, "1977-03-24", "1977-03-24T17:40:00", "2025-07-19T09:00:00+01:00", "2025-07-19T09:00:00Z" ``` Field separator can be comma (`,`) or semicolon (`;`). Space characters around the separator will be ignored (trimmed). The first line of the CSV file is considered as the header, and must contain the field names, with the exact same upper/lower case. String fields must be enclosed in double quotes (`"`), numeric / boolean fields must not. Date fields must be strings in ISO 8601 format (e.g., `2023-10-01T12:00:00Z`). operationId: importBusinessData parameters: - description: Business Data Type in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee requestBody: content: multipart/form-data: schema: type: object properties: dataset: type: string format: binary responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BusinessDataImportResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bdm/businessData/{businessDataType}/findByIds: get: tags: - BDM summary: Finds business data By Ids description: | Finds business data specified by their identifiers. operationId: searchBusinessDataByIds parameters: - description: Business Data Type in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee - description: list of persistenceIds (comma separated) in: query name: ids required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: 1,3,56 responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/BusinessData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bdm/businessData/{businessDataType}/{persistenceId}: get: tags: - BDM summary: Finds business data by Id description: | Finds business data specified by its identifier. operationId: searchBusinessDataById parameters: - description: Business Data Type in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee - description: Business data ID in: path name: persistenceId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: 1 responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/BusinessData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Business Data Operations summary: Update an existing Business Data description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Update an existing Business Data. Any input fields that are NOT part of the business data type will be simply ignored, and returned in the response, as an informative list. operationId: updateBusinessData parameters: - description: The Business Data type to update in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9_-.]{0,250}$ example: com.company.model.Employee - description: Business data ID in: path name: persistenceId required: true schema: type: number example: '1234' requestBody: content: application/json: schema: type: object example: firstName: John lastName: Wayne activity: actor dateOfBirth: '1907-05-26' dateOfBirthWithTime: '1907-05-26T01:59:42' meetingDateAndTimeWithTimezone: '2025-11-29T10:15:30+01:00' otherDateAndTimeWithTimezone: '2025-11-29T10:15:30Z' notAValidField: some value that will be ignored description: | The flat JSON object representing the fields of the business data to update. The fields to provide depend on the business data type. Any field not provided will be left unchanged. Any unknown field will be ignored and return in the response, under the name "unknownFields". String fields must be enclosed in double quotes (`"`), numeric / boolean fields must not. Date fields must be strings in ISO 8601 format (e.g., `2023-10-01T12:00:00Z`). required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BusinessDataUpdateResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Business Data Operations summary: Delete an existing Business Data description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Delete an existing Business Data. operationId: deleteBusinessData parameters: - description: The Business Data type to delete in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee - description: Business data ID to delete in: path name: persistenceId required: true schema: type: number example: 1234 responses: '204': description: The Business Data was successfully deleted '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bdm/businessData/{businessDataType}/{persistenceId}/{attributeName}: get: tags: - BDM summary: Finds business data attribute by id description: | Gets the business data attribute of business data according to its identifier and attribute name. Request url. operationId: searchBusinessDataAttributeById parameters: - description: Business Data Type in: path name: businessDataType required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: com.company.model.Employee - description: Business data ID in: path name: persistenceId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: 1 - description: Business data attribute name in: path name: attributeName required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: company responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/BusinessData' example: persistenceId_string: '1' persistenceVersion_string: '0' company: The Big Company '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/accessControl/bdm: get: tags: - BDMAccessControl summary: BDM access control status description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Get the BDM access control status. operationId: getBDMAccessControlStatus responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/BDMAccessControl' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - BDMAccessControl summary: Delete the BDM Access Control description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Delete the BDM access control operationId: deleteBDMAccessControl responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /portal/bdmAccessControlUpload: post: tags: - BDMAccessControl - Upload summary: Upload a BDM Access Control deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Upload BDM Access Control Warning: as of 9.0.0, uploading a BDM Access Control using the portal is deprecated. operationId: uploadBDMAccessControl requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: 'Success ' content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9_\-\.]{0,250}$ example: tmp_accessControlFileToUpload.xml '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /services/bdmAccessControl/install: post: tags: - BDMAccessControl summary: Import a BDM Access Control deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Import a BDM Access Control Warning: as of 9.0.0, importing a BDM Access Control using this service is deprecated. operationId: importBDMAccessControl requestBody: content: application/x-www-form-urlencoded: schema: properties: bdmAccessControlUpload: type: string description: The temporary name of the previously uploaded file to install example: bdmAccessControlUpload: tmp_accessControlFileToUpload.xml responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/retention/object: get: tags: - DataRetention summary: List business object types with their retention rules description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the list of all business object types defined in the deployed Business Data Model (BDM), each enriched with its composition tree and the retention rule that may apply to it. The full list is returned in a single response. Pagination is not applied because the BDM is a bounded set defined at deployment time. Requires the `DATA_RETENTION` feature to be active in the platform license. Available since Bonita 11.0. operationId: findObjectsWithRetentionRules responses: '200': description: | Successful operation. The full list of business object types is returned in a single response. No pagination is applied and no `Content-Range` header is set. content: application/json: schema: type: array items: $ref: '#/components/schemas/BusinessObjectWithRetentionRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/retention/schedule: get: tags: - DataRetention summary: Get the data retention schedule description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the cron expression that triggers the data retention job. The expression is configured via the `bonita.runtime.retention.schedule.cron` platform property and is read-only at runtime. Requires the `DATA_RETENTION` feature to be active in the platform license. Available since Bonita 11.0. operationId: getRetentionSchedule responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/RetentionSchedule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/retention/rule: post: tags: - DataRetention summary: Create a retention rule description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Creates a data retention rule for a business object type. Once created, the data retention service will automatically delete business data of `dataClassName` whose `referenceDate` is older than `retentionDays` days. Only one retention rule can exist per BDM class name. Posting a second rule for a `dataClassName` that already has one returns `409 Conflict`. Requires the `DATA_RETENTION` feature to be active in the platform license. Available since Bonita 11.0. operationId: createRetentionRule requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RetentionRuleCreateRequest' responses: '201': description: Retention rule created content: application/json: schema: $ref: '#/components/schemas/DataRetentionConfig' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/retention/rule/{ruleId}: put: tags: - DataRetention summary: Update a retention rule by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Updates the `referenceDate` and `retentionDays` of an existing retention rule. Requires the `DATA_RETENTION` feature to be active in the platform license. Available since Bonita 11.0. operationId: updateRetentionRuleById parameters: - description: Numeric ID of the retention rule to update (the `id` field returned by `DataRetentionConfig`). in: path name: ruleId required: true schema: type: string pattern: ^[0-9]+$ requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RetentionRuleUpdateRequest' responses: '200': description: Retention rule updated content: application/json: schema: $ref: '#/components/schemas/DataRetentionConfig' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body delete: tags: - DataRetention summary: Delete a retention rule by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Deletes the retention rule with the given ID. Existing BDM object instances of the underlying type are not deleted by this operation; only the retention rule itself is removed. Requires the `DATA_RETENTION` feature to be active in the platform license. Available since Bonita 11.0. operationId: deleteRetentionRuleById parameters: - description: Numeric ID of the retention rule to delete (the `id` field returned by `DataRetentionConfig`). in: path name: ruleId required: true schema: type: string pattern: ^[0-9]+$ responses: '204': $ref: '#/components/responses/NoContent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/delegation/rule: get: tags: - Delegation summary: Search delegation rules description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Searches delegation rules with pagination and filters. The same endpoint serves regular users (who see their own rule) and administrators (who see rules across users); authorization is enforced by the engine. - can order on `id`, `delegatorId`, `delegateId`, `startDate`, `endDate`, `lastUpdatedBy`, `lastUpdatedAt` - can filter on `id`, `delegatorId`, `delegateId`, `startDate`, `endDate`, `lastUpdatedBy`, `lastUpdatedAt` and on `status` (a virtual filter accepting `scheduled`, `active` or `expired`) - the free-text search term (`s`) is matched by the engine against the delegator and delegate user name, first name and last name Available in Enterprise editions only, since Bonita 2026.2. operationId: searchDelegationRules parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: Successful operation headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/DelegationRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Delegation summary: Create or replace a delegation rule description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Creates a delegation rule. `delegatorId` is optional and resolved from the session when omitted (self-service); administrators may set it to create a rule on behalf of another user. A user can hold at most one delegation rule: posting a rule for a delegator who already has one replaces the existing rule (upsert). Available in Enterprise editions only, since Bonita 2026.2. operationId: createDelegationRule requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DelegationRuleCreateRequest' responses: '201': description: Delegation rule created content: application/json: schema: $ref: '#/components/schemas/DelegationRule' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/delegation/rule/{ruleId}: put: tags: - Delegation summary: Update a delegation rule by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Replaces the `delegateId`, `startDate`, `endDate` and `processes` of an existing delegation rule. The delegator of the rule cannot be changed. Available in Enterprise editions only, since Bonita 2026.2. operationId: updateDelegationRuleById parameters: - description: Numeric ID of the delegation rule to update (the `id` field returned by `DelegationRule`). in: path name: ruleId required: true schema: type: string pattern: ^[0-9]+$ requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DelegationRuleUpdateRequest' responses: '200': description: Delegation rule updated content: application/json: schema: $ref: '#/components/schemas/DelegationRule' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body delete: tags: - Delegation summary: Delete a delegation rule by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Deletes the delegation rule with the given ID. This is the only deactivation mechanism: there is no soft delete or activation flag. Deleting a rule does not affect the underlying tasks, which remain assigned to the delegator. Available in Enterprise editions only, since Bonita 2026.2. operationId: deleteDelegationRuleById parameters: - description: Numeric ID of the delegation rule to delete (the `id` field returned by `DelegationRule`). in: path name: ruleId required: true schema: type: string pattern: ^[0-9]+$ responses: '204': $ref: '#/components/responses/NoContent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/delegation/task: get: tags: - Delegation summary: Search delegated tasks description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Searches the human tasks a user can act on through an active delegation rule. Only tasks covered by an `active` rule are returned: scheduled and expired rules yield nothing. Tasks should be assigned to the delegator and remain assigned to them; the delegate gains visibility and execution rights without reassignment. - can order on `dueDate`, `priority`, `reachedStateDate` - can search (`s`) on the task name and display name - can filter on `delegateId` (must be numeric; scopes results to a delegate, enforced against the session user by (dynamic) authorization rules unless the caller is an administrator) and on `rootProcessName` (narrows results to a specific root process) Available in Enterprise editions only, since Bonita 2026.2. operationId: searchDelegatedTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: Successful operation headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/DelegatedTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/activity: get: tags: - Activity summary: Finds Activities description: | Finds Activities with pagination params and filters. Activities in states completed, cancelled, or aborted are not retrieved. The search returns an array of activities. - can order on `name`, `displayName`, `state`, `processDefinitionId`, `parentProcessInstanceId`, `parentActivityInstanceId` (order by parent activity id), `rootProcessInstanceId`, `lastUpdateDate` - can search on `name`, `displayName`, `state`, `processDefinitionId`, `parentProcessInstanceId`, `parentActivityInstanceId` (order by parent activity id), `rootProcessInstanceId`, `lastUpdateDate` - can filter on `name`, `state`, `processId`, `parentProcessInstanceId`, `rootProcessInstanceId`, `last_update_date`, `supervisor_id` (only in Enterprise editions) operationId: searchActivities parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Activity' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/activity/{id}: get: tags: - Activity summary: Finds the Activity by ID description: | Returns the single Activity for the given ID operationId: getActivityById parameters: - description: ID of the Activity to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Activity' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Activity summary: Update the Activity by ID description: | Update the Activity for the given ID operationId: updateActivityById parameters: - description: ID of the Activity to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ActivityUpdateRequest' description: Partial Activity description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedActivity: get: tags: - ArchivedActivity summary: Finds Archived Activities description: | Finds Archived Activities with pagination params and filters. Activities in states completed, cancelled, or aborted are not retrieved. The search returns an array of activities. Can order on: - `name` : the name of this activity - `displayName` : the display name of this activity - `state` : the current state of the activity - `type` : the activity type - `isTerminal` : say whether or not the activity is in a terminal state - `processId` : the process this activity is associated to - `caseId` : the process instance initiator this activity is associated to - `reached_state_date` : the date when this activity arrived in this state Can filter on: - `supervisor_id`: retrieve the information the process manager associated to this id has access to (only in Enterprise editions) - f: same as the sort order fields operationId: searchArchivedActivities parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedActivity' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedActivity/{id}: get: tags: - ArchivedActivity summary: Finds the Archived Activity by ID description: | Returns the single Archived Activity for the given ID operationId: getArchivedActivityById parameters: - description: ID of the Archived Activity to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedActivity' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/humanTask: get: tags: - HumanTask summary: Finds HumanTasks description: | Finds HumanTasks with pagination params and filters - can order on `name`, `priority`, `dueDate`, `state`, `processDefinitionId`, `processInstanceId`, `parentActivityInstanceId`, `assigneeId`, `parentContainerId`, `displayName`, `reachedStateDate` - can search on any field that can be used to order results - can filter on `assigned_id`, `user_id`, `show_assigned_to_others` (since 2022.2), `state`, `name`, `displayName`, `processDefinitionId`, `caseId`, `rootCaseId`, `parentCaseId` operationId: searchHumanTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/HumanTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/humanTask/{id}: get: tags: - HumanTask summary: Finds the HumanTask by ID description: | Returns the single HumanTask for the given ID operationId: getHumanTaskById parameters: - description: ID of the HumanTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/HumanTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - HumanTask summary: Update the HumanTask by ID description: | Update the HumanTask for the given ID operationId: updateHumanTaskById parameters: - description: ID of the HumanTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/HumanTaskUpdateRequest' description: Fields that can be updated are `assignedId` and `state`. Specify only those fields that you want to change. required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/manualTask: get: tags: - ManualTask summary: Finds ManualTasks description: | Finds ManualTasks with pagination params and filters You can filter on: * `assigned_id={user_id}`: retrieve only the manual tasks assigned to the specified user. For example, retrieve the manual tasks assigned to user with id 1: `/API/bpm/manualTask?p=0&c=10&f=assigned_id%3d1`. * `state=skipped | ready | completed | failed` : retrieve only the manual tasks with the specified state. For example, retrieve the ready tasks: `/API/bpm/manualTask?p=0&c=10&f=state%3dready`. * `caseId={case_id}`: retrieve only the manual tasks created in the specified process instances. For example, retrieve the manual tasks for the case\_id 2: `/API/bpm/manualTask?p=0&c=10&f=caseId%3d2`. * `parentTaskId={parentTask_id}`: retrieve only the manual tasks for a specific parentTask. For example, retrieve the manual tasks for the parentTask\_id 40001: `/API/bpm/manualTask?p=0&c=10&f=parentTaskId%3d40001`. You can search on: * name: search all manual tasks with a name that starts with the search string. For example, search for all manual tasks that have a name that starts with MySubTask: `/API/bpm/manualTask?p=0&c=10&s=MySubTask`. operationId: searchManualTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ManualTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ManualTask summary: Create the ManualTask description: | Create the ManualTask. Use a POST method to create a new subtask. A subtask is attached to a parent task and it needs to be immediately assigned to a user. operationId: createManualTask requestBody: content: application/json: schema: $ref: '#/components/schemas/ManualTaskCreateRequest' description: Partial ManualTask description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ManualTask' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/bpm/manualTask/{id}: get: tags: - ManualTask summary: Finds the ManualTask by ID description: | Returns the single ManualTask for the given ID operationId: getManualTaskById parameters: - description: ID of the ManualTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ManualTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ManualTask summary: Update the ManualTask by ID description: | Update the ManualTask for the given ID. Use a PUT method to execute a subtask. Executing a subtask basically means changing its state to completed and providing an executedBy value. operationId: updateManualTaskById parameters: - description: ID of the ManualTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ManualTaskUpdateRequest' description: Partial ManualTask description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/task: get: tags: - Task summary: Finds Tasks description: | Finds Tasks with pagination params and filters - can order on `caseId`, `processId`, `state`, `type`, `supervisor_id`, `last_update_date` - can filter on `caseId`, `processId`, `state`, `type`, `supervisor_id`, `last_update_date` operationId: searchTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/task/{id}: get: tags: - Task summary: Finds the Task by ID description: | Returns the single Task for the given ID operationId: getTaskById parameters: - description: ID of the Task to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Task summary: Update the Task by ID description: | Update the Task for the given ID operationId: updateTaskById parameters: - description: ID of the Task to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTaskByIdRequest' example: state: completed description: 'Task fields to update (forbidden fields are : `caseId`, `processId`, `name`, `executedBy`, `type`, `id`, `reached_state_date`, `last_update_date`)' required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/userTask: get: tags: - UserTask summary: Finds UserTasks description: | Finds UserTasks with pagination params and filters - can order on `id` - can search on `displayName` - can filter on `displayName` operationId: searchUserTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/UserTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/userTask/{id}: get: tags: - UserTask summary: Finds the UserTask by ID description: | Returns the single UserTask for the given ID operationId: getUserTaskById parameters: - description: ID of the UserTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/UserTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - UserTask summary: Update the UserTask by ID description: | Update the UserTask for the given ID. Fields that can be updated are `assigned_id` and `state`. The only value that can be set for the state is `skipped`. You only need to specify the fields that are to be updated. operationId: updateUserTaskById parameters: - description: ID of the UserTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UserTaskUpdateRequest' description: Partial UserTask description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/userTask/{id}/contract: get: tags: - UserTask summary: Finds the Contract by UserTask ID description: | Returns the Contract for the given UserTask ID operationId: getContractByUserTaskId parameters: - description: ID of the UserTask that has the Contract to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Contract' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/userTask/{id}/execution: post: tags: - UserTask summary: Execute the UserTask description: | Execute the UserTask. In order to execute a task, the task contract values have to be provided. operationId: executeUserTask parameters: - name: id description: ID of the UserTask to execute in: path required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - name: assign description: if true, assign the task to the current user and execute the task in: query schema: type: boolean required: false requestBody: content: application/json: schema: type: object additionalProperties: true example: ticket_comment: this is a comment description: A JSON object matching task contract. Execute a task providing correct contract values. required: true responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/bpm/userTask/{id}/context: get: tags: - UserTask summary: Finds the Context by UserTask ID description: | Returns the Context for the given UserTask ID operationId: getContextByUserTaskId parameters: - description: ID of the UserTask that has the Context to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: type: object additionalProperties: true example: myBusinessData_ref: name: myBusinessData type: com.company.model.BusinessObject1 link: API/bdm/businessData/com.company.model.BusinessObject1/2 storageId: 2 storageId_string: '2' myDocument_ref: id: 1 processInstanceId: 3 name: myDocument author: 104 creationDate: 1434723950847 fileName: TestCommunity-1.0.bos contentMimeType: null contentStorageId: '1' url: documentDownload?fileName=TestCommunity-1.0.bos&contentStorageId=1 description: '' version: '1' index: -1 contentFileName: TestCommunity-1.0.bos '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedHumanTask: get: tags: - ArchivedHumanTask summary: Finds ArchivedHumanTasks description: | Finds ArchivedHumanTasks with pagination params and filters You can filter on: * `assigned_id={user_id}`: retrieve only the human tasks assigned to the specified ID. For example, retrieve the human tasks assigned to user with id 2: `/API/bpm/archivedHumanTask?p=0&c=10&f=assigned_id%3d2` * `state=`: retrieve only the archived user tasks with the specified state. For example, retrieve the skipped tasks: `/API/bpm/archivedHumanTask?p=0&c=10&f=state=skipped` * `name=`: retrieve only the human tasks with the specified name. For example, retrieve the human tasks with the name "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=name=Analyse ProcessInstance` * `displayName=`: retrieve only the archived user tasks with the specified displayName. For example, retrieve the human tasks with the displayName "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=displayName=Analyse ProcessInstance` operationId: searchArchivedHumanTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedHumanTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedHumanTask/{id}: get: tags: - ArchivedHumanTask summary: Finds the ArchivedHumanTask by ID description: | Returns the single ArchivedHumanTask for the given ID operationId: getArchivedHumanTaskById parameters: - description: ID of the ArchivedHumanTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedHumanTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedManualTask: get: tags: - ArchivedManualTask summary: Finds ArchivedManualTasks description: | Finds ArchivedManualTasks with pagination params and filters You can filter on: * `assigned_id={user_id}`: retrieve only the human tasks assigned to the specified ID. For example, retrieve the human tasks assigned to user with id 2: `/API/bpm/archivedHumanTask?p=0&c=10&f=assigned_id%3d2` * `state=`: retrieve only the archived user tasks with the specified state. For example, retrieve the skipped tasks: `/API/bpm/archivedHumanTask?p=0&c=10&f=state=skipped` * `name=`: retrieve only the human tasks with the specified name. For example, retrieve the human tasks with the name "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=name=Analyse ProcessInstance` * `displayName=`: retrieve only the archived user tasks with the specified displayName. For example, retrieve the human tasks with the displayName "Analyse ProcessInstance": `/API/bpm/archivedHumanTask?p=0&c=10&f=displayName=Analyse ProcessInstance` operationId: searchArchivedManualTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedManualTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedManualTask/{id}: get: tags: - ArchivedManualTask summary: Finds the ArchivedManualTask by ID description: | Returns the single ArchivedManualTask for the given ID operationId: getArchivedManualTaskById parameters: - description: ID of the ArchivedManualTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedManualTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedUserTask: get: tags: - ArchivedUserTask summary: Finds ArchivedUserTasks description: | Finds ArchivedUserTasks with pagination params and filters. An ArchivedUserTask is an executable task that has been performed by a user or skipped and is archived. You can filter on: * `assigned_id={user_id}`: retrieve only the user tasks assigned to the specified ID. For example, retrieve the user tasks assigned to user with id 2: `/API/bpm/archivedUserTask?p=0&c=10&f=assigned_id%3d2` * `state=`: retrieve only the archived user tasks with the specified state. For example, retrieve the skipped tasks: `/API/bpm/archivedUserTask?p=0&c=10&f=state=skipped` * `name=`: retrieve only the user tasks with the specified name. For example, retrieve the user tasks with the name "Analyse ProcessInstance": `/API/bpm/archivedUserTask?p=0&c=10&f=name=Analyse ProcessInstance` * `displayName=`: retrieve only the archived user tasks with the specified displayName. For example, retrieve the user tasks with the displayName "Analyse ProcessInstance": `/API/bpm/archivedUserTask?p=0&c=10&f=displayName=Analyse ProcessInstance` operationId: searchArchivedUserTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedUserTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedUserTask/{id}: get: tags: - ArchivedUserTask summary: Finds the ArchivedUserTask by ID description: | Returns the single ArchivedUserTask for the given ID operationId: getArchivedUserTaskById parameters: - description: ID of the ArchivedUserTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedUserTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedTask: get: tags: - ArchivedTask summary: Finds ArchivedTasks description: | Finds ArchivedTasks with pagination params and filters - Can order on `caseId`, `name`, `displayName`, `processId`, `state`, `type`, `archivedDate`, `reached_state_date`, `assigned_id` - Can filter on `caseId`, `name`, `displayName`, `processId`, `state`, `type`, `archivedDate`, `reached_state_date`, `assigned_id`, `isTerminal` operationId: searchArchivedTasks parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedTask/{id}: get: tags: - ArchivedTask summary: Finds the ArchivedTask by ID description: | Returns the single ArchivedTask for the given ID operationId: getArchivedTaskById parameters: - description: ID of the ArchivedTask to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedTask' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/activityVariable/{id}/{variableName}: get: tags: - ActivityVariable summary: Finds the ActivityVariable by ID description: | Returns the single ActivityVariable for the given ID operationId: getActivityVariableById parameters: - description: The identifier of the activity from which to retrieve the variable in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: The name of the variable to retrieve in: path name: variableName required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ActivityVariable' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedActivityVariable/{id}/{variableName}: get: tags: - ArchivedActivityVariable summary: Finds the ArchivedActivityVariable by case ID and name description: | Since 2022.1 Returns the single ArchivedActivityVariable for the given activity ID and variable name operationId: getArchivedActivityInstanceVariable parameters: - description: The identifier of the activity from which to retrieve the variable in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: The name of the variable to retrieve in: path name: variableName required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedActivityVariable' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/caseVariable: get: tags: - ProcessInstanceVariable summary: Finds ProcessInstance Variables description: | Finds ProcessInstance Variables with pagination params and filters operationId: searchProcessInstanceVariables parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessInstanceVariable' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCaseVariable: get: tags: - ArchivedProcessInstanceVariable summary: Finds ArchivedProcessInstance Variables description: | Since 2022.1 Finds ArchivedProcessInstance Variables with pagination params and filters operationId: getArchivedProcessInstanceVariables parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - description: 'Filter for the case id before it was archived (eg: case_id=10001 )' explode: true in: query name: f required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9%\_\-\.]{0,250}$ style: form example: case_id%3d1001 responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedProcessInstanceVariable' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/caseVariable/{id}/{variableName}: get: tags: - ProcessInstanceVariable summary: Finds the Variable by ProcessInstance ID description: | Returns the single Variable for the given ProcessInstance ID operationId: getVariableByProcessInstanceId parameters: - description: The identifier of the process instance from which to retrieve the variable in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: The name of the variable to retrieve in: path name: variableName required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceVariable' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProcessInstanceVariable summary: Update a Variable by ProcessInstance ID description: | Update the variable for the given ProcessInstance ID. **Warning** : only following types are supported for javaTypeclassname: `java.lang.String`, `java.lang.Integer`, `java.lang.Double`, `java.lang.Long`, `java.lang.Boolean`, `java.util.Date` operationId: updateVariableByProcessInstanceId parameters: - description: The identifier of the process instance from which to retrieve the variable in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: The name of the variable to retrieve in: path name: variableName required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceVariableUpdateRequest' description: Partial ProcessInstance variables description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCaseVariable/{id}/{variableName}: get: tags: - ArchivedProcessInstanceVariable summary: Finds an archived Variable by ProcessInstance ID and variable name description: | Since 2022.1 Returns the single ArchivedProcessInstanceVariable for the given ProcessInstance ID and variable name operationId: getArchivedVariableByProcessInstance parameters: - description: The identifier of the process instance from which to retrieve the archived variable in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: The name of the archived variable to retrieve in: path name: variableName required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedProcessInstanceVariable' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/caseDocument: get: tags: - ProcessInstanceDocument summary: Finds ProcessInstanceDocuments description: | Finds ProcessInstanceDocuments with pagination params and filters It is possible to filter on three parameters: `submittedBy`, `name` and `description`. * `submittedBy="id"`: search for documents that were submitted by the user with the specified identifier. * `name="string"`: search for documents with names that contain _string_. Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the name or the start of a word in the name. * `description="string"`: search for documents with descriptions that contain _string_. Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the description or the start of a word in the description. operationId: searchProcessInstanceDocuments parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessInstanceDocument' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProcessInstanceDocument summary: Create the ProcessInstanceDocument description: | Create the ProcessInstanceDocument. Use a POST method to add a document to a process instances. You can upload a document from the local file system or by URL. Specify the process instance id and the document name in the payload. The document description is optional: if you do not specify a description, the description in the response is empty. The response contains a version, which is managed automatically. You cannot currently retrieve a specific version of a document, only the most recent version. To retrieve earlier versions of a ProcessInstanceDocument, use the archivedProcessInstanceDocument resource. operationId: createProcessInstanceDocument requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceDocumentCreateRequest' description: Partial ProcessInstanceDocument description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceDocument' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/bpm/caseDocument/{id}: get: tags: - ProcessInstanceDocument summary: Finds the ProcessInstanceDocument by ID description: | Returns the single ProcessInstanceDocument for the given ID. Use a GET method to get a document from a process instances. First you get the document information, then you download the content. To get the document information, specify the document id in the URL. The document id is created when you upload a document to a process instances. There is no payload. operationId: getProcessInstanceDocumentById parameters: - description: ID of the ProcessInstanceDocument to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: | "Success ". The response includes the "url" to use to download the content. Call the documentDownload servlet with this URL: /portal/documentDownload?fileName=doc.jpg&contentStorageId=4. Note: Since Bonita 7.10, document url fileName is now URL encoded. This will avoid errors when a document to be downloaded contains special characters in its name. In the previous versions, a workaround was necessary client-side using the javascript native function "encodeURI" to generate document download url. You can now remove this workaround. content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceDocument' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProcessInstanceDocument summary: Update the ProcessInstanceDocument by ID description: | Update the ProcessInstanceDocument for the given ID You update a document in a process instance by uploading a new version of the document using a PUT method. You can upload a document version from the local file system or by URL. The document name will be used in all the process instances of the process, but the combination of process instance id and document name is unique. In the URL, you specify to supply the document id. This is included in the response when you first add a document to a process instances. The response to PUT methods is the same as for POST methods. operationId: updateProcessInstanceDocumentById parameters: - description: ID of the ProcessInstanceDocument to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceDocumentUpdateRequest' description: Partial ProcessInstanceDocument description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ProcessInstanceDocument summary: Delete the ProcessInstanceDocument by ID description: | Delete the single ProcessInstanceDocument for the given ID operationId: deleteProcessInstanceDocumentById parameters: - description: ID of the ProcessInstanceDocument to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCaseDocument: get: tags: - ArchivedProcessInstanceDocument summary: Finds ArchivedProcessInstanceDocuments description: | Finds ArchivedProcessInstanceDocuments with pagination params and filters You can filter on : * `sourceObjectId="id"`: search for documents by specifying the original document id. This is useful if you know the id of a ProcessInstanceDocument and you wish to retrieve all its previous versions.. * `caseId="id"`: search for documents with the specified open process instance id. * `archivedCaseId="id"`: search for documents with the specified archived process instance id. * `submittedBy="id"`: search for documents that were submitted by the user with the specified identifier. * `name="string"`: search for documents with names that contain _string_. Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the name or the start of a word in the name. * `description="string"`: search for documents with descriptions that contain _string_. Depending on the setting for [word-based search](https://documentation.ofelia.com/bonita/latest/api/using-list-and-search-methods#word_based_search), the search returns documents with _string_ at the start of the description or the start of a word in the description. operationId: searchArchivedProcessInstanceDocuments parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedProcessInstanceDocument' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCaseDocument/{id}: delete: tags: - ArchivedProcessInstanceDocument summary: Delete the ArchivedProcessInstanceDocument by ID description: | Delete the single ArchivedProcessInstanceDocument for the given ID operationId: deleteArchivedProcessInstanceDocumentById parameters: - description: ID of the ArchivedProcessInstanceDocument to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/actor: get: tags: - Actor summary: Finds Actors description: | Finds Actors with pagination params and filters operationId: searchActors parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Actor' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/actor/{id}: get: tags: - Actor summary: Finds the Actor by ID description: | Returns the single Actor for the given ID operationId: getActorById parameters: - description: ID of the Actor to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Actor' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Actor summary: Update the Actor by ID deprecated: true description: | Update the Actor for the given ID Warning: as of 9.0.0, updating an Actor using this API is deprecated. operationId: updateActorById parameters: - description: ID of the Actor to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ActorUpdateRequest' description: Fields that can be upated are `displayName` and `description` required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/actorMember: get: tags: - ActorMember summary: Finds ActorMembers description: | Finds ActorMembers with pagination params and filters There is a **mandatory** filter on: * `actor_id` For example, retrieve the actorMembers related to the specified actor_id. http://localhost:8080/bonita/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1 You can also filter also on: * `member_type` (user|role|group|roleAndGroup) retrieve only the actorMembers of type user. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=member_type%3duser` * `user_id`: retrieve only the actorMembers related to the specified user_id. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=user_id%3d101` * `role_id`: retrieve only the actorMembers related to the specified role_id. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=role_id%3d101` * `group_id`: retrieve only the actorMembers related to the specified group_id. `/API/bpm/actorMember?p=0&c=10&f=actor_id%3d1&f=group_id%3d101` operationId: searchActorMembers parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ActorMember' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/actorMember/{id}: get: tags: - ActorMember summary: Finds the ActorMember by ID description: | Returns the single ActorMember for the given ID operationId: getActorMemberById parameters: - description: ID of the ActorMember to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ActorMember' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ActorMember summary: Delete the ActorMember by ID description: | Delete the single ActorMember for the given ID operationId: deleteActorMemberById parameters: - description: ID of the ActorMember to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/case: get: tags: - ProcessInstance summary: Finds ProcessInstances description: | Finds ProcessInstances with pagination params and filters You can filter on: * `processDefinitionId`: The process definition ID * `rootCaseId`: the root process instance ID (since version 10.3 - 2025.1) * `name`: the process name * `started_by`: the ID of the user who started the process * `team_manager_id`: allow to retrieve the process instances in which all users with this manager ID ar involved) * `supervisor_id`: allow the retrived the process instances of all processes the user with this ID is supervisor of) beware you cannot use team_manager_id and supervisor_id at the same time * `searchIndex1Value`, `searchIndex2Value`, `searchIndex3Value`, `searchIndex4Value`, `searchIndex5Value`: the value of the corresponding search index (since version 10.3 - 2025.1) operationId: searchProcessInstances parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProcessInstance summary: Create the ProcessInstance description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) ![edition](https://img.shields.io/badge/edition-community-brightgreen) Create the ProcessInstance This way of creating a process instance using this method will only work for processes in which no contract is defined. To instantiate a process with a contract, check the process instantiation resource documentation. operationId: createProcessInstance requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceCreateRequest' description: | **Warning**: The attribute `variables` on the request payload is used to initialize the process variables (not BDM variables). If you want to initialize BDM variables at process instantiation, add a contract on the process and map BDM variables to the contract data. See Start a process using an instantiation contract for usage. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProcessInstance' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': description: Case creation limit reached (Community 2024.3+ only) headers: Retry-After: schema: type: string format: date-time description: Date when case counter will be refilled content: application/json: schema: type: object properties: message: type: string description: The error message exception: type: string description: The exception type example: message: Error occurred when starting process 5524355418393634511. Case creation limit reached. exception: org.bonitasoft.web.toolkit.client.common.exception.api.APITooManyRequestException 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body delete: tags: - ProcessInstance summary: Delete the ProcessInstance by batch description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) ![edition](https://img.shields.io/badge/edition-community-brightgreen) Delete a list of ProcessInstances for the given IDs operationId: deleteProcessInstanceByIds requestBody: content: application/json: schema: type: array items: description: ProcessInstance id type: string responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/case/{id}: get: tags: - ProcessInstance summary: Finds the ProcessInstance by ID description: | Returns the single ProcessInstance for the given ID operationId: getProcessInstanceById parameters: - description: ID of the ProcessInstance to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: Count of related resources in: query name: 'n' required: false schema: type: string enum: - activeFlowNodes - failedFlowNodes responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProcessInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProcessInstance summary: Update the ProcessInstance by ID description: | Only the state of a ProcessInstance (with the given ID) can be updated in order to cancel it (since version 10.3 - 2025.1). operationId: updateProcessInstanceById parameters: - description: ID of the ProcessInstance to update in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceUpdateRequest' description: Cancel the ProcessInstance. required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ProcessInstance summary: Delete the ProcessInstance by ID description: | Delete the single ProcessInstance for the given ID operationId: deleteProcessInstanceById parameters: - description: ID of the ProcessInstance to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/case/{id}/context: get: tags: - ProcessInstance summary: Finds the Context by ProcessInstance ID description: | Returns the Context for the given ProcessInstance ID operationId: getContextByProcessInstanceId parameters: - description: ID of the ProcessInstance that has the Context to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: type: object additionalProperties: true example: myBusinessData_ref: name: myBusinessData type: com.company.model.BusinessObject1 link: API/bdm/businessData/com.company.model.BusinessObject1/2 storageId: 2 storageId_string: '2' myDocument_ref: id: 1 processInstanceId: 3 name: myDocument author: 104 creationDate: 1434723950847 fileName: TestCommunity-1.0.bos contentMimeType: null contentStorageId: '1' url: documentDownload?fileName=TestCommunity-1.0.bos&contentStorageId=1 description: '' version: '1' index: -1 contentFileName: TestCommunity-1.0.bos '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCase: get: tags: - ArchivedProcessInstance summary: Finds ArchivedProcessInstances description: | Finds archived ProcessInstances (or ProcessInstance) with pagination params and filters You can order on `id`, `processDefinitionId`, `startedBy`, `startedBySubstitute`, `startDate`, `endDate`, `lastUpdate`, `archivedDate`, `sourceObjectId` You can filter on : * `sourceObjectId`: The original process instance ID before the process instance was archived * `processDefinitionId`: The process definition ID * `rootCaseId`: the root process instance ID (since version 10.3 - 2025.1) * `name`: the process name * `started_by`: the ID of the user who started the process * `team_manager_id`: allow to retrieve the process instances in which all users with this manager ID ar involved) * `supervisor_id`: allow the retrived the process instances of all processes the user with this ID is supervisor of) beware you cannot use team_manager_id and supervisor_id at the same time * `searchIndex1Value`, `searchIndex2Value`, `searchIndex3Value`, `searchIndex4Value`, `searchIndex5Value`: the value of the corresponding search index (since version 10.3 - 2025.1) operationId: searchArchivedProcessInstances parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedProcessInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCase/{id}: get: tags: - ArchivedProcessInstance summary: Finds the ArchivedProcessInstance by ID description: | Returns the single ArchivedProcessInstance for the given ID operationId: getArchivedProcessInstanceById parameters: - description: ID of the ArchivedProcessInstance to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedProcessInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ArchivedProcessInstance summary: Delete the ArchivedProcessInstance by ID description: | Delete the single ArchivedProcessInstance for the given ID operationId: deleteArchivedProcessInstanceById parameters: - description: ID of the ArchivedProcessInstance to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedCase/{id}/context: get: tags: - ArchivedProcessInstance summary: Finds the Context by ArchivedProcessInstance ID description: | Returns the Context for the given ArchivedProcessInstance ID operationId: getContextByArchivedProcessInstanceId parameters: - description: ID of the ArchivedProcessInstance that has the Context to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: type: object additionalProperties: true example: myBusinessData_ref: name: myBusinessData type: com.company.model.BusinessObject1 link: API/bdm/businessData/com.company.model.BusinessObject1/2 storageId: 2 storageId_string: '2' myDocument_ref: id: 1 processInstanceId: 3 name: myDocument author: 104 creationDate: 1434723950847 fileName: TestCommunity-1.0.bos contentMimeType: null contentStorageId: '1' url: documentDownload?fileName=TestCommunity-1.0.bos&contentStorageId=1 description: '' version: '1' index: -1 contentFileName: TestCommunity-1.0.bos '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/caseInfo/{id}: get: tags: - ProcessInstanceInfo summary: Finds the ProcessInstanceInfo by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) since 2022.2 Returns the single ProcessInstanceInfo for the given ID operationId: getProcessInstanceInfoById parameters: - description: ID of the ProcessInstanceInfo to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/comment: get: tags: - ProcessInstanceComment summary: Finds ProcessInstanceComments description: | Finds ProcessInstanceComments with pagination params and filters - can order on `postDate` - can filter on `supervisor_id`,`user_id`,`processInstanceId` - You cannot use supervisor_id and user_id filter at the same time operationId: searchProcessInstanceComments parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessInstanceComment' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProcessInstanceComment summary: Create the ProcessInstanceComment description: | Create the ProcessInstanceComment operationId: createProcessInstanceComment requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceCommentCreateRequest' description: The process instance (case) id and the comment content, in JSON required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProcessInstanceComment' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/bpm/archivedComment: get: tags: - ArchivedProcessInstanceComment summary: Finds ArchivedProcessInstanceComments description: | Finds ArchivedProcessInstanceComments with pagination params and filters - can order on `id` - can search on `displayName` - can filter on `displayName` operationId: searchArchivedProcessInstanceComments parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedProcessInstanceComment' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/process: get: tags: - Process summary: Finds Processes description: | Finds Processes with pagination params and filters - can order (default is ASC) on `name`, `version`, `deploymentDate`, `deployedBy`, `activationState`, `configurationState`, `processId`, `displayName`, `lastUpdateDate`, `categoryId`, `label` - can search on `name`, `displayName` or `version` - can filter on `name`, `version`, `deploymentDate`, `deployedBy`, `activationState` with the value DISABLED or ENABLED, `configurationState` with the value UNRESOLVED, or RESOLVED, `processId`, `displayName`, `lastUpdateDate`, `categoryId`, `label`, `supervisor_id` operationId: searchProcesses parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessDefinition' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Process summary: Create the Process deprecated: true description: | Create the Process. A process resource is created using the content of a .bar file that has previously been uploaded, using the [processUpload servlet](#operation/uploadProcess), to get the process archive path. Warning: as of 9.0.0, creating a process using this API is deprecated. operationId: createProcess requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessCreateRequest' description: Partial Process description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProcessDefinition' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body delete: tags: - Process summary: Delete the Process by IDs description: | Delete Process for the given list of ID. **Warning: Beware! Data loss risk!** Deleting a process will automatically delete all its process instances (on-going and archived alike). Thus, the operation may take a long time, and fail if the transaction timeout is not large enough. This feature should only be used on non-production environments. **Please proceed at your own risk.** operationId: deleteProcessByIds requestBody: content: application/json: schema: type: array items: type: string example: - '1' - '2' - '3' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/process/{id}: get: tags: - Process summary: Finds the Process by ID description: | Returns the single Process for the given ID operationId: getProcessById parameters: - description: ID of the Process to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProcessDefinition' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Process summary: Update the Process by ID deprecated: true description: | Update the Process for the given ID Warning: as of 9.0.0, updating a process using this API is deprecated. operationId: updateProcessById parameters: - description: ID of the Process to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessUpdateRequest' description: Partial Process description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Process summary: Delete the Process by ID description: | Delete the single Process for the given ID. **Warning: Beware! Data loss risk!** Deleting a process will automatically delete all its process instances (on-going and archived alike). Thus, the operation may take a long time, and fail if the transaction timeout is not large enough. This feature should only be used on non-production environments. **Please proceed at your own risk.** operationId: deleteProcessById parameters: - description: ID of the Process to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/process/{id}/design: get: tags: - Process summary: Finds the Process design by ID description: | Returns the single Process design for the given ID operationId: getProcessDesignById parameters: - description: ID of the Process to get the design from in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/DesignProcessDefinition' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/process/{id}/contract: get: tags: - Process summary: Finds the Process contract by ID description: | Returns the process contract for the given ID operationId: getProcessContractById parameters: - description: ID of the Process to get the contract from in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Contract' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/process/{id}/instantiation: post: tags: - Process summary: Instanciate the process description: | Instanciate the process with the provided contract values. operationId: instanciateProcess parameters: - name: id description: ID of the process to instanciate in: path required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: type: object additionalProperties: true example: ticket_account: CustomerA ticket_description: issue description ticket_subject: Issue 1 description: A JSON object matching process contract. required: true responses: '201': description: Return the created process instance ID content: application/json: schema: $ref: '#/components/schemas/ProcessInstantiationResponse' '400': description: Bad request. content: application/json: schema: allOf: - $ref: '#/components/schemas/Error' example: message: 'USERNAME=walter.bates | Contract is not valid: ' exception: class org.bonitasoft.engine.bpm.contract.ContractViolationException explanations: - Expected input [ticket_account] is missing - Expected input [ticket_description] is missing - Expected input [ticket_subject] is missing '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': description: Case creation limit reached (Community 2024.3+ only) headers: Retry-After: schema: type: string format: date-time description: Date when case counter will be refilled content: application/json: schema: type: object properties: code: type: number description: The response status code description: type: string description: The status description reasonPhrase: type: string description: The detail of the reason example: code: 429 description: Unable to start the process with ID 5524355418393634511 reasonPhrase: Case creation limit reached. 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/bpm/processName: get: tags: - Process summary: Search process names description: | Searches process deployment information grouped by `(name, displayName)`, returning one entry per distinct name and display name, each carrying the list of its deployed versions. - can order on `displayName` or `name` (default is `displayName ASC`). A single sort clause is applied: a compound order such as `displayName ASC, name DESC` is rejected with a `400`. - can search (`s`) on `name` or `displayName`. The term selects which groups are returned; a returned group always lists all of its versions allowed by the `activationState` filter. - can filter on `activationState` with the value `ENABLED` or `DISABLED`. An unknown value is rejected with a `400`; other filter keys are ignored. The `Content-Range` header reports the total number of groups, not the number of versions. operationId: searchProcessNames parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: Successful operation headers: Content-Range: schema: type: integer format: int64 description: The total number of matching groups content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessName' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processInfo/{id}: get: tags: - ProcessInfo summary: Finds the ProcessInfo by ID description: | Since 2022.2 ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the single ProcessInfo for the given ID operationId: getProcessInfoById parameters: - description: ID of the ProcessInfo to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProcessInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processConnector/{id}/{connectorImplId}/{connectorImplVersion}: put: tags: - Process summary: Update the Process Connector by Process ID deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Update the ProcessConnector for the given ID Warning: as of 9.0.0, updating a Process Connector using this API is deprecated. operationId: updateProcessConnectorByProcessId parameters: - description: ID of the process to update in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: ID of the Process Connector implementation to update in: path name: connectorImplId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: Version of the Process Connector implementation to update in: path name: connectorImplVersion required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateProcessConnectorByProcessIdRequest' description: Partial ProcessConnector description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/diagram/{id}: get: tags: - Diagram summary: Finds the diagram process by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Use the diagram resource to access the process diagram xml representation. This is necessary for drawing the diagram. operationId: getProcessDiagramById parameters: - description: ID of the process to get the diagram from in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/xml: schema: type: string description: BPMN XML representation of the process definition '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processParameter: get: tags: - ProcessParameter summary: Finds ProcessParameters description: | Finds ProcessParameters with pagination params and filters. operationId: searchProcessParameters parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessParameter' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processParameter/{id}/{name}: get: tags: - ProcessParameter summary: Finds the ProcessParameter by ID description: | Returns the single ProcessParameter for the given ID operationId: getProcessParameterById parameters: - description: ID of the process to get parameter from in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: Name of the process parameter to return in: path name: name required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.\s]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProcessParameter' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProcessParameter summary: Update the ProcessParameter by ID deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Update the ProcessParameter for the given ID Warning: as of 9.0.0, importing a Process parameter using this API is deprecated. operationId: updateProcessParameterById parameters: - description: ID of the process to get parameter from in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: Name of the process parameter to return in: path name: name required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessParameterUpdateRequest' description: You can update only a process parameter value using the API. If you specify values for other fields in the update request, they are ignored. required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processResolutionProblem: get: tags: - ProcessResolutionProblem summary: Finds ProcessResolutionProblems description: | Finds ProcessResolutionProblems with pagination params and filters to list the problems that need to be solved before a process can be used. **Filtering on the process definition ID is mandatory.** operationId: searchProcessResolutionProblems parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessResolutionProblem' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processSupervisor: get: tags: - ProcessSupervisor summary: Finds ProcessSupervisors description: | Finds ProcessSupervisors with pagination params and filters To filter, you need to specify the `process_id`, and then the `user_id`, `group_id` and `role_id` with one of them (two if you want to filter on group and role) set to `>0` and the other ones set to `-1`. E.g.: `f=process_id%3D8040901857674754544&f=user_id%3D>0&f=group_id%3D-1&f=role_id%3D-1` operationId: searchProcessSupervisors parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessSupervisor' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProcessSupervisor summary: Create the ProcessSupervisor description: | Create the ProcessSupervisor operationId: createProcessSupervisor requestBody: content: application/json: schema: $ref: '#/components/schemas/ProcessSupervisor' example: process_id: '5777042023671752656' user_id: '11' description: The process definition id and either the user, role and/or group id. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProcessSupervisor' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body delete: tags: - ProcessSupervisor summary: Delete the ProcessSupervisor by ID description: | Delete the ProcessSupervisor for the given compoound IDs You can delete a process supervisor by specifying its compound Id in the body of the request with the following format: `process_id/user_id/role_id/group_id` operationId: deleteProcessSupervisorById requestBody: content: application/json: schema: type: array items: type: string example: - 8040901857674754544/11/-1/-1 - 8040901857674754544/12/-1/-1 description: The process definition id and either the user, role and/or group id. required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/processConnectorDependency: get: tags: - ProcessConnectorDependency summary: Finds ProcessConnectorDependencies description: | Finds ProcessConnectorDependencies with pagination params and filters **Mandatory filters: `connector_process_id`, `connector_name`, `connector_version`** operationId: searchProcessConnectorDependencies parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProcessConnectorDependency' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/connectorFailure/{id}: get: tags: - ConnectorFailure summary: Finds the ConnectorFailure by ID description: | Returns the single ConnectorFailure for the given ID operationId: getConnectorFailureById parameters: - description: ID of the ConnectorFailure to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ConnectorFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/connectorInstance: get: tags: - ConnectorInstance summary: Finds ConnectorInstances description: | Finds ConnectorInstances attached to a process or a flow node with pagination params and filters. You can filter on: * `containerId`: the process instance or flow node instance ID * `state`: the connector state `TO_BE_EXECUTED`, `EXECUTING`, `TO_RE_EXECUTE`, `DONE`, `FAILED`, `SKIPPED` * `containerType`: the type of container: either `flowNode` or `process` (since version 10.3 - 2025.1) * `name`: the connector name (since version 10.3 - 2025.1) * `version`: the connector version (since version 10.3 - 2025.1) * `connectorId`: the connector definition ID (since version 10.3 - 2025.1) * `activationEvent`: the container event on which the connector is instanciated: either `ON_ENTER` or `ON_FINISH` (since version 10.3 - 2025.1) operationId: searchConnectorInstances parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ConnectorInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedConnectorInstance: get: tags: - ArchivedConnectorInstance summary: Finds ArchivedConnectorInstances description: | Finds ArchivedConnectorInstances with pagination params and filters operationId: searchArchivedConnectorInstances parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedConnectorInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/flowNode: get: tags: - FlowNode summary: Finds FlowNodes description: | Finds FlowNodes with pagination params and filters - can order on `name`, `displayName`, `state`, `processDefinitionId`, `parentProcessInstanceId`, `parentActivityInstanceId` (if the retrieved flow nodes are activities, order by parent activity id), `rootProcessInstanceId`, `lastUpdateDate` - can search on any field that can be used to order results - can filter on `name`, `state`, `processId`, `parentProcessInstanceId`, `rootProcessInstanceId`, `last_update_date` operationId: searchFlowNodes parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/FlowNode' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/flowNode/{id}: get: tags: - FlowNode summary: Finds the FlowNode by ID description: | Returns the single FlowNode for the given ID operationId: getFlowNodeById parameters: - description: ID of the FlowNode to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/FlowNode' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - FlowNode summary: Update the FlowNode by ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Replay the flow node for the given ID. operationId: updateFlowNodeById parameters: - description: ID of the FlowNode to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/FlowNodeUpdateRequest' description: Replay the flow node. required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedFlowNode: get: tags: - ArchivedFlowNode summary: Finds ArchivedFlowNodes description: | Finds ArchivedFlowNodes with pagination params and filters - can order on `name`, `displayName`, `state`, `type`, `isTerminal`, `processId`, `caseId`, `archivedDate` - can search on any field that can be used to order results - can filter on `name`, `displayName`, `state`, `stateId`, `kind`, `terminal`, `processDefinitionId`, `parentProcessInstanceId`, `rootProcessInstanceId`, `parentActivityInstanceId`, `archivedDate`, `reachedStateDate`, `sourceObjectId` operationId: searchArchivedFlowNodes parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedFlowNode' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/archivedFlowNode/{id}: get: tags: - ArchivedFlowNode summary: Finds the ArchivedFlowNode by ID description: | Returns the single ArchivedFlowNode for the given ID operationId: getArchivedFlowNodeById parameters: - description: ID of the ArchivedFlowNode to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ArchivedFlowNode' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/failure/flowNode/{flowNodeInstanceId}: get: tags: - Failure summary: Retrieve the failures of a flownode instance by it's ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the most recent failures for the given flownode ID operationId: getBPMFailuresByFlowNodeInstanceId parameters: - description: The identifier of the flownode instance from which to retrieve the failures in: path name: flowNodeInstanceId required: true schema: type: string maxLength: 250 pattern: ^[0-9\_\-\.]{0,250}$ - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/BPMFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/achivedFailure/flowNode/{flowNodeInstanceId}: get: tags: - ArchivedFailure summary: Retrieve the archived failures of an archived flownode instance by it's sourceObjectID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the most recent failures for the given archived flownode sourceObjectID operationId: getArchivedBPMFailuresByFlowNodeInstanceId parameters: - description: The original identifier (sourceObjectID) of the flownode instance from which to retrieve the failures in: path name: flowNodeInstanceId required: true schema: type: string maxLength: 250 pattern: ^[0-9\_\-\.]{0,250}$ - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedBPMFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/failure/case/{caseId}: get: tags: - Failure summary: Retrieve the failures of a case (process instance) by it's ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the most recent failures for the given case operationId: getBPMFailuresByCaseId parameters: - description: The identifier of the case from which to retrieve the failures in: path name: caseId required: true schema: type: string maxLength: 250 pattern: ^[0-9\_\-\.]{0,250}$ - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/BPMFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/achivedFailure/case/{caseId}: get: tags: - Failure summary: Retrieve the archived failures of an archived case (process instance) by it's sourceObjectID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the most recent archived failures for the given archived case sourceObjectID operationId: getArchivedBPMFailuresByCaseId parameters: - description: The original identifier (sourceObjectID) of the case from which to retrieve the failures in: path name: caseId required: true schema: type: string maxLength: 250 pattern: ^[0-9\_\-\.]{0,250}$ - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedBPMFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/failure/case/{rootCaseId}/childCases: get: tags: - Failure summary: Retrieve the failures of the child cases of a root case (process instance) by it's ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the most recent failures among all the child cases (started by call activities) of a case operationId: getBPMFailuresByRootCaseId parameters: - description: The identifier of the root case from which to retrieve the failures (its sourceObjectID if the root case is archived) in: path name: rootCaseId required: true schema: type: string maxLength: 250 pattern: ^[0-9\_\-\.]{0,250}$ - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/BPMFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/achivedFailure/case/{rootCaseId}/childCases: get: tags: - Failure summary: Retrieve the archived failures of the archived child cases of a root case (process instance) by it's ID description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Returns the most recent archived failures among all the archived child cases (started by call activities) of a case operationId: getArchivedBPMFailuresByRootCaseId parameters: - description: The identifier of the root case from which to retrieve the archived failures (its sourceObjectID if the root case is archived) in: path name: rootCaseId required: true schema: type: string maxLength: 250 pattern: ^[0-9\_\-\.]{0,250}$ - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' content: application/json: schema: type: array items: $ref: '#/components/schemas/ArchivedBPMFailure' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/timerEventTrigger: get: tags: - TimerEventTrigger summary: Finds TimerEventTriggers description: | Finds TimerEventTriggers with pagination params and filters - can order on `id` - can search on `displayName` - can filter on `displayName` operationId: searchTimerEventTriggers parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' - description: the process instance id in: query name: caseId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/TimerEventTrigger' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/timerEventTrigger/{id}: get: tags: - TimerEventTrigger summary: Finds the TimerEventTrigger by ID description: | Returns the single TimerEventTrigger for the given ID operationId: getTimerEventTriggerById parameters: - description: ID of the TimerEventTrigger to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/TimerEventTrigger' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - TimerEventTrigger summary: Update the TimerEventTrigger by ID description: | Update the TimerEventTrigger for the given ID operationId: updateTimerEventTriggerById parameters: - description: ID of the TimerEventTrigger to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/TimerEventTriggerUpdateRequest' description: a long value with attribute name "executionDate" required: true responses: '200': description: The actual long value corresponding to the next execution date of the timer event trigger, as a long value content: application/json: schema: $ref: '#/components/schemas/TimerEventTriggerUpdateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/bpm/message: post: tags: - Message summary: Send BPM message events description: | Use this resource to send BPM message events. Message events are caught by processes using `catch message event` flow nodes (Start, intermediate, boundary or receive tasks). operationId: createMessage requestBody: content: application/json: schema: $ref: '#/components/schemas/Message' description: A Message event required: true responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/bpm/signal: post: tags: - Signal summary: Broadcast BPM signal events description: | Since 2022.1 Use this resource to broadcast BPM signal events. Signal events are caught by processes using `catch signal event` flow nodes (Start, intermediate or boundary). operationId: broadcastSignal requestBody: content: application/json: schema: $ref: '#/components/schemas/Signal' description: A Signal event required: true responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/customuserinfo/definition: get: tags: - CustomUserDefinition summary: Finds CustomUserDefinitions description: | Finds CustomUserDefinitions. There are no filters, and no search terms. All the definitions are returned. operationId: searchCustomUserDefinitions parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomUserDefinition' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - CustomUserDefinition summary: Create the CustomUserDefinition description: | Create the CustomUserDefinition operationId: createCustomUserDefinition requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomUserDefinitionCreateRequest' description: Partial CustomUserDefinition description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomUserDefinition' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/customuserinfo/definition/{id}: get: tags: - CustomUserDefinition summary: Finds the CustomUserDefinition by ID description: | Returns the single CustomUserDefinition for the given ID operationId: getCustomUserDefinitionById parameters: - description: ID of the CustomUserDefinition to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/CustomUserDefinition' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - CustomUserDefinition summary: Delete the CustomUserDefinition by ID description: | Delete the single CustomUserDefinition for the given ID operationId: deleteCustomUserDefinitionById parameters: - description: ID of the CustomUserDefinition to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/customuserinfo/value: get: tags: - CustomUserValue summary: Finds CustomUserValues description: | Finds CustomUserValues with pagination params and filters You can filter on `userId`, `value`, `definitionId` operationId: searchCustomUserValues parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomUserValue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/customuserinfo/value/{userId}/{definitionId}: put: tags: - CustomUserValue summary: Update the CustomUserValue by ID description: | Update the CustomUserValue for the given ID operationId: updateCustomUserValueById parameters: - description: User ID in: path name: userId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: definition ID in: path name: definitionId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomUserValueUpdateRequest' description: Custom user definition Value required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/customuserinfo/user: get: tags: - CustomUser summary: Finds CustomUsers description: | Finds CustomUsers with pagination params and filters **The filter `userId` is mandatory** operationId: searchCustomUsers parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomUser' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/form/mapping: get: tags: - FormMapping summary: Finds FormMappings description: | Finds FormMappings with pagination params and filters - can filter on `processDefinitionId`,`type` operationId: searchFormMappings parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/FormMapping' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/form/mapping/{id}: put: tags: - FormMapping summary: Update the FormMapping by ID deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Update the FormMapping for the given ID Warning: as of 9.0.0, updating a Form Mapping using this API is deprecated. operationId: updateFormMappingById parameters: - description: ID of the FormMapping to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/FormMappingUpdateRequest' description: 'Representation of the form mapping attribute to update - {''pageId'': (long)} or {''url'': (string)} or {} to set the mapping type to NONE' required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/professionalcontactdata: get: tags: - ProfessionalContactData summary: Finds ProfessionalContactData description: | Finds ProfessionalContactData with pagination params and filters - can order on `id` - can search on `displayName` - can filter on `displayName` operationId: searchProfessionalContactDatas parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: Success headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProfessionalContactData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProfessionalContactData summary: Create the ProfessionalContactData description: | Create the ProfessionalContactData operationId: createProfessionalContactData requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfessionalContactData' example: id: '4' fax_number: 484-302-0766 building: '70' phone_number: 484-302-5766 zipcode: '19108' state: PA city: Philadelphia country: United States address: Renwick Drive email: walter.bates@acme.com description: Partial ProfessionalContactData description including the user ID required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProfessionalContactData' description: Success '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': description: Contact information for this user already exists 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/identity/professionalcontactdata/{userId}: get: tags: - ProfessionalContactData summary: Finds the ProfessionalContactData by ID description: | Returns the single ProfessionalContactData for the given ID operationId: getProfessionalContactDataById parameters: - description: User ID of the ProfessionalContactData to return in: path name: userId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProfessionalContactData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProfessionalContactData summary: Update the ProfessionalContactData by ID description: | Update the ProfessionalContactData for the given ID operationId: updateProfessionalContactDataById parameters: - description: User ID of the ProfessionalContactData to update in: path name: userId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfessionalContactData' example: id: '4' fax_number: 484-302-0766 building: '70' phone_number: 484-302-5766 zipcode: '19108' state: PA city: Philadelphia country: United States address: Renwick Drive email: walter.bates@acme.com description: Partial ProfessionalContactData description including the user ID required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/personalcontactdata/{userId}: get: tags: - ProfessionalContactData summary: Finds the PersonalContactData by ID description: | Returns the single PersonalContactData for the given ID operationId: getPersonalContactDataById parameters: - description: User ID of the PersonalContactData to return in: path name: userId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProfessionalContactData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProfessionalContactData summary: Update the PersonalContactData by ID description: | Update the PersonalContactData for the given ID operationId: updatePersonalContactDataById parameters: - description: User ID of the PersonalContactData to update in: path name: userId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfessionalContactData' example: id: '4' fax_number: 484-302-0766 building: '70' phone_number: 484-302-5766 zipcode: '19108' state: PA city: Philadelphia country: United States address: Renwick Drive email: walter.bates@acme.com description: Partial PersonalContactData description including the user ID required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/group: get: tags: - Group summary: Finds Groups description: | Finds Groups with pagination params and filters. - can order on `id`,`name`,`displayName` - can filter on `name`,`displayName`,`parent_path` operationId: searchGroups parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Group' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Group summary: Create the Group description: | Create the Group operationId: createGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupCreateRequest' description: Partial Group description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Group' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/identity/group/{id}: get: tags: - Group summary: Finds the Group by ID description: | Returns the single Group for the given ID operationId: getGroupById parameters: - description: ID of the Group to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Group' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Group summary: Update the Group by ID description: | Update the Group for the given ID operationId: updateGroupById parameters: - description: ID of the Group to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUpdateRequest' description: Partial Group description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Group summary: Delete the Group by ID description: | Delete the single Group for the given ID operationId: deleteGroupById parameters: - description: ID of the Group to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/membership: get: tags: - Membership summary: Finds Memberships description: | Finds Memberships with pagination params and filters **Filter `user_id` is mandatory** You can order with the values: `ROLE_NAME_ASC`,`ROLE_NAME_DESC`, `GROUP_NAME_ASC`,`GROUP_NAME_DESC`, `ASSIGNED_DATE_ASC`, `ASSIGNED_DATE_DESC` operationId: searchMemberships parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Membership' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Membership summary: Create the Membership description: | Create the Membership operationId: createMembership requestBody: content: application/json: schema: $ref: '#/components/schemas/MembershipCreateRequest' description: Partial Membership description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Membership' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/identity/membership/{userId}/{groupId}/{roleId}: delete: tags: - Membership summary: Delete the Membership by ID description: | Delete a membership of a user using the group id and role id. operationId: deleteMembershipById parameters: - description: User ID of the Membership to delete in: path name: userId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: Group ID of the Membership to delete in: path name: groupId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ - description: Role ID of the Membership to delete in: path name: roleId required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/role: get: tags: - Role summary: Finds Roles description: | Finds Roles with pagination params and filters - can order on `id`, `name` and `displayName` - can filter on `name` and `displayName` operationId: searchRoles parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Role' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Role summary: Create the Role description: | Create the Role operationId: createRole requestBody: content: application/json: schema: $ref: '#/components/schemas/RoleCreateRequest' description: Partial Role description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Role' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/identity/role/{id}: get: tags: - Role summary: Finds the Role by ID description: | Returns the single Role for the given ID operationId: getRoleById parameters: - description: ID of the Role to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Role' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Role summary: Update the Role by ID description: | Update the Role for the given ID operationId: updateRoleById parameters: - description: ID of the Role to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/RoleUpdateRequest' description: Partial Role description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Role summary: Delete the Role by ID description: | Delete the single Role for the given ID operationId: deleteRoleById parameters: - description: ID of the Role to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/user: get: tags: - User summary: Finds Users description: | Finds Users with pagination params and filters - can order on `id` - can search on `displayName` - can filter on `displayName` operationId: searchUsers parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - User summary: Create the User description: | Create the User operationId: createUser requestBody: content: application/json: schema: $ref: '#/components/schemas/UserCreateRequest' description: Partial User description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/User' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/identity/user/{id}: get: tags: - User summary: Finds the User by ID description: | Returns the single User for the given ID operationId: getUserById parameters: - description: ID of the User to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - User summary: Update the User by ID description: | Update the User for the given ID operationId: updateUserById parameters: - description: ID of the User to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UserUpdateRequest' description: Partial User description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - User summary: Delete the User by ID description: | Delete the single User for the given ID. **Use this method with caution**: some artifacts like applications, process instances or users may present display problems in the Bonita Portal if the referenced user was deleted. Note that you can disable a user instead of deleting it. To do so, use the UPDATE method and set the attribute 'enabled' to false operationId: deleteUserById parameters: - description: ID of the User to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/identity/userSummary: get: tags: - User summary: Finds User summaries description: | Finds a paginated, lightweight projection of users (`id`, `userName`, `firstname`, `lastname`, `job_title`), intended for user pickers and similar listings without exposing the full `identity/user` payload. - `p` / `c`: pagination params (page index and page size) - can search (`s`) on a free-text term matched by the engine across user attributes - can order (`o`) on `username` (default `username ASC`), `firstname` or `lastname`. One or more comma-separated sort clauses are applied in order (e.g. `lastname,firstname`). An optional `ASC` or `DESC` direction may follow each field. Unknown fields or malformed clauses return `400`. - can filter (`f`) only on `enabled` with a boolean value (e.g. `enabled=true`). Any other filter key or a non-boolean value returns `400`. `enabled` is filter-only and is not part of the returned projection. operationId: searchUserSummaries parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/UserSummary' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /platformloginservice: post: tags: - Platform - PlatformAuthentication operationId: platformLogin summary: Platform Login description: | The username and password are in `bonita-platform-community-custom.properties` file. requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: username: type: string description: the username password: type: string format: password description: the password redirect: type: string description: '"true" or "false". "false" indicates that the service should not redirect to Bonita Portal (after a successful login) or to the login page (after a login failure).' example: username: install password: install redirect: 'false' responses: '200': description: Login success headers: Set-Cookie: description: Session cookie schema: type: string pattern: ([^;]+);? example: JSESSIONID=C5385BFEE2969D9E46F0160C1952B0F1; Path=/bonita; HttpOnly; SameSite=Lax X-Bonita-API-Token: description: X-Bonita-API-Token - CSRF token (also present in the cookie response) schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\-]{0,250}$ example: ed27cbeb-9953-4d77-b5a2-1f62a6c2e0bb '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /platformlogoutservice: post: tags: - Platform - PlatformAuthentication operationId: platformLogout summary: Platform Logout description: '' responses: '200': description: logout success '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/platform/platform/unusedid: get: tags: - Platform summary: Finds the Platform by ID description: | Returns the current Platform operationId: getPlatformById responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Platform' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Platform summary: Update the Platform by ID description: | Start or stop the current node, that is, start or stop all services of the current JVM. operationId: updatePlatformById requestBody: content: application/json: schema: $ref: '#/components/schemas/PlatformUpdateRequest' description: Start or stop all services of the current JVM. required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/platform/license: get: tags: - License summary: Get the platform License deprecated: true description: | Returns the current platform License. This requires a platform session. Log in using the platform login service. Warning: Since Bonita 10.2 (2024.3), this API is deprecated: use the API `GET /system/information` instead. operationId: getPlatformLicense responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PlatformLicense' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /portal/processUpload: post: tags: - Process - Upload deprecated: true summary: Upload a bar file description: | Upload a bar file Warning: as of 9.0.0, uploading a bar file using the portal is deprecated. operationId: uploadProcess requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: the temporary file name once uploaded on the server content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: tmp_11199343585454336281.bar '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /portal/pageUpload: post: tags: - Page - Upload summary: Upload a Page deprecated: true description: | Upload Page Warning: as of 9.0.0, uploading a page using the portal is deprecated. operationId: uploadPage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: 'Success: the temp file name as present on the server' content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /portal/fileUpload: post: tags: - Upload - BDM summary: Upload a file description: | Upload file. **NOTE:** If this file is a BDM zip, to do this, Maintenance mode needs to be enabled. In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM. operationId: uploadFile requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: 'Success: the temp file name as present on the server' content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/portal/page: get: tags: - Page summary: Finds Pages description: | Finds Pages with pagination params and filters - can search on `displayName`,`description` - can filter on `createdBy`,`contentType` operationId: searchPages parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Page' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Page summary: Create the Page deprecated: true description: | Upload the page content using the `portal/pageUpload`. This returns a temporary file name that can be used as input for this operation. Warning: as of 9.0.0, creating a page using this API is deprecated. operationId: createPage requestBody: content: application/json: schema: $ref: '#/components/schemas/PageCreateRequest' description: Zip name as named in the temp folder after upload required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Page' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/portal/page/{id}: get: tags: - Page summary: Finds the Page by ID description: | Returns the single Page for the given ID operationId: getPageById parameters: - description: ID of the Page to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Page' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Page summary: Update the Page by ID deprecated: true description: | Use the PUT method to update an existing custom page. To update a custom page, upload the new page content using the pageUpload servlet, which returns a temporary file name, and then call this API with the temporary file name. Warning: as of 9.0.0, updating a page using this API is deprecated. operationId: updatePageById parameters: - description: ID of the Page to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/PageUpdateRequest' description: Partial Page description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Page summary: Delete the Page by ID description: | Delete the single Page for the given ID operationId: deletePageById parameters: - description: ID of the Page to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/portal/profile: get: tags: - Profile summary: Finds Profiles description: | Finds Profiles with pagination params and filters - can search on `name` - can filter on `name`,`hasNavigation` - can order on `name` operationId: searchProfiles parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageSearch' - $ref: '#/components/parameters/pageOrder' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Profile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - Profile summary: Create the Profile deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Create the Profile Warning: as of 9.0.0, creating profiles using this API is deprecated. operationId: createProfile requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileCreateRequest' description: Partial Profile description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Profile' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/portal/profile/{id}: get: tags: - Profile summary: Finds the Profile by ID description: | Returns the single Profile for the given ID operationId: getProfileById parameters: - description: ID of the Profile to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Profile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Profile summary: Update the Profile by ID deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Update the Profile for the given ID Warning: as of 9.0.0, updating a profile using this API is deprecated. operationId: updateProfileById parameters: - description: ID of the Profile to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileUpdateRequest' description: Partial Profile description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - Profile summary: Delete the Profile by ID description: | Delete the single Profile for the given ID operationId: deleteProfileById parameters: - description: ID of the Profile to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/portal/profileEntry: get: tags: - ProfileEntry summary: Finds ProfileEntries deprecated: true description: | Finds ProfileEntries with pagination params and filters - can search on `name` - can filter on `page`,`name` and `parent_id` Warning: Since Bonita 7.13, ProfileEntry is deprecated operationId: searchProfileEntries parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageSearch' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProfileEntry' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProfileEntry summary: Create the ProfileEntry deprecated: true description: | Create the ProfileEntry Warning: Since Bonita 7.13, ProfileEntry is deprecated operationId: createProfileEntry requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileEntryCreateRequest' description: Partial ProfileEntry description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProfileEntry' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/portal/profileEntry/{id}: get: tags: - ProfileEntry summary: Finds the ProfileEntry by ID deprecated: true description: | Returns the single ProfileEntry for the given ID Warning: Since Bonita 7.13, ProfileEntry is deprecated operationId: getProfileEntryById parameters: - description: ID of the ProfileEntry to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProfileEntry' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' put: tags: - ProfileEntry summary: Update the ProfileEntry by ID deprecated: true description: | Update the ProfileEntry for the given ID Warning: Since Bonita 7.13, ProfileEntry is deprecated operationId: updateProfileEntryById parameters: - description: ID of the ProfileEntry to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileEntryUpdateRequest' description: Partial ProfileEntry description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ProfileEntry summary: Delete the ProfileEntry by ID deprecated: true description: | Delete the single ProfileEntry for the given ID operationId: deleteProfileEntryById parameters: - description: ID of the ProfileEntry to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/portal/profileMember: get: tags: - ProfileMember summary: Finds ProfileMembers description: | Finds ProfileMembers with pagination params and filters **Filter `member_type` is mandatory** You can filter on `profile_id`, `user_id`, `role_id` and `group_id` operationId: searchProfileMembers parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/ProfileMember' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' post: tags: - ProfileMember summary: Create the ProfileMember description: | Create the ProfileMember operationId: createProfileMember requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileMemberCreateRequest' description: Partial ProfileMember description required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProfileMember' description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/portal/profileMember/{id}: get: tags: - ProfileMember summary: Finds the ProfileMember by ID description: | Returns the single ProfileMember for the given ID operationId: getProfileMemberById parameters: - description: ID of the ProfileMember to return in: path name: id required: true schema: type: string responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/ProfileMember' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - ProfileMember summary: Delete the ProfileMember by ID description: | Delete the single ProfileMember for the given ID operationId: deleteProfileMemberById parameters: - description: ID of the ProfileMember to delete in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/portal/theme: post: tags: - Theme summary: Create the Theme deprecated: true description: | Create the Theme Warning: Since Bonita 7.13, theme management is deprecated operationId: createTheme requestBody: content: application/json: schema: $ref: '#/components/schemas/ThemeCreateRequest' description: Partial Theme description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' x-codegen-request-body-name: body /API/portal/theme/unusedId: put: tags: - Theme summary: Restore default Theme deprecated: true description: | Restore the default theme Warning: Since Bonita 7.13, theme management is deprecated operationId: restoreTheme requestBody: content: application/json: schema: $ref: '#/components/schemas/ThemeRestoreRequest' description: Partial Theme description required: true responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/system/log: get: tags: - Log summary: Finds Logs description: | Finds Logs with pagination params and filters. The search returns an array of log entries. This Web REST API is available in **Enterprise editions only**. - can filter on `action_scope`, `action_type`, `createdBy`, `message`, `severity` value - can search by text on `action_scope`, `action_type`, `createdBy`, `message`, `severity` - can order on `action_scope`, `action_type`, `creation_date`, `createdBy`, `message`, `severity` operationId: searchLogs parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' - $ref: '#/components/parameters/pageOrder' - $ref: '#/components/parameters/pageSearch' x-codeSamples: - lang: Shell label: Curl source: | curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/log?p=0&c=10&o=creation_date+DESC' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/Log' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/system/log/{id}: get: tags: - Log summary: Finds the Log by ID description: | Returns the single Log for the given ID. This Web REST API is available in **Enterprise editions only**. operationId: getLogById parameters: - description: ID of the Log to return in: path name: id required: true schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ x-codeSamples: - lang: Shell label: Curl source: | curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/log/1024' responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Log' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/system/i18nlocale: get: tags: - I18nlocale summary: Finds I18nlocales description: | List the available I18nlocales with pagination params and filters operationId: searchI18nlocales parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/I18nlocale' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/system/i18ntranslation: get: tags: - I18ntranslation summary: Finds I18ntranslations description: | List the available I18ntranslations with pagination params and filters Returns all translations of the product. If a locale is specified in the filter, that translation for that locale are returned. If no locale is specified, the translations in English are returned. You can filter on `locale` operationId: searchI18ntranslations parameters: - $ref: '#/components/parameters/pageIndex' - $ref: '#/components/parameters/pageCount' - $ref: '#/components/parameters/pageFilter' responses: '200': description: 'Success ' headers: Content-Range: schema: type: integer format: int64 description: The total number of matching items content: application/json: schema: type: array items: $ref: '#/components/schemas/I18ntranslation' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/system/session/unusedId: get: tags: - Session summary: Get the current user session description: | Returns session information for the current user operationId: getSession x-codeSamples: - lang: Shell label: Curl source: | curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/session/unusedId' responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Session' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/system/maintenance: get: tags: - Maintenance summary: Get the maintenance details description: | Returns maintenance details of the platform operationId: getMaintenanceDetails x-codeSamples: - lang: Shell label: Curl source: | curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/maintenance' responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/MaintenanceDetails' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' put: tags: - Maintenance summary: Update the maintenance details description: | Update maintenance details operationId: updateMaintenanceDetails requestBody: content: application/json: schema: $ref: '#/components/schemas/MaintenanceDetails' description: Maintenance details; One or all attributes can be updated required: true responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/MaintenanceDetails' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/system/information: get: tags: - Information summary: Get the system information description: | Returns system information details of the platform. Requires to be logged in as a user having the Admin profile. operationId: getSystemInformation x-codeSamples: - lang: Shell label: Curl source: | curl -b saved_cookies.txt -X GET --url 'http://localhost:8080/bonita/API/system/information' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SystemInformation' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/system/license/unusedid: get: tags: - License summary: Get the current server license description: | Returns license information for the current server. Requires to be logged in as a technical administrator. The same information can be retrieved as a user having simply the Admin profile through the API `GET /system/information`. operationId: getLicense responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/License' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /APIv2/service/install: post: tags: - Application summary: Upload an application configuration file deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Upload an application configuration file in the `bconf` format. Warning: as of 9.0.0, uploading an application configuration file using this API is deprecated. operationId: uploadApplicationConfiguration requestBody: content: multipart/form-data: schema: type: object required: - configuration properties: configuration: type: string format: binary responses: '200': description: 'Success: the temp file name as present on the server' content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /API/tenant/bdm: get: tags: - BDM summary: Get the BDM description: | Returns the current BDM. Make this call to get the status the BDM. operationId: getBdm responses: '200': description: 'Success ' content: application/json: schema: $ref: '#/components/schemas/Bdm' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' post: tags: - BDM summary: Install a BDM deprecated: true description: | Install a BDM Warning: as of 9.0.0, importing a BDM using this API is deprecated. operationId: installBDM requestBody: content: application/json: schema: $ref: '#/components/schemas/BDMInstallRequest' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /portal/organizationUpload: post: tags: - Organization - Upload summary: Import an organization description: | Upload organization operationId: uploadOrganization requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: 'Success ' content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: tmp_organization_data.xml '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /services/organization/import: post: tags: - Organization summary: Import an organization description: | Import an organization operationId: importOrganization requestBody: content: application/x-www-form-urlencoded: schema: properties: organizationDataUpload: type: string description: Uploaded file importPolicy: type: string description: Import policy responses: '200': description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /portal/profilesUpload: post: tags: - Profile - Upload summary: Upload profiles deprecated: true description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) Upload profiles Warning: as of 9.0.0, uploading profiles using the portal is deprecated. operationId: uploadprofiles requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' responses: '200': description: 'Success ' content: text/plain: schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: tmp_profiles_data.xml '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' /services/profile/import: post: tags: - Profile summary: Import profiles deprecated: true description: | Import profiles Warning: as of 9.0.0, importing profiles using this service is deprecated. operationId: importProfiles requestBody: content: application/x-www-form-urlencoded: schema: properties: profilesDataUpload: type: string description: Uploaded file importPolicy: type: string description: Import policy responses: '200': description: 'Success ' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 5XX: $ref: '#/components/responses/ServerError' /API/formFileUpload: post: tags: - FormFileUpload summary: Upload a file description: | Supports any type of files, used to upload a file before submitting a process or task form with a document in its contract operationId: formFileUpload requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FormFileUploadRequest' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/FormFileUploadResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' 5XX: $ref: '#/components/responses/ServerError' components: securitySchemes: bonita_auth: name: JSESSIONID description: | To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section. type: apiKey in: cookie bonita_token: name: X-Bonita-API-Token description: | To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section. type: apiKey in: header bearer_auth: description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) When Bonita runtime is configured for SSO with openID Connect it is possible To call the REST API directly with a Bearer Authorization header containing the access token. type: http scheme: bearer schemas: LoginRequest: type: object required: - username - password properties: username: type: string description: the username password: type: string format: password description: the password redirect: type: string default: 'false' description: '"true" or "false". "false" indicates that the service should not redirect to Bonita Portal (after a successful login) or to the login page (after a login failure).' redirectURL: type: string default: '' description: the URL of the page to be displayed after login nullable: true example: username: install password: install redirect: 'false' redirectURL: null Error: type: object additionalProperties: true properties: message: type: string description: The error message exception: type: string description: The exception type explanations: description: Further details on the error type: array items: type: string AbstractApplication: type: object properties: createdBy: description: Author user ID type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ creationDate: description: creation date of the application type: string description: description: description of the application type: string displayName: description: display name of the application type: string id: description: id of the application type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ lastUpdateDate: description: last update date of the application type: string profileId: description: profile authorized to access this application type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ token: description: token of the application used to build the application URL type: string updatedBy: description: Last updating user ID type: string version: description: version of the application type: string state: description: application state type: string enum: - ACTIVATED - DEACTIVATED visibility: description: visibility of the Application. This value is purely indicative, changing it in the application object won't change the accessibility to the actual application. enum: - ALL - TECHNICAL_USER - RESTRICTED x-enumDescriptions: ALL: Everyone can use the application TECHNICAL_USER: Only the technical user can use the application RESTRICTED: Access to the application is determined by the user profile editable: description: Indicates whether the application can be modified type: boolean ApplicationLink: title: Application Link description: Contains the meta information of a Bonita Living Application Link. allOf: - type: object properties: link: description: true for an application link type: boolean enum: - true - $ref: '#/components/schemas/AbstractApplication' - type: object description: Contains the meta information of a Bonita Living Application Link. example: id: '306' link: 'true' creationDate: '1411548289900' icon: '' createdBy": '1' profileId: '2' description: My application link description token: myadvapp state: ACTIVATED displayName: My app link updatedBy: '1' visibility: ALL editable: 'true' lastUpdateDate: '1411548289900' version: '1.0' LegacyApplication: title: Legacy application description: Contains the meta information of a legacy Bonita Living Application. allOf: - type: object properties: link: description: false for a legacy application type: boolean enum: - false - $ref: '#/components/schemas/AbstractApplication' - type: object description: Contains the meta information of a legacy Bonita Living Application. properties: homePageId: description: id of the application page used as the home page type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ layoutId: description: id of the layout used by the application type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ themeId: description: id of the theme used by the application type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: id: '305' link: 'false' creationDate: '1411548289900' icon: '' createdBy": '1' profileId: '2' description: My application description token: myapp state: DEACTIVATED displayName: My app updatedBy: '1' visibility: ALL editable: 'true' lastUpdateDate: '1411548289900' version: '1.0' homePageId: '26' themeId: '1' layoutId: '3' Application: oneOf: - $ref: '#/components/schemas/ApplicationLink' - $ref: '#/components/schemas/LegacyApplication' CreateApplicationRequest: type: object properties: link: description: true for an application link, false for a legacy application type: boolean default: 'false' enum: - true - false description: description: description of the application type: string displayName: description: display name of the application type: string profileId: description: profile authorized to access this application type: string token: description: token of the application used to build the application URL type: string version: description: version of the application type: string example: link: 'false' version: '1.0' profileId: '2' token: myapp displayName: My app description: My application description ApplicationUpdateRequest: type: object properties: description: description: description of the application type: string displayName: description: display name of the application type: string profileId: description: profile authorized to access this application type: string token: description: token of the application used to build the application URL type: string version: description: version of the application type: string themeId: description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) theme id for the application type: string layoutId: description: | ![edition](https://img.shields.io/badge/edition-entreprise-blue) layout id for the application type: string example: version: '1.0' profileId: '2' token: myapp displayName: My app description: My application description themeId: '2' layoutId: '17' FileUploadRequest: type: object description: The file to upload properties: file: type: string format: binary ApplicationMenu: type: object properties: id: description: id of the application menu item type: string parentMenuId: description: id of the parent menu of this menu item, or -1 for a top-level item type: string applicationPageId: description: id of the application page targeted by this menu item, or -1 if there is no targeted page (that is, the item is a parent menu) type: string applicationId: description: id of the application related to this menu item type: string menuIndex: description: index of the menu item type: string displayName: description: label to display for this menu in the application navigation bar or menu type: string example: id: '8' applicationId: '1' applicationPageId: '5' menuIndex: '1' parentMenuId: '-1' displayName: menuLabel ApplicationMenuCreateRequest: type: object properties: displayName: description: display name of the application menu type: string applicationPageId: description: the application menu page ID type: string menuIndex: description: the application menu index type: string parentMenuId: description: the application parent menu ID type: string example: displayName: My updated label ApplicationMenuUpdateRequest: type: object properties: parentMenuId: description: id of the parent menu of this menu item, or -1 for a top-level item type: string applicationPageId: description: id of the application page targeted by this menu item, or -1 if there is no targeted page (that is, the item is a parent menu) type: string applicationId: description: id of the application related to this menu item type: string menuIndex: description: index of the menu item type: string displayName: description: label to display for this menu in the application navigation bar or menu type: string example: displayName: menuLabel applicationId: '1' applicationPageId: '5' menuIndex: '1' parentMenuId: '-1' ApplicationPage: type: object properties: id: description: id of the application page item type: string token: description: 'token use to access the page using a URL : ../appName/pageToken/' type: string applicationId: description: id of the application related to this page type: string pageId: description: id of the custom page to display type: string example: id: '9876' token: myPage applicationId: '1234' pageId: '5678' ApplicationPageCreateRequest: type: object properties: token: description: 'token use to access the page using a URL : ../appName/pageToken/' type: string applicationId: description: id of the application related to this page type: string pageId: description: id of the custom page to display type: string example: token: myPage applicationId: '1234' pageId: '5678' AnyValue: nullable: true type: object description: Can be any value - string, number, boolean, array or object or null depending on your query. BusinessDataCreationResult: type: object description: | An object containing: * the ID of the newly created Business Data, under the name of "newBusinessDataId" * any unknown fields, provided as an array of names, under the name of "unknownFields" properties: newBusinessDataId: description: ID of the newly created Business Data type: number unknownFields: description: list of unknown input fields that are not declared in the Business Data type items: type: string type: array example: newBusinessDataId: 1988 unknownFields: - notAValidField BusinessDataImportResult: type: object description: | An object containing: * the list of IDs of all the newly created Business Data, under the name of "createdIds" * the list of unknown fields, provided as an array of names, under the name of "unknownFields" properties: createdIds: description: List of IDs of the newly created Business Data items: type: number type: array unknownFields: description: list of unknown input fields that are not declared in the Business Data type items: type: string type: array example: createdIds: - 198 - 199 unknownFields: - department BusinessData: type: object additionalProperties: true description: | Retrieve business data value. Depending on the object attribute loading policy, the API returns either the full object in JSON representation or the HATEOAS links to the object attributes. Long attributes use a string representation added in 7.0.1 as a workaround for the JavaScript integer spectrum issue. Representation of object attributes with an _always load_ policy: ```json { "persistenceId": _number_, // <-- deprecated "persistenceId_string": "_number_" "persistenceVersion": _number_, // <-- deprecated "persistenceVersion_string": "_number_" "attributeName":_attributeType_ ... } ``` The string representation added in 7.0.1 for Long attributes is a workaround for the JavaScript integer spectrum issue. HATEOAS representation of object attribute with a _load when needed_ policy: ```json "links":[ { "rel":_string_ "href":_uri_ } ] ``` properties: persistenceId_string: description: Id of the business data object type: string persistenceVersion_string: description: Version of the business data object instance type: string example: persistenceId_string: '1' persistenceVersion_string: '0' contractName: contract for Netcom3 terms: - persistenceId: 1 persistenceId_string: '1' persistenceVersion: 0 persistenceVersion_string: '0' termName: term Name - persistenceId: 2 persistenceId_string: '2' persistenceVersion: 0 persistenceVersion_string: '0' termName: term Name client: persistenceId: 13 persistenceId_string: '13' persistenceVersion: 0 persistenceVersion_string: '0' clientName: client name description: n/a industry: - persistenceId: 2 persistenceId_string: '2' persistenceVersion: 0 persistenceVersion_string: '0' industryName: Services - persistenceId: 3 persistenceId_string: '3' persistenceVersion: 0 persistenceVersion_string: '0' industryName: Software BusinessDataUpdateResult: type: object description: | An object containing: * any unknown fields, provided as an array of names, under the name of "unknownFields" properties: unknownFields: description: list of unknown input fields that are not declared in the Business Data type items: type: string type: array example: unknownFields: - notAValidField TenantResourceState: description: Tenant resource state (BDM, BDM access control, ...) type: string enum: - INSTALLING - INSTALLED BDMAccessControl: type: object properties: id: description: Id of the BDM access control type: string name: description: BDM access control name type: string state: $ref: '#/components/schemas/TenantResourceState' lastUpdatedBy: description: 'If `lastUpdatedBy: -1` it means that the access control were last installed or updated by technical admin.' type: string lastUpdateDate: description: Last date when the access control were installed or updated. type: string example: id: 4090 name: bdm_access_control.xml type: BDM_ACCESS_CONTROL state: INSTALLED lastUpdatedBy: 4 lastUpdateDate: '2018-01-17T17:05:36.671Z' CompositionNode: type: object description: | A node in the recursive composition tree of a business object type. Each node holds the qualified name of a composed business object type and the list of its own composed children, allowing arbitrarily deep composition hierarchies to be expressed. required: - qualifiedName - compositions properties: qualifiedName: description: Fully qualified Java class name of the composed business object type. type: string compositions: description: Direct composition children of this object, or an empty list if none. type: array items: $ref: '#/components/schemas/CompositionNode' example: qualifiedName: com.company.model.Address compositions: [] ReferenceDate: type: string description: | Date field on a BDM object instance used as the starting point of the retention period calculation. - `CREATION`: retention is calculated from the creation date of the BDM object instance. The clock never resets. - `LAST_UPDATE`: retention is calculated from the last modification date of the BDM object instance. The clock resets on every modification. enum: - CREATION - LAST_UPDATE DataRetentionConfig: type: object description: | A data retention rule configured for a specific business object type. It defines when and how business data of that type are automatically deleted by the data retention service. required: - id - dataClassname - referenceDate - retentionDays - createdAt - updatedAt properties: id: description: Identifier of the retention rule. Serialized as a string to avoid JavaScript precision loss on large `long` values. type: string dataClassname: description: Fully qualified Java class name of the business object type this rule applies to. Note the lowercase `n` (the create-rule request body uses `dataClassName` instead). type: string referenceDate: $ref: '#/components/schemas/ReferenceDate' retentionDays: description: Duration of the retention period, in days. Always strictly positive — enforced by the engine on create and update. type: integer format: int32 minimum: 1 createdAt: description: Creation timestamp of this retention rule, in epoch milliseconds. Serialized as a string to avoid JavaScript precision loss. type: string updatedAt: description: Last update timestamp of this retention rule, in epoch milliseconds. Serialized as a string to avoid JavaScript precision loss. type: string example: id: '1' dataClassname: com.company.model.Request referenceDate: CREATION retentionDays: 365 createdAt: '1777473415401' updatedAt: '1777473415401' BusinessObjectWithRetentionRule: type: object description: | A business object type defined in the Business Data Model (BDM) along with its optional data retention rule and composition tree. The `dataRetentionRule` field is `null` when no retention rule has been configured for this business object type. required: - qualifiedName - compositions - dataRetentionRule properties: qualifiedName: description: Fully qualified Java class name of the business object type. type: string compositions: description: Direct composition children of this business object type as a recursive tree. type: array items: $ref: '#/components/schemas/CompositionNode' dataRetentionRule: type: object nullable: true allOf: - $ref: '#/components/schemas/DataRetentionConfig' example: qualifiedName: com.company.model.Order compositions: - qualifiedName: com.company.model.OrderLine compositions: - qualifiedName: com.company.model.Product compositions: [] - qualifiedName: com.company.model.Address compositions: [] dataRetentionRule: id: '1' dataClassname: com.company.model.Order referenceDate: CREATION retentionDays: 365 createdAt: '1777473415401' updatedAt: '1777473415401' RetentionSchedule: type: object description: | Schedule on which the data retention service runs. The cron expression is configured via the `bonita.runtime.retention.schedule.cron` platform property. required: - cronExpression properties: cronExpression: description: Cron expression that defines when the data retention job is triggered. type: string example: cronExpression: 0 0 2 * * 6 RetentionRuleCreateRequest: type: object description: | Body of `POST /API/retention/rule`. Defines a new data retention rule for the business object type identified by `dataClassName`. All three fields are required. required: - dataClassName - referenceDate - retentionDays properties: dataClassName: description: | Fully qualified Java class name of the business object type this rule applies to. Note the uppercase `N`. The corresponding field returned in the `DataRetentionConfig` response of this endpoint and of `PUT /API/retention/rule/{ruleId}`, `GET /API/retention/object` is named `dataClassname` (lowercase `n`). type: string referenceDate: $ref: '#/components/schemas/ReferenceDate' retentionDays: description: Duration of the retention period, in days. Must be strictly positive. type: integer format: int32 minimum: 1 example: dataClassName: com.company.model.ContratClient referenceDate: LAST_UPDATE retentionDays: 365 RetentionRuleUpdateRequest: type: object description: | Body of `PUT /API/retention/rule/{ruleId}`. Replaces the mutable fields of an existing retention rule. This is a full replacement of `referenceDate` and `retentionDays`, not a partial update — both fields must be provided on every call. The `dataClassName` of an existing rule cannot be changed. required: - referenceDate - retentionDays properties: referenceDate: $ref: '#/components/schemas/ReferenceDate' retentionDays: description: Duration of the retention period, in days. Must be strictly positive. type: integer format: int32 minimum: 1 example: referenceDate: CREATION retentionDays: 730 DelegationUser: type: object description: | User embedded in a delegation rule or a delegated task (delegator, delegate or last updater). This is the engine `User` model serialized directly, so its field names (`userName`, `managerUserId`, `creationDate`, ...) differ from the legacy snake_case `User` schema returned by the `/API/identity/user` endpoints. The long id fields (`id`, `createdBy`, `managerUserId`) are serialized as strings to avoid JavaScript precision loss, while the date fields (`creationDate`, `lastUpdate`, `lastConnection`) are serialized as numeric epoch milliseconds. required: - id - userName - firstName - lastName - enabled properties: id: description: User id. Serialized as a string to avoid JavaScript precision loss on large `long` values. type: string userName: description: Login name of the user. type: string firstName: description: First name of the user. type: string nullable: true lastName: description: Last name of the user. type: string nullable: true title: description: Civility title of the user. type: string nullable: true jobTitle: description: Job title of the user. type: string nullable: true iconId: description: Id of the icon row used as avatar, or `null` when no icon is set. Serialized as a string when present. type: string nullable: true managerUserId: description: Id of this user's manager, or `0` when none. Serialized as a string. type: string createdBy: description: Id of the user who created this account (`-1` for system-created accounts). Serialized as a string. type: string creationDate: description: Creation timestamp of the user account, in epoch milliseconds. type: integer format: int64 lastUpdate: description: Last update timestamp of the user account, in epoch milliseconds. type: integer format: int64 lastConnection: description: Last connection timestamp, in epoch milliseconds, or `null` if the user never logged in. type: integer format: int64 nullable: true enabled: description: Whether the user account is enabled. type: boolean example: id: '2' firstName: Michael lastName: Scott userName: michael.scott iconId: null title: null jobTitle: null creationDate: 1780477806557 createdBy: '-1' lastUpdate: 1780477806557 lastConnection: null managerUserId: '0' enabled: true DelegationStatus: type: string description: | Lifecycle status of a delegation rule, derived at query time from the rule's `startDate` / `endDate` compared against the current time. There is no stored activation flag. - `scheduled`: `startDate` is in the future. The delegate does not yet have access. - `active`: the current time is within `[startDate, endDate]`. The delegate has access. - `expired`: `endDate` is in the past. The delegate no longer has access. Serialized in lowercase. enum: - scheduled - active - expired DelegationRule: type: object description: | A task delegation rule: a user (the delegator) grants another user (the delegate) the ability to see and execute the delegator's human tasks during a bounded period, for a whitelist of processes. Delegation is not reassignment: tasks stay assigned to the delegator, and the delegate only gains visibility and execution rights through dedicated views. A user can hold at most one delegation rule at a time. required: - id - delegator - delegate - startDate - endDate - processes - status - lastUpdatedBy - lastUpdatedAt properties: id: description: Identifier of the delegation rule. Serialized as a string to avoid JavaScript precision loss on large `long` values. type: string delegator: description: The user whose tasks are delegated. $ref: '#/components/schemas/DelegationUser' delegate: description: The user receiving visibility and execution rights on the delegator's tasks. $ref: '#/components/schemas/DelegationUser' startDate: description: Start of the delegation period, inclusive, in milliseconds since epoch. type: integer format: int64 endDate: description: End of the delegation period, inclusive, in milliseconds since epoch. type: integer format: int64 processes: description: | Process whitelist for this rule. Each entry is a process name; a name covers every deployed version of that process. Always contains at least one entry. type: array minItems: 1 items: type: string status: $ref: '#/components/schemas/DelegationStatus' lastUpdatedBy: description: The user who last created or modified this rule (the delegator on self-service, or an administrator). $ref: '#/components/schemas/DelegationUser' lastUpdatedAt: description: Timestamp of the last modification, in milliseconds since epoch. type: integer format: int64 example: id: '1' delegator: id: '1' firstName: Walter lastName: Bates userName: walter.bates iconId: null title: null jobTitle: null creationDate: 1780477756657 createdBy: '-1' lastUpdate: 1780477756657 lastConnection: 1780576504806 managerUserId: '0' enabled: true delegate: id: '2' firstName: Michael lastName: Scott userName: michael.scott iconId: null title: null jobTitle: null creationDate: 1780477806557 createdBy: '-1' lastUpdate: 1780477806557 lastConnection: null managerUserId: '0' enabled: true startDate: 1780524000000 endDate: 1780696799999 processes: - Vacation request status: active lastUpdatedBy: id: '1' firstName: Walter lastName: Bates userName: walter.bates iconId: null title: null jobTitle: null creationDate: 1780477756657 createdBy: '-1' lastUpdate: 1780477756657 lastConnection: 1780576504806 managerUserId: '0' enabled: true lastUpdatedAt: 1780576300586 DelegationRuleCreateRequest: type: object description: | Body of `POST /API/delegation/rule`. Defines a new delegation rule. `delegatorId` is optional: when omitted it is resolved from the current session (self-service creation). An administrator creating a rule on behalf of another user provides `delegatorId` explicitly. The values must satisfy: `endDate` strictly after `startDate`, `delegateId` different from the delegator, and a non-empty `processes` list. A violation is reported as `400`. A user can hold at most one delegation rule: posting a rule for a delegator who already has one replaces the existing rule (upsert). required: - delegateId - startDate - endDate - processes properties: delegatorId: description: Id of the user whose tasks are delegated. Optional; resolved from the session when omitted. type: integer format: int64 delegateId: description: Id of the user receiving access. Must differ from the delegator. type: integer format: int64 startDate: description: Start of the delegation period, inclusive, in epoch milliseconds. type: integer format: int64 endDate: description: End of the delegation period, inclusive, in epoch milliseconds. Must be strictly after `startDate`. type: integer format: int64 processes: description: Process whitelist. Each entry is a process name covering every deployed version. Must contain at least one entry. type: array minItems: 1 items: type: string example: delegatorId: 1 delegateId: 2 startDate: 1780524000000 endDate: 1780696799999 processes: - Vacation request DelegationRuleUpdateRequest: type: object description: | Body of `PUT /API/delegation/rule/{ruleId}`. Replaces the mutable fields of an existing delegation rule. This is a full replacement, not a partial update: every field must be provided on each call. The delegator of an existing rule cannot be changed. The values must satisfy: `endDate` strictly after `startDate`, `delegateId` different from the delegator, and a non-empty `processes` list. A violation is reported as `400`. required: - delegateId - startDate - endDate - processes properties: delegateId: description: Id of the user receiving access. Must differ from the delegator. type: integer format: int64 startDate: description: Start of the delegation period, inclusive, in epoch milliseconds. type: integer format: int64 endDate: description: End of the delegation period, inclusive, in epoch milliseconds. Must be strictly after `startDate`. type: integer format: int64 processes: description: Process whitelist. Each entry is a process name covering every deployed version. Must contain at least one entry. type: array minItems: 1 items: type: string example: delegateId: 2 startDate: 1780524000000 endDate: 1780696799999 processes: - Vacation request ActivationState: description: the state of the process definition (ENABLED or DISABLED) type: string enum: - ENABLED - DISABLED ConfigurationState: description: the configuration state of the process (UNRESOLVED or RESOLVED) type: string enum: - RESOLVED - UNRESOLVED ProcessDeploymentInfo: type: object description: | Deployment information of a process: its name, version, activation and configuration state, and deployment metadata. This is a general-purpose embedding shape, not delegation-specific; it currently appears under the `rootProcessInfo` field of a delegated task. The internal deployment-info row id is intentionally not exposed; callers identify the process through `processId`. The `processId` and `deployedBy` long ids are serialized as strings to avoid JavaScript precision loss, while date fields are serialized as numeric epoch milliseconds. required: - processId - name - version - activationState - configurationState properties: processId: description: Identifier of the process definition. Serialized as a string to avoid JavaScript precision loss. type: string name: description: Technical name of the process. type: string version: description: Version of the process. type: string displayName: description: Human-readable name of the process. type: string nullable: true description: description: Description of the process. type: string nullable: true displayDescription: description: Human-readable description of the process. type: string nullable: true deploymentDate: description: Deployment timestamp of the process, in epoch milliseconds. type: integer format: int64 deployedBy: description: Id of the user who deployed the process. Serialized as a string. type: string lastUpdateDate: description: Timestamp of the last update of the deployment information, in epoch milliseconds. type: integer format: int64 activationState: description: Activation state of the process. $ref: '#/components/schemas/ActivationState' configurationState: description: Configuration state of the process. $ref: '#/components/schemas/ConfigurationState' iconPath: description: Path to the process icon, or `null` when none is set. type: string nullable: true example: name: Vacation request version: '1.0' displayDescription: '' deploymentDate: 1780576273140 deployedBy: '1' configurationState: RESOLVED activationState: ENABLED processId: '5270206374128493046' displayName: Vacation request lastUpdateDate: 1780576574182 iconPath: null description: '' DelegatedTask: type: object description: | A human task that a user is allowed to act on through an active delegation rule, returned by `GET /API/delegation/task`. The task is still assigned to the delegator; delegation grants the delegate visibility and execution rights but does not reassign ownership. The shape aligns with the legacy human-task REST format (modernised to camelCase): `processDefinitionId` is exposed as `processId`, `parentProcessInstanceId` as `parentCaseId`, `rootContainerId` as `rootCaseId`, `expectedEndDate` as `dueDate` and `claimedDate` as `assignedDate`. The delegator, delegate and delegation window are added on top so the front-end can render the delegation context without a second round-trip. All long id fields are serialized as strings to avoid JavaScript precision loss. Date fields (`dueDate`, `assignedDate`, `reachedStateDate`, `lastUpdateDate`, `delegationStart`, `delegationEnd`) are numeric, in milliseconds since epoch; some (such as `dueDate` and `assignedDate`) may be `null`. required: - id - name - displayName - state - type - priority - processId - parentCaseId - rootCaseId - actorId - assigneeId - executedBy - executedBySubstitute - flownodeDefinitionId - delegator - delegate - delegationStart - delegationEnd - rootProcessInfo properties: id: description: Identifier of the task instance. Serialized as a string to avoid JavaScript precision loss. type: string name: description: Technical name of the task. type: string displayName: description: Human-readable name of the task. type: string nullable: true description: description: Description of the task. type: string nullable: true displayDescription: description: Human-readable description of the task. type: string nullable: true state: description: Current state of the task (e.g. `ready`). type: string type: description: Flow node type (e.g. `USER_TASK`). type: string priority: description: Priority of the task (e.g. `NORMAL`). type: string nullable: true dueDate: description: Expected end date of the task, in epoch milliseconds, or `null` when none is set. (Maps to the engine `expectedEndDate`.) type: integer format: int64 nullable: true assignedDate: description: Date the task was claimed by its assignee, in epoch milliseconds, or `null` when unassigned. (Maps to the engine `claimedDate`.) type: integer format: int64 nullable: true reachedStateDate: description: Date the task reached its current state, in epoch milliseconds. type: integer format: int64 lastUpdateDate: description: Date the task was last updated, in epoch milliseconds. type: integer format: int64 processId: description: Identifier of the process definition. Serialized as a string. (Maps to the engine `processDefinitionId`.) type: string parentCaseId: description: Identifier of the immediate containing process instance. Serialized as a string. (Maps to the engine `parentProcessInstanceId`.) type: string rootCaseId: description: Identifier of the root process instance. Serialized as a string. (Maps to the engine `rootContainerId`.) type: string actorId: description: Id of the actor that can execute this task. Serialized as a string. type: string assigneeId: description: Id of the user this task is assigned to, or `0` if unassigned. Serialized as a string. type: string executedBy: description: Id of the user who performed the task, or `0` if not yet executed. Serialized as a string. type: string executedBySubstitute: description: Id of the user who performed the task on behalf of someone else, or `0` otherwise. Serialized as a string. type: string flownodeDefinitionId: description: Identifier of the flow node definition. Serialized as a string. type: string delegator: description: The user whose task this is (the delegator). $ref: '#/components/schemas/DelegationUser' delegate: description: The user the task is surfaced to through delegation (the delegate). $ref: '#/components/schemas/DelegationUser' delegationStart: description: Start of the delegation period, inclusive, in milliseconds since epoch. Same value as the delegation rule's `startDate`. type: integer format: int64 delegationEnd: description: End of the delegation period, inclusive, in milliseconds since epoch. Same value as the delegation rule's `endDate`. type: integer format: int64 rootProcessInfo: description: Deployment information of the process behind the root case that triggered the task, not the child case the task may directly belong to. $ref: '#/components/schemas/ProcessDeploymentInfo' example: id: '2' name: Validate request displayName: Validate request description: null displayDescription: null state: ready type: USER_TASK priority: NORMAL dueDate: null assignedDate: 1780576627723 reachedStateDate: 1780576595140 lastUpdateDate: 1780576627723 processId: '5270206374128493046' parentCaseId: '1' rootCaseId: '1' actorId: '1' assigneeId: '1' executedBy: '0' executedBySubstitute: '0' flownodeDefinitionId: '7537946595085140972' delegationStart: 1780524000000 delegationEnd: 1780696799999 delegator: id: '1' firstName: Walter lastName: Bates userName: walter.bates iconId: null title: null jobTitle: null creationDate: 1780477756657 createdBy: '-1' lastUpdate: 1780477756657 lastConnection: 1780576504806 managerUserId: '0' enabled: true delegate: id: '2' firstName: Michael lastName: Scott userName: michael.scott iconId: null title: null jobTitle: null creationDate: 1780477806557 createdBy: '-1' lastUpdate: 1780477806557 lastConnection: null managerUserId: '0' enabled: true rootProcessInfo: name: Vacation request version: '1.0' displayDescription: '' deploymentDate: 1780576273140 deployedBy: '1' configurationState: RESOLVED activationState: ENABLED processId: '5270206374128493046' displayName: Vacation request lastUpdateDate: 1780576574182 iconPath: null description: '' ActivityType: type: string description: the activity type (string) enum: - AUTOMATIC_TASK - HUMAN_TASK - USER_TASK - MANUAL_TASK - LOOP_ACTIVITY - MULTI_INSTANCE_ACTIVITY - CALL_ACTIVITY ActivityState: type: string description: the current state of the activity enum: - failed - initializing - ready - executing - completing - completed - waiting - skipped - cancelled - aborted - cancelling subtasks - aborting activity with boundary - completing activity with boundary ActivityPriority: type: string description: the priority of the current activity enum: - highest - above_normal - normal - under_normal - lowest Activity: type: object description: | Use this resource to retrieve activities (human or service tasks), call activities, and subprocesses currently running on the platform. It enables you to perform maintenance tasks like skipping or replaying a failed task and modifying variables. properties: id: type: string description: the activity id maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ type: $ref: '#/components/schemas/ActivityType' name: type: string description: the activity technical name displayName: type: string description: the human readable activity name description: type: string description: the activity description displayDescription: type: string description: the human readable activity description state: $ref: '#/components/schemas/ActivityState' reached_state_date: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this activity reached the current state, for example '2014-10-17 16:05:42.626' last_update_date: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this activity was last updated, for example '2014-10-17 16:05:42.626) dueDate: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this activity is due, for example '2014-10-17 16:05:42.626' priority: $ref: '#/components/schemas/ActivityPriority' processId: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: the process definition id of the process instance which define this activity parentCaseId: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: the immediate containing process instance id (long, a.k.a process instance id) rootCaseId: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: the top/root process instance id (long, a.k.a case id). In case of an event sub process, `parentCaseId` will the id of the process instance called while `rootCaseId` will be the one from the caller process instance rootContainerId: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: same as rootCaseId executedBy: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: the id of the user who performed this activity. The activity has to be a human task otherwise its value will be 0 executedBySubstitute: type: string description: the id of the user who did actually performed the activity when it has been done in the name of someone else. Value is 0 otherwise actorId: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: the id of the actor that can execute this activity, null otherwise assigned_id: type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ description: the user id that this activity is assigned to, or 0 if it is unassigned assigned_date: type: string pattern: ^\d{4}-\d{2}-\d{2}\s\d+:\d+:\d+\.\d+$ description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current activity was assigned, for example '2014-10-17 16:05:42.626' example: displayDescription: validate expense request executedBySubstitute: '0' caseId: '76539' parentCaseId: '68743' rootCaseId: '65879' processId: '7012' rootContainerId: '7000' state: completed type: the activity type as a string assigned_id: '304' assigned_date: '2014-10-17 16:05:42.626' id: '809764' executedBy: '0' priority: the priority of the current activity as a string actorId: '50' description: In this step a manager reviews and validates an expense request. name: Validate reached_state_date: '2014-10-18 10:37:05.643' displayName: Validate expense request dueDate: '2014-10-21 16:05:42.626' last_update_date: '2014-10-18 10:37:05.643' ActivityUpdateRequest: type: object properties: variables: description: | Activity variables to update. **Note**: if there is no data with the specified name in the activity, the update will be applied to the process data if a variable with the specified name exists. **Note**: if the task definition includes a connector that is executed on finish and updates the value of a variable, the value set by the REST API call is overwritten. type: string state: description: | The target state of the activity - Execute a task: `completed` - Skip activity: `skipped` - Make this call after all failed connectors have been reset ![edition](https://img.shields.io/badge/edition-entreprise-blue) - Replay activity: `replay` type: string example: variables: '[{"name":"foo","value":"bar"}]' state: completed ArchivedActivity: type: object description: Use this resource to retrieve finished activities (human or service tasks), call activities, and subprocesses. properties: id: type: string description: the archived activity id type: $ref: '#/components/schemas/ActivityType' name: type: string description: the archived activity technical name displayName: type: string description: the human readable archived activity name description: type: string description: the archived activity description displayDescription: type: string description: the human readable archived activity description state: $ref: '#/components/schemas/ActivityState' reached_state_date: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this archived activity reached the current state, for example '2014-10-17 16:05:42.626' last_update_date: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this archived activity was last updated, for example '2014-10-17 16:05:42.626) dueDate: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this archived activity is due, for example '2014-10-17 16:05:42.626' priority: $ref: '#/components/schemas/ActivityPriority' processId: type: string description: the process definition id of the process instance which define this archived activity parentCaseId: type: string description: the immediate containing process instance id (a.k.a case id) rootCaseId: type: string description: the top/root process instance id (a.k.a case id). In case of an "event sub process", `parentCaseId` will the id of the process instance called while `rootCaseId` will be the one from the caller case rootContainerId: type: string description: same as `rootCaseId` executedBy: type: string description: the id of the user who performed this archived activity. The archived activity has to be a human task otherwise its value will be 0 executedBySubstitute: type: string description: the id of the user who did actually performed the archived activity when it has been done in the name of someone else. Value is 0 otherwise actorId: type: string description: the id of the actor that can execute this archived activity, null otherwise assigned_id: type: string description: the user id that this archived activity is assigned to, or 0 if it is unassigned assigned_date: type: string description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current archived activity was assigned, for example '2014-10-17 16:05:42.626' sourceObjectId: type: string description: the original id of the archived activity before it was archived archivedDate: type: string description: the date (('yyyy-MM-dd HH:mm:ss.SSS')) when this archived activity was archived, for example '2014-10-17 16:05:42.626' AbstractTask: type: object properties: id: description: the task id type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ type: description: the task type type: string name: description: the task technical name type: string displayName: description: the human readable task name type: string description: description: the task description type: string displayDescription: description: the human readable task description type: string state: $ref: '#/components/schemas/ActivityState' reached_state_date: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task reached the current state for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ last_update_date: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task was last updated for example '2014-10-17 16:05:42.626) type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ dueDate: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task is due for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ priority: description: the priority (string) of the current task type: string processId: description: the process definition id of the process instance which define this task type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ parentCaseId: description: the immediate containing process instance id (case id) type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ parentTaskId: description: the parent Task id type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ rootCaseId: description: the top/root process instance id (case id). In case of an "event sub process" `parentCaseId` will the id of the process instance called while `rootCaseId` will be the one from the caller process instance type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ rootContainerId: description: same as rootCaseId type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ executedBy: description: the id of the user who performed this task. The task has to be a human task otherwise its value will be 0 type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ executedBySubstitute: description: the id of the user who did actually performed the task when it has been done in the name of someone else. Value is 0 otherwise type: string actorId: description: the id of the actor that can execute this task null otherwise type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ assigned_id: description: the user id that this task is assigned to or 0 if it is unassigned type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ assigned_date: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ isTerminal: description: True if the task is the last one in a flow type: boolean example: displayDescription: This is my subtask executedBySubstitute: 1 processId: 8367255255370238000 parentCaseId: 1 state: ready rootContainerId: 1 type: MANUAL_TASK assigned_id: 1 assigned_date: '2014-12-01 17:39:53.784' id: 40006 executedBy: 1 caseId: 1 priority: above_normal actorId: 1 description: This is my subtask name: My subtask reached_state_date: '2014-12-01 17:39:53.784' rootCaseId: 1 displayName: My subtask parentTaskId: 40001 dueDate: '2014-12-25 00:00:00.000' last_update_date: '2014-12-01 17:39:53.784' HumanTask: allOf: - $ref: '#/components/schemas/AbstractTask' - type: object description: | A Human task is Manual task or a User task. A User task is a task that can be done by a user. A Manual task is a subtask of a user task, and is also done by a user. example: displayDescription: null executedBySubstitute: 0 processId: 5826139717723008000 state: ready rootContainerId: 1002 type: USER_TASK assigned_id: null assigned_date: null id: 20004 executedBy: 0 caseId: 1002 priority: normal actorId: 102 description: null name: Analyse case reached_state_date: '2014-09-05 11:11:30.808' displayName: Analyse case dueDate: '2014-09-05 12:11:30.775' last_update_date: '2014-09-05 11:11:30.808' HumanTaskUpdateRequest: type: object properties: assigned_id: description: The id of the user to assign this Human task to type: string state: description: state of the HumanTask type: string example: assigned_id: '1234' state: new_state ManualTask: allOf: - $ref: '#/components/schemas/AbstractTask' - type: object description: Use the manualTask resource to access process subtasks. For archived subtasks use archivedManualTask. example: displayDescription: This is my subtask executedBySubstitute: 1 processId: 8367255255370238000 parentCaseId: 1 state: ready rootContainerId: 1 type: MANUAL_TASK assigned_id: 1 assigned_date: '2014-12-01 17:39:53.784' id: 40006 executedBy: 1 caseId: 1 priority: above_normal actorId: 1 description: This is my subtask name: My subtask reached_state_date: '2014-12-01 17:39:53.784' rootCaseId: 1 displayName: My subtask parentTaskId: 40001 dueDate: '2014-12-25 00:00:00.000' last_update_date: '2014-12-01 17:39:53.784' ManualTaskCreateRequest: type: object properties: parentTaskId: description: The parent task ID type: string state: description: The task state type: string name: description: The task name type: string description: description: The task description type: string priority: description: The task priority type: string dueDate: description: The task due date type: string assigned_id: description: The id of the user assigned to the task type: string example: parentTaskId: '40001' state: ready name: My subtask description: This is my subtask priority: above_normal dueDate: '2014-12-25 00:00:00.000' assigned_id: '1' ManualTaskUpdateRequest: type: object properties: state: description: State of the ManualTask (completed) type: string executedBy: description: Id of the task executor type: string example: state: completed executedBy: '1' Task: allOf: - $ref: '#/components/schemas/AbstractTask' - type: object description: A process task example: displayDescription: null executedBySubstitute: 0 processId: 9132099022957911000 parentCaseId: 5 state: ready rootContainerId: 5 type: USER_TASK assigned_id: 4 assigned_date: '2014-12-01 16:22:54.685' id: 10 executedBy: 0 caseId: 5 priority: normal actorId: 6 description: null name: Step1 reached_state_date: '2014-12-01 16:22:50.814' rootCaseId: 5 displayName: Step1 dueDate: '2014-12-01 17:22:50.809' last_update_date: '2014-12-01 16:22:50.814' UpdateTaskByIdRequest: type: object additionalProperties: true properties: state: description: state of the Task (completed) type: string displayName: description: display name of the Task type: string UserTask: allOf: - $ref: '#/components/schemas/AbstractTask' - type: object description: An executable task that is performed by a user. example: displayDescription: '' executedBySubstitute: 0 processId: 5826139717723008000 state: ready rootContainerId: 1002 type: USER_TASK assigned_id: null assigned_date: '' id: 20004 executedBy: 0 caseId: 1002 priority: normal actorId: 102 description: '' name: Analyse case reached_state_date: '2014-09-05 11:11:30.808' displayName: Analyse case dueDate: '2014-09-05 12:11:30.775' last_update_date: '2014-09-05 11:11:30.808' UserTaskUpdateRequest: type: object properties: state: description: The UserTask state type: string assigned_id: description: The id of the user assign to the UserTask type: string example: assigned_id: '1' state: skipped ContractConstraint: type: object properties: name: description: constraint name type: string expression: description: constraint expression type: string explanation: description: constraint explanation type: string inputNames: type: array items: type: string ContractInputType: type: string description: the contract input type (string) enum: - TEXT - BOOLEAN - DATE - INTEGER - DECIMAL - BYTE_ARRAY - FILE - LONG - LOCALDATE - LOCALDATETIME - OFFSETDATETIME ContractInput: type: object properties: description: description: input description type: string name: description: input name type: string multiple: description: true if input contains multiple values type: string type: $ref: '#/components/schemas/ContractInputType' inputs: type: array items: $ref: '#/components/schemas/ContractInput' Contract: type: object properties: constraints: type: array items: $ref: '#/components/schemas/ContractConstraint' inputs: type: array items: $ref: '#/components/schemas/ContractInput' AbstractArchivedTask: allOf: - $ref: '#/components/schemas/AbstractTask' - type: object description: An Archived task is a task that has been archived properties: sourceObjectId: type: string description: the original id of the task before it was archived maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ archivedDate: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ ArchivedHumanTask: allOf: - $ref: '#/components/schemas/AbstractArchivedTask' - type: object description: An Archived Human task is a User task or Manual task that has been archived example: displayDescription: '' executedBySubstitute: '0' processId: '5826139717723008213' state: skipped rootContainerId: '1002' type: USER_TASK assigned_id: '2' id: '240002' executedBy: '0' sourceObjectId: '20004' caseId: '1002' priority: normal actorId: '102' description: '' name: Analyse case reached_state_date: '2014-09-09 17:21:51.946' displayName: Analyse case archivedDate: '2014-09-09 17:21:51.986' dueDate: '2014-09-05 12:11:30.775' last_update_date: '2014-09-09 17:21:51.946' ArchivedManualTask: allOf: - $ref: '#/components/schemas/AbstractArchivedTask' - type: object description: Use the archivedManualTask resource to access archived process subtasks. example: displayDescription: this is a test executedBySubstitute: 1 processId: 8367255255370238000 parentCaseId: 1 state: completed rootContainerId: 1 type: MANUAL_TASK assigned_id: 1 id: 160007 sourceObjectId: 40003 executedBy: 1 caseId: 1 priority: highest actorId: 1 description: this is a test name: myTest reached_state_date: '2014-12-01 17:20:47.200' rootCaseId: 1 archivedDate: '2014-12-01 17:20:47.217' displayName: myTest parentTaskId: 40001 dueDate: '2014-12-17 00:00:00.000' last_update_date: '2014-12-01 17:20:47.200' ArchivedUserTask: allOf: - $ref: '#/components/schemas/AbstractArchivedTask' - type: object description: An executable task that has been performed by a user or skipped and is archived. example: displayDescription: null executedBySubstitute: 0 processId: 5826139717723008000 state: skipped rootContainerId: 1002 type: USER_TASK assigned_id: 2 id: 240002 executedBy: 0 caseId: 1002 priority: normal actorId: 102 description: null name: Analyse case reached_state_date: '2014-09-09 17:21:51.946' displayName: Analyse case archivedDate: '2014-09-09 17:21:51.986' dueDate: '2014-09-05 12:11:30.775' last_update_date: '2014-09-09 17:21:51.946' ArchivedTask: allOf: - $ref: '#/components/schemas/AbstractArchivedTask' - type: object description: Use the archived task resource to get information about archived tasks. example: displayDescription: null executedBySubstitute: 4 processId: 9132099022957911000 parentCaseId: 5 state: completed rootContainerId: 5 type: USER_TASK assigned_id: 4 id: 9 sourceObjectId: 10 executedBy: 4 caseId: 5 priority: normal actorId: 6 description: null name: Step1 reached_state_date: '2014-12-01 16:24:32.457' rootCaseId: 5 archivedDate: '2014-12-01 16:24:32.460' displayName: Step1 dueDate: '2014-12-01 17:22:50.809' last_update_date: '2014-12-01 16:24:32.457' ActivityVariable: type: object description: This resource enables you to retrieve the value of a specific variable name for a specific process instance (or case). Only persistent variables are concerned by this resource, not transient variables. properties: id: description: The identifier of the variable type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ id_string: description: number (since 7.0.1) type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ name: description: The name of the activity variable type: string description: description: The description of the variable if any type: string transientData: description: 'FALSE' type: string className: description: The fully qualified class name of the variable type type: string containerId: description: The ID of the activity containing this variable (same as the one passed as parameter) if the variable is defined at activity level or ID of the process instance if the variable is defined on the process type: string containerId_string: description: number (since 7.0.1) type: string containerType: description: ACTIVITY_INSTANCE | PROCESS_INSTANCE depending on whether the variable is defined at activity or process level. type: string enum: - ACTIVITY_INSTANCE - PROCESS_INSTANCE value: description: the value of this variable. The format of the value depends on the type of the variable type: string example: id: 5010 id_string: 5010 name: RequestValidationData description: null transientData: false className: java.lang.String containerId: 20004 containerId_string: 20004 containerType: ACTIVITY_INSTANCE value: Confirmed ArchivedActivityVariable: type: object description: This resource enables you to retrieve the value of a specific archived variable name for a specific case (or process instance). Only persistent variables are concerned by this resource, not transient variables. properties: name: description: The name of the archived activity variable type: string description: description: The description of the variable if any type: string type: description: The fully qualified class name of the variable type type: string containerId: description: The ID of the activity containing this variable (same as the one passed as parameter) type: string containerType: description: ACTIVITY_INSTANCE type: string value: description: the value of this variable. The format of the value depends on the type of the variable type: string archivedDate: description: The date when this variable was archived. The date format is yyyy-MM-dd HH:mm:ss.SSS type: string sourcedObjectId: description: The id of the activity variable before it was archived type: string example: name: RequestValidationData description: null type: java.lang.String containerId: 20004 containerType: ACTIVITY_INSTANCE value: Confirmed archivedDate: '2021-12-27 23:10:59.342' sourceObjectId: 42 ProcessInstanceVariable: type: object description: A process instance variable properties: description: description: Detailed description of the process instance variable, as set in the definition at design-time type: string name: description: name of the variable in the process instance type: string value: description: the current value of the process instance variable type: string case_id: description: ID of the process instance this variable belongs to type: string type: description: the Java type of the variable type: string example: description: '' name: myInvoiceAmount value: '14.2' case_id: 1 type: java.lang.Float ArchivedProcessInstanceVariable: type: object description: An archived case variable properties: name: description: The name of the variable type: string description: description: Detailed description of the case variable, as set in the definition at design-time type: string type: description: The fully qualified class name of the variable type type: string case_id: description: ID of the case this variable belongs to type: string value: description: the value of this variable. The format of the value depends on the type of the variable type: string archivedDate: description: The date when this variable was archived. The date format is yyyy-MM-dd HH:mm:ss.SSS type: string sourcedObjectId: description: The id of the variable before it was archived type: string example: name: RequestValidationData description: null type: java.lang.String case_id: 20004 value: Confirmed archivedDate: '2021-12-27 23:10:59.342' sourceObjectId: 42 ProcessInstanceVariableUpdateRequest: type: object properties: type: description: the java class name type: string value: description: the new value type: string example: type: java.lang.String value: My new value ProcessInstanceDocument: type: object description: A document in an active case properties: id: description: documentId type: string creationDate: description: date and time type: string author: deprecated: true description: submittorUserId type: string index: description: index in a list of documents, or -1 for a single document type: string contentMimetype: description: MIME type type: string caseId: description: caseId type: string contentStorageId: description: storageId type: string isInternal: description: '`true` if the the document object contains the content directly. `false` if the document is specified by URL so the document object contains a reference to the content, not the content itself.' type: boolean description: description: description type: string name: description: name type: string fileName: description: filename type: string submittedBy: description: submittorUserId type: string url: description: urlForDownload type: string version: description: version type: string example: id: '3' creationDate: '2014-10-09 16:45:36.658' author: '1' index: '-1' contentMimetype: application/octet-stream caseId: '1' contentStorageId: '4' isInternal: 'true' description: draft name: Doc 1 fileName: document_1.jpg submittedBy: '1' url: documentDownload?fileName=document_1.jpg&contentStorageId=4 version: '1' ProcessInstanceDocumentCreateRequest: type: object properties: caseId: description: The process instance id type: string file: description: The local file name to upload from (as from the temp upload folder) type: string url: description: The remote url to upload from type: string name: description: The file display name type: string fileName: description: The target file name type: string description: description: The document description type: string example: caseId: '1' file: doc.jpg name: Doc 1 fileName: document_1.jpg description: draft ProcessInstanceDocumentUpdateRequest: type: object properties: file: description: The local file name to upload from (as from the temp upload folder) type: string url: description: The remote url to upload from type: string name: description: The file display name type: string fileName: description: The target file name type: string description: description: The document description type: string example: file: Expense policy rev2.pdf description: updated version of document fileName: revision2.pdf ArchivedProcessInstanceDocument: allOf: - $ref: '#/components/schemas/ProcessInstanceDocument' - type: object description: A document in an active case properties: sourceObjectId: description: original document id type: string archivedDate: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ example: id: '1' creationDate: '2014-10-09 16:39:52.472' author: '1' index: '0' contentMimetype: text/plain caseId: '1' contentStorageId: '1' isInternal: 'true' description: '' name: myDoc fileName: test1.txt submittedBy: '1' url: documentDownload?fileName=test1.txt&contentStorageId=1 version: '1' sourceObjectId: '1' archivedDate: '2014-10-09 17:39:52.473' Actor: type: object description: '' properties: id: description: actor id type: integer format: int64 process_id: description: process definition id type: integer format: int64 description: description: a description of the actor type: string name: description: name of the actor (as specified on human tasks and for the initiator of the process) type: string displayName: description: the display name of the actor type: string example: id: '1' process_id: '4717422838168315799' description: null name: employee displayName: Employee actor ActorUpdateRequest: type: object properties: displayName: description: display name of the Actor type: string description: description: description of the Actor type: string example: displayName: My actor description: My actor description ActorMember: type: object description: An actor member represents the association between the organization and the actor af a process. In an organization we have four member_types = USER, GROUP, ROLE and MEMBERSHIP (role in a group). You can assign a actor to a user by specifying a role and or a group, or specific user. properties: id: description: actor member id type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ actor_id: description: id of the actor for this mapping type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ role_id: description: id of role, or -1 if the member type is not role type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ group_id: description: id of group, or -1 if the member type is not group type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ user_id: description: id of user, or -1 if the member type is not user type: string maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ example: id: '206' actor_id: '2' role_id: '4' group_id: '8' user_id: '-1' ProcessInstance: type: object description: ProcessInstance (Case) is an instance of a process. When you start a process, it creates a process instances. properties: id: description: the identifier of the ProcessInstance (Case) type: string end_date: description: the date set when the process instance is closed type: string failedFlowNodes: description: count of failed flow nodes if parameter n=failedFlowNodes is given type: string startedBySubstitute: description: the identifier of the substitute user (as Process manager or Administrator) who started the process. It can be also the substitute user if d=startedBySubstitute is given. type: string start: description: the starting date of the case type: string activeFlowNodes: description: count of active flow nodes if parameter n=activeFlowNodes is given type: string state: description: 'state: an enum that represent the state of the process instances' type: string enum: - initializing - started - suspended - cancelled - aborted - completing - completed - error - aborting rootCaseId: description: the identifier of the container of the case type: string started_by: description: the identifier of the user who started the case type: string processDefinitionId: description: the identifier of the process related of the case type: string last_update_date: description: the date of the last update done on the case type: string searchIndex1Label: description: the 1st search index label (from 6.5, in Subscription editions only) type: string searchIndex2Label: description: the 2nd search index label (from 6.5, in Subscription editions only) type: string searchIndex3Label: description: the 3rd search index label (from 6.5, in Subscription editions only) type: string searchIndex4Label: description: the 4th search index label (from 6.5, in Subscription editions only) type: string searchIndex5Label: description: the 5th search index label (from 6.5, in Subscription editions only) type: string searchIndex1Value: description: the 1st search index value (from 6.5, in Subscription editions only) type: string searchIndex2Value: description: the 2nd search index value (from 6.5, in Subscription editions only) type: string searchIndex3Value: description: the 3rd search index value (from 6.5, in Subscription editions only) type: string searchIndex4Value: description: the 4th search index value (from 6.5, in Subscription editions only) type: string searchIndex5Value: description: the 5th search index value (from 6.5, in Subscription editions only) type: string callerId: description: the identifier of the BPM entity who started the process. E.g. the call activity instance Id if it was started by a call activity or -1 if it was started by a user (since version 10.3 - 2025.1) type: string example: id: 1 end_date": '' failedFlowNodes": 9 startedBySubstitute": 345 start": '2014-11-27 17:55:00.906' activeFlowNodes": '9' state": started rootCaseId": '1' callerId": '-1' started_by": 989 processDefinitionId": '5777042023671752656' last_update_date": '2014-11-27 17:55:00.906' searchIndex1Label: mySearchIndex1Label searchIndex2Label: mySearchIndex2Label searchIndex3Label: mySearchIndex3Label searchIndex4Label: mySearchIndex4Label searchIndex5Label: mySearchIndex5Label searchIndex1Value: mySearchIndex1Value searchIndex2Value: mySearchIndex2Value searchIndex3Value: mySearchIndex3Value searchIndex4Value: mySearchIndex4Value searchIndex5Value: mySearchIndex5Value ProcessVariable: type: object additionalProperties: type: object properties: name: description: variable name type: string ProcessInstanceCreateRequest: type: object properties: processDefinitionId: description: the process definition Id type: string variables: description: process variables initial values type: array items: $ref: '#/components/schemas/ProcessVariable' example: processDefinitionId: '5777042023671752656' variables: - name: stringVariable value: aValue - name: dateVariable value: 349246800000 - name: numericVariable value: 55 ProcessInstanceUpdateRequest: type: object properties: state: description: 'state of the ProcessInstance (the only supported value is: cancelled)' type: string example: state: cancelled ArchivedProcessInstance: allOf: - $ref: '#/components/schemas/ProcessInstance' - type: object description: A completed instance of a process. properties: sourceObjectId: description: the id of the process instance before it was archived type: string archivedDate: description: the date set when the process instance was archived type: string example: id: 9 end_date: '2014-10-22 10:57:00.299' startedBySubstitute: '4' sourceObjectId: '3' start: '2014-10-22 10:56:53.415' state: completed rootCaseId: '3' callerId": '-1' started_by: '4' archivedDate: '2014-10-22 10:57:00.299' processDefinitionId: '6054482369194211518' last_update_date": '2014-10-22 10:57:00.299' searchIndex1Label: case9SearchIndex1Label searchIndex2Label: case9SearchIndex2Label searchIndex3Label: case9SearchIndex3Label searchIndex4Label: case9SearchIndex4Label searchIndex5Label: case9SearchIndex5Label searchIndex1Value: case9SearchIndex1Value searchIndex2Value: case9SearchIndex2Value searchIndex3Value: case9SearchIndex3Value searchIndex4Value: case9SearchIndex4Value searchIndex5Value: case9SearchIndex5Value ProcessInstanceInfo: type: object description: 'Retrieves information about a process instances. It returns counters for each flow node in the process instances, showing the number of flow node instances that are in each state (possible states are: ready, executing, waiting, initializing, failed, completing, completed, skipped, cancelled, aborted). If there are no flow node instances in a given state, no counter is returned for that state for the flow node.' properties: id: description: case identifier type: string flowNodeStatesCounters: type: object description: flow nodes counters additionalProperties: type: object properties: completed: description: number of instance of the given Flow Node in completed state type: integer format: int64 skipped: description: number of instance of the given Flow Node in skipped state type: integer format: int64 cancelled: description: number of instance of the given Flow Node in cancelled state type: integer format: int64 aborted: description: number of instance of the given Flow Node in aborted state type: integer format: int64 ready: description: number of instance of the given Flow Node in ready state type: integer format: int64 failed: description: number of instance of the given Flow Node in failed state type: integer format: int64 executing: description: number of instance of the given Flow Node in executing state type: integer format: int64 waiting: description: number of instance of the given Flow Node in waiting state type: integer format: int64 initializing: description: number of instance of the given Flow Node in initializing state type: integer format: int64 completing: description: number of instance of the given Flow Node in completing state type: integer format: int64 example: id: 123 flowNodeStatesCounters: Step1: completed: 2 ready: 1 executing: 5 Step3: completed: 10 failed: 2 ProcessInstanceComment: type: object description: '' properties: id: description: the comment id type: string content: description: the comment content type: string processInstanceId: description: the process instance (case) the comment is associated to type: string postDate: description: the comment creation date type: string userId: description: the user that created the comment type: string example: content: Need to review the last inputs of this case id: '20005' processInstanceId: '1' postDate: '2016-06-16 14:51:33.053' userId: 9798 ProcessInstanceCommentCreateRequest: type: object properties: processInstanceId: description: the process instance (case) the comment is associated to type: string content: description: the comment content type: string example: processInstanceId: '5777042023671752656' content: The process instance has been started ArchivedProcessInstanceComment: allOf: - $ref: '#/components/schemas/ProcessInstanceComment' - type: object description: Information about the comment of an archived process instances. properties: archivedDate: description: the date set when the process instance comment was archived type: string example: id: 20005 content: Need to review the last inputs of this case processInstanceId: 1 postDate: '2016-06-16 14:51:33.053' archivedDate: '2016-06-17 10:18:24.723' userId: 30 ProcessDefinition: type: object description: '' properties: id: description: the identifier of the process definition (long) type: string icon: description: icon path type: string displayDescription: description: the human readable activity description type: string deploymentDate: description: the date when the process definition was deployed type: string description: description: the process description type: string activationState: $ref: '#/components/schemas/ActivationState' name: description: the process name type: string deployedBy: description: the id of the user who deployed the process type: string displayName: description: the human readable process description type: string actorinitiatorid: description: the id of the actor that can initiate process instances of the process type: string last_update_date: description: the date when the process definition was last updated type: string configurationState: $ref: '#/components/schemas/ConfigurationState' version: description: the version of the process type: string ProcessCreateRequest: type: object properties: fileupload: description: the bar file to deploy (previously uploaded in tmp folder) type: string example: fileupload: tmp_4431838172282406107.bar ProcessUpdateRequest: type: object properties: displaydescription: description: description of the Process type: string displayName: description: display name of the Process type: string activationState: $ref: '#/components/schemas/ActivationState' example: displayName: Leave booking process FlowElementContainerDefinition: type: object description: Allows to access all flow elements (activities, gateways, events and transitions) of a process or sub-process. properties: activities: type: array items: type: object additionalProperties: true transitions: type: array items: type: object additionalProperties: true gatewaysList: type: array items: type: object additionalProperties: true startEvents: type: array items: type: object additionalProperties: true intermediateCatchEvents: type: array items: type: object additionalProperties: true intermediateThrowEvents: type: array items: type: object additionalProperties: true endEvents: type: array items: type: object additionalProperties: true dataDefinitions: type: array items: type: object additionalProperties: true documentDefinitions: type: array items: type: object additionalProperties: true connectors: type: array items: type: object additionalProperties: true businessDataDefinitions: type: array items: type: object additionalProperties: true documentListDefinitions: type: array items: type: object additionalProperties: true DesignProcessDefinitionParamater: type: object properties: type: description: the parameter type type: string description: description: the parameter description type: string name: description: the parameter name type: string ActorDefinition: type: object description: Actor definition properties: name: description: the actor name type: string description: description: the actor description type: string initiator: description: true, if this actor can start the process type: boolean Expression: type: object properties: id: description: the expression id type: string name: description: the expression name type: string content: description: the expression content type: string expressionType: description: the expression type type: string returnType: description: the expression return type type: string interpreter: description: the expression interpreter type: string dependencies: description: the expression dependencies type: array items: $ref: '#/components/schemas/Expression' DesignProcessDefinitionContext: type: object description: The process definition expressions properties: key: type: string expression: $ref: '#/components/schemas/Expression' DesignProcessDefinition: type: object description: Represents the Design Definition of a process. It gives access to process attributes. properties: displayName: description: The process definition display name type: string displayDescription: description: The process definition display description name type: string flowElementContainer: $ref: '#/components/schemas/FlowElementContainerDefinition' parameters: description: The process parameter definitions type: array items: $ref: '#/components/schemas/DesignProcessDefinitionParamater' actorsList: description: The list of process actor definitions type: array items: $ref: '#/components/schemas/ActorDefinition' actorInitiator: $ref: '#/components/schemas/ActorDefinition' stringIndexLabels: description: The process definition labels type: array items: type: string stringIndexValues: description: The process definition expressions type: array items: $ref: '#/components/schemas/Expression' contract: description: the process instantiation contract $ref: '#/components/schemas/Contract' context: description: The process definition expressions type: array items: $ref: '#/components/schemas/DesignProcessDefinitionContext' ProcessInstantiationResponse: type: object properties: caseId: type: string example: caseId: '12345678' ProcessName: type: object description: | A group of deployed processes that share the same `(name, displayName)` pair, with the list of their deployed versions. Returned by `GET /API/bpm/processName`, which collapses the process deployment information into one entry per distinct name and display name. required: - name - displayName - versions properties: name: description: Technical name shared by every version in this group. type: string displayName: description: Human-readable name shared by every version in this group. Defaults to the process technical name when no display name was set at deployment. type: string versions: description: | Deployed versions of the process sharing this name and display name. When an `activationState` filter is supplied, only the versions in that state are listed. Always contains at least one entry. type: array minItems: 1 items: type: string example: name: InvoiceApproval displayName: Invoice Approval versions: - '1.0' - '1.1' - '2.0' ProcessInfo: type: object description: 'Retrieves the execution data of all open cases of a process. It returns counters for each flow node in the process, showing the number of flow node instances that are in an non-final state (possible states are: ready, executing, waiting, initializing, failed, completing). If there are no flow node instances in a given state, no counter is returned for that state for the flow node.' properties: processDefinitionId: description: process identifier type: string flowNodeStatesCounters: type: object description: flow nodes counters additionalProperties: type: object properties: ready: description: number of instance of the given Flow Node in ready state type: integer format: int64 failed: description: number of instance of the given Flow Node in failed state type: integer format: int64 executing: description: number of instance of the given Flow Node in executing state type: integer format: int64 waiting: description: number of instance of the given Flow Node in waiting state type: integer format: int64 initializing: description: number of instance of the given Flow Node in initializing state type: integer format: int64 completing: description: number of instance of the given Flow Node in completing state type: integer format: int64 example: processDefinitionId: 123 flowNodeStatesCounters: Step1: executing: 2 ready: 1 failed: 5 Step3: ready: 10 failed: 2 UpdateProcessConnectorByProcessIdRequest: type: object properties: id: description: Id of the process for which to update the connector, combined with connector name and version separated by slashes (x/y/z) type: string implementation: description: Previously uploaded temp file name of the updated version of the connector (returned by the [upload file api](#operation/uploadFile)) type: string example: id: 8491796209115952722/scripting-groovy-script/1.0.1 implementation: tmp_7006630415905915150.zip ProcessParameter: type: object description: '' properties: process_id: description: the identifier of the process definition type: string process_name: description: the name of the related process type: string description: description: the description of the parameter type: string name: description: the name of the parameter type: string value: description: the value of the parameter type: string process_version: description: the version of the process type: string type: description: the type of the parameter type: string example: process_id: 4880205209556179000 process_name: myProcessName description: myProcessDescription name: myParameterName value: myParameterValue process_version: '1.0' type: java.lang.String ProcessParameterUpdateRequest: type: object properties: value: description: value of the Process Parameter type: string example: value: myNewValue ProcessResolutionProblem: type: object description: This resource represents a problem in a process that needs to be resolved for the process to run. It can be an actor, a connector implementation, or a parameter (in the Enterprise, Performance, Efficiency, or Teamwork edition). properties: message: description: resolution problem type: string resource_id: description: id of the unresolved resource type: string target_type: description: the type of the unresolved resource (parameter, actor, or connector) type: string ProcessSupervisor: type: object description: The process supervisor has management rights over a process. He can configure and monitor it. You can give the ProcessSupervisor rights to some users by specifying a role and or a group, or a specific user. In order to be able to manage the processes he supervises in the portal, a user should also have the profile `Process Manager` properties: process_id: description: Id of the process type: string role_id: description: Id of role, or -1 if the supervisor type is not role or membership type: string group_id: description: Id of group, or -1 if the supervisor type is not group or membership type: string user_id: description: Id of user, or -1 if the supervisor type is not user type: string example: process_id: 8040901857674754000 user_id: 2 role_id: -1 group_id: -1 ProcessConnectorDependency: type: object description: Use the processConnectorDependency resource to access connector dependencies. properties: connector_version: description: type: string connector_process_id: description: type: string filename: description: type: string connector_name: description: type: string example: connector_version: 1.0.0 connector_process_id: 4971555129176050000 filename: bonita-connector-email-impl-1.0.12.jar connector_name: email ConnectorFailure: type: object description: '' properties: errorMessage: description: the message of the connector failure type: string connectorInstanceId: description: the ID of the connector instance (see connectorInstance resource documentation) type: string errorStackTrace: description: the stack trace of the error type: string example: errorMessage: Error while executing the groovy script connectorInstanceId: 5 errorStackTrace: "org.bonitasoft.engine.core.connector.exception.SConnectorException: PROCESS_DEFINITION_ID=8030057793979348308 | PROCESS_NAME=Pool1 | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=5 | ROOT_PROCESS_INSTANCE_ID=5 | FLOW_NODE_DEFINITION_ID=-6089366458284481881 | FLOW_NODE_INSTANCE_ID=12 | FLOW_NODE_NAME=Étape1 | CONNECTOR_DEFINITION_IMPLEMENTATION_CLASS_NAME=expression execution connector | CONNECTOR_INSTANCE_ID=5 | org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: java.lang.Exception: Error while executing the groovy script\n\tat org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnectorInClassloader(ConnectorServiceImpl.java:332)" ConnectorInstance: type: object description: '' properties: containerType: description: the type of the containing activity type: string connectorId: description: the connector id type: string id: description: 'the connector instance id ' type: integer format: int64 name: description: the connector name type: string activationEvent: description: the name of the event that activated the connector instance type: string enum: - ON_ENTER - ON_FINISH state: description: the connector state type: string enum: - TO_BE_EXECUTED - EXECUTING - TO_RE_EXECUTE - DONE - FAILED - SKIPPED containerId: description: the containing activity instance id type: string version: description: the connector version type: string example: containerType: flowNode connectorId: scripting-groovy-script id: 3 name: hello world activationEvent: ON_FINISH state: TO_BE_EXECUTED containerId: 15 version: 1.0.0 ArchivedConnectorInstance: allOf: - $ref: '#/components/schemas/ConnectorInstance' - type: object description: Information about archived connector instances attached to an archived process or an archived flow node. properties: archivedDate: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ FlowNode: type: object description: A flow node (gateway, event, or task) in an open instance of a process. properties: id: description: 'the flow node id ' type: string displayDescription: description: 'the human readable flow node description ' type: string executedBySubstitute: description: the id of the user who really performed this flow node when a substitute did it, or 0 if the flow node was not performed by a substitute type: string caseId: description: the process instance id that is associated with this flow node type: string parentCaseId: description: the parent process instance id that is associated with this flow node's case type: string rootCaseId: description: the root process instance initiator id that is associated with this flow node's case type: string processId: description: the process id that is associated with this flow node type: string rootContainerId: description: the root process id of the root process instance that is associated with this flow node type: string state: description: the current state of the flow node (ready, completed, failed) type: string type: description: 'the flow node type ' type: string assigned_id: description: the user id that this flow node is assigned to, or 0 if it is unassigned type: string assigned_date: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current flow node was assigned, for example '2014-10-17 16:05:42.626' type: string executedBy: description: the id of the user who executed the flow node, or 0 if the flow node has not been executed type: string priority: description: the priority of the current flow node type: string actorId: description: the id of the actor that can execute this flow node, null otherwise type: string description: description: 'the flow node description ' type: string name: description: 'the flow node name ' type: string reached_state_date: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this flow node reached the current state, for example '2014-10-17 16:05:42.626' type: string displayName: description: the display name of this flow node type: string dueDate: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this flow node is due, for example '2014-10-17 16:05:42.626' type: string last_update_date: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when this flow node was last updated, for example '2014-10-17 16:05:42.626) type: string parentTaskId: description: 'in case of a subtask, the parent task id ' type: string example: displayDescription": '' executedBySubstitute": 0 processId": 7596769292810274000 parentCaseId": 1 state": failed rootContainerId": 1 type": USER_TASK assigned_id": null assigned_date": '' id": '77456' executedBy": 0 caseId": 1 priority": normal actorId": 4 description": '' name": Step1 reached_state_date": '2014-12-10 08:59:47.884' rootCaseId": 1 displayName": Step1 dueDate": '2014-12-10 09:59:47.855' last_update_date": '2014-12-10 08:59:47.884' FlowNodeUpdateRequest: type: object properties: state: description: state of the FlowNode type: string example: state: replay ArchivedFlowNode: allOf: - $ref: '#/components/schemas/FlowNode' - type: object description: A flow node (gateway or event or task) in an archived instance of a process. properties: sourceObjectId: description: the original id of the flowNode before it was archived type: string archivedDate: description: the date ('yyyy-MM-dd HH:mm:ss.SSS') when the current task was assigned for example '2014-10-17 16:05:42.626' type: string pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$ BPMFailure: type: object description: A failure that happened during a BPM instance (flow node, process) execution that led to the instance being in a failed state. properties: caseId: description: the id of the process instance in which that failure occurred type: string rootCaseId: description: the id of the root process instance in which that failure occurred type: string context: description: Context of the failure type: string errorMessage: description: the message of the exception type: string failureDate: description: the date when the failure occurred in milliseconds since epoch type: string flowNodeInstanceId: description: the id of the flow node instance in which the failure occurred type: string id: description: the failure id type: string processDefinitionId: description: the process id that is associated with the flow node or case instance of the failure type: string scope: description: the scope of the failure (General information, Operation, Event, Iteration, Connector, Data initialization, Actor mapping, Outgoing transition, or UNKNOWN) type: string stackTrace: description: the stack trace of the exception type: string example: caseId: '2' rootCaseId: '1' context: expression::setvariable_decision errorMessage: Error while executing operations failureDate: '1732564534177' flowNodeInstanceId: '70' id: '456' processDefinitionId: '45' scope: Operation stackTrace: Exception in thread 'main' org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException ArchivedBPMFailure: type: object description: The archived version of a failure that happened during a BPM instance (flow node, process) execution that led to the instance being in a failed state. properties: archivedDate: type: string description: the date when this failure was archived, in milliseconds since epoch caseId: description: the id of the process instance in which that failure occurred type: string rootCaseId: description: the id of the root process instance in which that failure occurred type: string context: description: Context of the failure type: string errorMessage: description: the message of the exception type: string failureDate: description: the date when the failure occurred in milliseconds since epoch type: string flowNodeInstanceId: description: the id of the flow node instance in which the failure occurred type: string id: description: the archived failure id type: string processDefinitionId: description: the process id that is associated with the flow node or case instance of the failure type: string scope: description: the scope of the failure (General information, Operation, Event, Iteration, Connector, Data initialization, Actor mapping, Outgoing transition, or UNKNOWN) type: string sourceObjectId: type: string description: the original id of the failure before it was archived stackTrace: description: the stack trace of the exception type: string example: archivedDate: '1732564904376' caseId: '10' rootCaseId: '9' context: expression::setvariable_decision errorMessage: Error while executing operations failureDate: '1732564534177' flowNodeInstanceId: '70' id: '456' processDefinitionId: '45' scope: Operation sourceObjectId: '23' stackTrace: Exception in thread 'main' org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException TimerEventTrigger: type: object description: BPM timer event triggers properties: id: description: the ID of the timer returned type: string id_string: description: the ID of the timer returned type: string eventInstanceId: description: the ID of the event instance to which this trigger is related type: string eventInstanceId_string: description: the ID of the event instance to which this trigger is related type: string executionDate: description: the long value of the next execution date (number of milliseconds from January 1st, 1970 00:00:00) type: string eventInstanceName: description: the name of the event instance to which this trigger is related type: string example: id: 4015 id_string: '4015' eventInstanceId: 2 eventInstanceId_string: '2' executionDate: 1413980484194 eventInstanceName: Timer1 TimerEventTriggerUpdateRequest: type: object properties: executionDate: description: executionDate of the TimerEventTrigger type: integer format: int64 example: executionDate: 1433980484194 TimerEventTriggerUpdateResponse: type: object properties: executionDate: description: executionDate of the TimerEventTrigger type: integer format: int64 example: executionDate: 1433980484194 Message: type: object description: Use this resource to send BPM message events. Message events are caught by processes using `catch message event` flow nodes (Start, intermediate, boundary or receive tasks). properties: messageName: description: the message name type: string targetProcess: description: the target process name type: string targetFlowNode: description: the target FlowNode name type: string messageContent: description: the message content type: object additionalProperties: type: object required: - value properties: value: description: '' type: string type: description: | Date types must be in the ISO-8601 format. When not set, the type is guessed using the value. Be careful as it can lead to type inconsistency in the target process (eg: a java.lang.Long is expected and the guessed type is a java.lang.Integer) type: string enum: - java.lang.String - java.lang.Boolean - java.lang.Integer - java.lang.Double - java.lang.Float - java.lang.Long - java.util.Date - java.time.LocalDate - java.time.LocalDateTime - java.time.OffsetDateTime correlations: description: the message correlations type: object maxItems: 5 additionalProperties: type: object required: - value properties: value: description: '' type: string type: description: | Date types must be in the ISO-8601 format. When not set, the type is guessed using the value. Be careful as it can lead to type inconsistency in the target process (eg: a java.lang.Long is expected and the guessed type is a java.lang.Integer) type: string enum: - java.lang.String - java.lang.Boolean - java.lang.Integer - java.lang.Double - java.lang.Float - java.lang.Long - java.util.Date - java.time.LocalDate - java.time.LocalDateTime - java.time.OffsetDateTime Signal: type: object description: Signal properties: name: description: the signal name type: string CustomUserDefinition: type: object description: Custom user definition properties: id: description: definition id type: string description: description: definition description type: string name: description: definition name type: string example: id: 101 name: skill description: Team player CustomUserDefinitionCreateRequest: type: object properties: name: description: definition name type: string description: description: definition description type: string example: name: skill description: Team player CustomUserValue: type: object description: '' properties: userId: description: user id type: string value: description: definition value type: string definitionId: description: definition id type: string CustomUserValueUpdateRequest: type: object properties: value: description: new value to set type: string example: value: My new value CustomUser: type: object description: Custom user defintion and value properties: userId: description: user id type: string value: description: definition value type: string definitionId: $ref: '#/components/schemas/CustomUserDefinition' FormMapping: type: object description: Form Mapping specifies the mapping of a form to a process or a task. The mapping indicates the technology used to create the form, in the `target` attribute. properties: id: description: the form mapping identifier type: string processDefinitionId: description: the process identifier related to this form mapping type: string type: description: the form mapping type type: string enum: - PROCESSSTART - PROCESSOVERVIEW - TASK target: description: the target type: string enum: - URL - INTERNAL - LEGACY - UNDEFINED - NONE task: description: the task name when type is TASK - null otherwise type: string pageId: description: the custom page identifier when type is INTERNAL - null otherwise type: string pageMappingKey: description: the page mapping key part used to generate the form URL type: string lastUpdateBy: description: the identifier of the user who last updated this form mapping - 0 if no update has been done yet type: string lastUpdateDate: description: the last update date in milliseconds - null if no update has been done yet type: string url: description: the external URL (string) when type is URL - null otherwise type: string example: id: 5 processDefinitionId: 7281286536417002000 type: TASK target: URL task: Validate Feedback pageId: null pageMappingKey: taskInstance/myProcess/1.0/Validate Feedback lastUpdatedBy: 4 lastUpdateDate: 1425295012666 url: http://customerportal.bonitasoft.com FormMappingUpdateRequest: type: object properties: pageId: description: pageId of the FormMapping type: string url: description: url of the FormMapping type: string example: pageId: '123' url: http://somewhe.re/over/the/rainbow ProfessionalContactData: type: object description: '' required: - id properties: id: description: user ID type: string fax_number: description: fax number type: string building: description: building type: string phone_number: description: phone number type: string website: description: website type: string zipcode: description: zipcode type: string state: description: state type: string city: description: city type: string country: description: country type: string mobile_number: description: mobile phone number type: string address: description: address type: string room: description: room type: string email: description: email type: string example: id: 4 fax_number: 484-302-0766 building: '70' phone_number: 484-302-5766 website: '' zipcode: '19108' state: PA city: Philadelphia country: United States mobile_number: '' address: Renwick Drive email: walter.bates@acme.com room: '' Group: type: object description: Group required: - name properties: id: description: group ID type: string name: description: name type: string displayName: description: display name type: string parent_path: description: the path of the parent group of this group (empty if the group has no parent) type: string parent_group_id: description: the id of the parent group of this group (empty if the group has no parent) type: string path: description: the full path of the group (including its parent path) type: string description: description: description type: string creation_date: description: 'creation date (format: `2014-12-31 15:17:24.736`)' type: string created_by_user_id: description: id of the user who created the group (-1 if the group was created by the technical admin or by an organisation import) type: string last_update_date: description: 'last update date (format: `2014-12-31 15:17:24.736`)' type: string icon: description: icon path type: string example: id: 3 creation_date: '2014-12-02 11:33:48.501' created_by_user_id: -1 icon: '' parent_path: /acme description: This group represents the finance department of the ACME organization name: finance path: /acme/finance parent_group_id: 1 displayName: Finance last_update_date: '2014-12-02 11:33:48.501' GroupCreateRequest: type: object required: - name properties: name: description: name type: string displayName: description: display name type: string parent_group_id: description: the id of the parent group of this group (empty if the group has no parent) type: string description: description: description type: string icon: description: icon path type: string example: icon: '' name: HR displayName: Human Resources description: Human resources department GroupUpdateRequest: type: object required: - name properties: name: description: name type: string displayName: description: display name type: string parent_group_id: description: the id of the parent group of this group (empty if the group has no parent) type: string description: description: description type: string icon: description: icon path type: string example: name: HR displayName: Humman resources Membership: type: object description: '' properties: assigned_date: description: 'creation date (format: `2014-12-31 15:17:24.736`)' type: string role_id: description: id of the role of this membership type: integer format: int64 assigned_by_user_id: description: id of the user who created the membership (-1 if the role was created by the technical admin or by an organisation import) type: string group_id: description: id of the group of this membership type: string user_id: description: id of the user in this membership type: string example: assigned_date: '2014-12-02 17:57:09.315' role_id": 4 assigned_by_user_id: 12 group_id: 5 user_id: 125 MembershipCreateRequest: type: object required: - role_id - group_id - user_id properties: role_id: description: id of the role of this membership type: string group_id: description: id of the group of this membership type: string user_id: description: id of the user in this membership type: string example: user_id: '4' group_id: '5' role_id: '1' Role: type: object description: The role of a user in a group properties: id: description: role ID type: string name: description: name type: string displayName: description: display name type: string description: description: description type: string icon: description: icon path type: string creation_date: description: 'creation date (format: `2014-12-31 15:17:24.736`)' type: string created_by_user_id: description: Id of the user who created the role (-1 if the role was created by the technical admin or by an organisation import) type: string last_update_date: description: 'last update date (format: `2014-12-31 15:17:24.736`)' type: string example: icon: '' name: manager displayName: department manager description: manager of the department creation_date: '2014-12-01 18:51:54.791' created_by_user_id: 4 last_update_date: '2014-12-01 18:51:54.791' RoleCreateRequest: type: object required: - name properties: name: description: name type: string displayName: description: display name type: string description: description: description type: string icon: description: icon path type: string example: icon: '' name: manager displayName: department manager description: manager of the department RoleUpdateRequest: type: object required: - name properties: name: description: name type: string displayName: description: display name type: string description: description: description type: string icon: description: icon path type: string User: type: object properties: id: description: user id type: string enabled: description: if "true", user is active. type: string userName: description: user name type: string firstname: description: user last name type: string lastname: description: user last name type: string password: description: user password format: password type: string icon: description: ' bonita icon path (ie. /default/icon_user.png)' type: string title: description: user title type: string job_title: description: user job title type: string manager_id: description: user manager id type: string last_connection: description: last connection date type: string created_by_user_id: description: created by type: string creation_date: description: creation date type: string last_update_date: description: user last update date type: string UserCreateRequest: type: object required: - userName - password - password_confirm - firstname - lastname - enabled properties: userName: description: user name type: string firstname: description: user last name type: string lastname: description: user last name type: string password: description: user password format: password type: string password_confirm: description: user password confirmation format: password type: string icon: description: ' bonita icon path (ie. /default/icon_user.png)' type: string title: description: user title type: string job_title: description: user job title type: string manager_id: description: user manager id type: string enabled: description: true|false if the user is enabled or not type: string example: userName: New.User password: bpm password_confirm: bpm icon: '' firstname: New lastname: User title: Mr job_title: Human resources benefits manager_id: '3' enabled: 'true' UserUpdateRequest: type: object properties: enabled: description: if "true", user will be activated. type: string userName: description: user name type: string firstname: description: user last name type: string lastname: description: user last name type: string password: description: user password format: password type: string icon: description: ' bonita icon path (ie. /default/icon_user.png)' type: string title: description: user title type: string job_title: description: user job title type: string manager_id: description: user manager id type: string UserSummary: type: object description: | Lightweight projection of a User returned by the `identity/userSummary` resource: only the id, user name, first name, last name and job title. Attribute names are kept consistent with the `identity/user` resource. properties: id: description: user id type: string userName: description: user name type: string firstname: description: user first name type: string lastname: description: user last name type: string job_title: description: user job title. Optional on a user, `null` when unset. type: string nullable: true required: - id - userName - firstname - lastname Platform: type: object description: The bonita platform properties: state: description: platform state type: string enum: - STARTED - STOPPED version: description: the current version of the platform type: string initialVersion: description: the version in which the platform was created type: string previousVersion: description: the previous version the platform was in or empty if there is none type: string createdBy: description: the user name of the platform administrator type: string created: description: the creation date type: string example: createdBy: platformAdmin created: '2014-12-04 15:46:46.065' initialVersion: 6.4.0 state: STARTED previousVersion: '' version: 6.4.0 PlatformUpdateRequest: type: object properties: state: description: Platform state type: string enum: - start - stop example: state: stop PlatformLicense: type: object description: '' properties: licenseStartDate: description: date with format `yyyy-MM-dd` - first day (included) of license file validity type: string duration: description: number of days for license file validity type: string licenseExpirationDate: description: date with format `yyyy-MM-dd` - last day (included) of license file validity type: string numberOfCPUCores: description: number of CPUs type: string edition: description: name of the Bonita edition enabled by the license type: string licenseMode: description: available mode enabled by the license type: string requestKey: description: | request key to use to generate a new license on the customer portal If you have a subscription that specifies case-counter licensing, additional fields are present: type: string subscriptionStartPeriod: description: date with format `yyyy-MM-dd` - first day (included) of current period for number of process instances provisioned type: string subscriptionEndPeriod: description: date with format `yyyy-MM-dd` - last day (included) of current period for number of process instances provisioned type: string caseCounterLimit: description: number of process instances provisioned for period between `subscriptionStartPeriod` and `subscriptionEndPeriod` type: integer format: int64 caseCounter: description: number of consumed process instances for period between `subscriptionStartPeriod` and `subscriptionEndPeriod` type: integer format: int64 Page: type: object properties: id: description: page id type: string creationDate: description: date and time type: string createdBy: description: created by user id type: string isProvided: description: is provided type: boolean description: description: description type: string contentName: description: content name type: string displayName: description: custom page display name type: string updatedBy: description: updated by user id type: string lastUpdateDate: description: date and time type: string urlToken: description: custom page urlToken type: string PageCreateRequest: type: object properties: pageZip: description: Zip name as named in the temp folder after upload type: string example: pageZip: tmp_4338264789005487499.zip:new-bonita-angular-dashboard.zip PageUpdateRequest: type: object properties: pageZip: description: pageZip as named in the temp folder after upload type: string example: pageZip: tmp_4338264789005487499.zip:new-bonita-angular-dashboard.zip Profile: type: object description: Profile properties: id: description: profile id type: string creationDate: description: date and time of profile creation type: string icon: description: icon used in the portal to represent the profile type: string createdBy: description: id of the uer who created the profile type: string description: description: a description of the profile type: string name: description: profile name type: string isdefault: description: 'true | false ' type: boolean lastUpdateDate: description: date and time of the last update to the profile type: string updatedBy: description: the id of the user who last updated the profile type: string example: id: 101 creationDate: '2014-12-04 16:29:23.434' icon: /profiles/profileDefault.png createdBy: 1 description: This is my custom profile name: MyCustomProfile is_default: false lastUpdateDate: '2014-12-04 16:29:23.434' updatedBy: 1 ProfileCreateRequest: type: object properties: description: description: a description of the profile type: string name: description: profile name type: string example: name: MyCustomProfile description: This is my custom profile ProfileUpdateRequest: type: object properties: description: description: description of the Profile type: string displayName: description: display name of the Profile type: string example: displayName: My app description: My application description ProfileEntry: type: object description: Profile entry properties: id: description: profileEntry id type: string icon: description: icon used in the portal to represent a profileEntry type: string index: description: position in a menu type: string profile_id: description: id of the profile that contains this profileEntry type: string page: description: pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry type: string description: description: description type: string name: description: name of the profileEntry type: string type: description: link (if menu item) | folder (if menu) type: string isCustom: description: ' true | false ' type: boolean parent_id: description: id or parent profileEntry if in a folder type: string ProfileEntryCreateRequest: type: object properties: profile_id: description: id of the profile that contains this profileEntry type: string page: description: pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry type: string description: description: description type: string name: description: name of the profileEntry type: string type: description: link (if menu item) | folder (if menu) type: string isCustom: description: ' true | false ' type: boolean parent_id: description: id or parent profileEntry if in a folder type: string example: page: tasklistingadmin parent_id: '0' name: Test menu profile_id: '102' type: link isCustom: false ProfileEntryUpdateRequest: type: object properties: profile_id: description: id of the profile that contains this profileEntry type: string page: description: pageToken (menu name or menu item name) used in a portal menu to identify the page associated with the profileEntry type: string description: description: description type: string name: description: name of the profileEntry type: string type: description: link (if menu item) | folder (if menu) type: string isCustom: description: ' true | false ' type: boolean parent_id: description: id or parent profileEntry if in a folder type: string example: page: tasklistingadmin parent_id: '0' name: Test menu profile_id: '102' type: link isCustom: false ProfileMember: type: object description: Profile member properties: id: description: profile member id type: string profile_id: description: id of the profile for this mapping type: string role_id: description: id of role, or -1 if the member type is not role type: string group_id: description: id of group, or -1 if the member type is not group type: string user_id: description: id of user, or -1 if the member type is not user type: string example: id: 204 profile_id: 2 role_id: -1 group_id: -1 user_id: 101 ProfileMemberCreateRequest: type: object properties: profile_id: description: id of the profile for this mapping type: string role_id: description: id of role, or -1 if the member type is not role type: string group_id: description: id of group, or -1 if the member type is not group type: string user_id: description: id of user, or -1 if the member type is not user type: string member_type: description: member type type: string enum: - USER - ROLE - GROUP example: profile_id: '2' member_type: USER user_id: '101' ThemeCreateRequest: type: object deprecated: true description: Since Bonita 7.13, theme management is deprecated properties: type: description: theme type type: string enum: - portal - mobile zipFilePathportal: description: tmp zip file Path as uploaded to portal type: string example: type: portal zipFilePathportal: tmp_1939634566964075173.zip ThemeRestoreRequest: type: object deprecated: true description: Since Bonita 7.13, theme management is deprecated properties: type: description: theme type type: string enum: - portal - mobile example: type: portal LogSeverityLevel: type: string description: the severity level of the log enum: - BUSINESS - INTERNAL Log: type: object description: | A log entry recorded by the Bonita Engine during execution. Logs capture actions performed on the platform such as process deployments, task executions, or configuration changes. This Web REST API is available in **Enterprise editions only**. properties: id: type: string description: the log id maxLength: 250 pattern: ^[A-Za-z0-9\_\-\.]{0,250}$ creation_date: type: string format: date-time description: the UTC date and time in ISO-8601 format ('yyyy-MM-ddTHH:mm:ss.SSSZ') when this log was created, for example '2024-10-17T16:05:42.626Z' createdBy: type: string description: the name of the user who triggered the logged action severity: $ref: '#/components/schemas/LogSeverityLevel' message: type: string description: the log message describing the action action_scope: type: string description: the scope of the logged action icon: type: string description: the icon path for this log entry example: id: '1024' creation_date: '2024-10-17T16:05:42.626Z' createdBy: walter.bates severity: INTERNAL message: Creating a new Process definition action_scope: '7714320429509736190' action_type: PROCESS_DEFINITION_CREATED icon: /default/log.png I18nlocale: type: object description: '' properties: name: description: Name of the language type: string locale: description: code of the locale type: string example: name: English locale: en I18ntranslation: description: '' type: object additionalProperties: type: string example: value: Gehen Sie dazu zum %profilelink%. key: To do so, go to %profilelink%. Session: type: object properties: user_id: description: user id type: string user_name: description: user name type: string session_id: description: the session id type: string conf: description: conf type: string is_technical_user: description: 'is technical user: true|false' type: boolean is_guest_user: description: 'is technical user: true|false' type: boolean version: description: bonita version type: string copyright: description: bonita copyright type: string example: user_id: -1 user_name: install session_id: '501670672784361704' conf: '["F2A1B8E895F82077F59E4F11D001FC5823BC629E","CEEE6B727AB3EA8834DB0A732A1D8E8B230EE368","53A5CA40F466070283D58B8069C98F36A6D4142C","CA34A74DEF742742DAF395904D87FB1CC5EEF78B","1E49E265B8708F2B474226C9F6211A427E2ADC02","691A18FC27888346B838C65BF73858673D85DF4A","835E3A67C0516F6F5178468E3A9CCC7FE8F3AF52","74CD60A3CD84EEE4E13C17197508DAFEA2927F9A","98B3E3369C0724F4CCD784EF257EA7E0AE7BDCB2"]' is_technical_user: true is_guest_user: false version: 7.11.1 copyright: Ofelia © 2020 MaintenanceDetails: type: object properties: maintenanceState: description: maintenance state type: string enum: - ENABLED - DISABLED maintenanceMessage: description: maintenance message type: string maintenanceMessageActive: description: is maintenance message active type: boolean example: maintenanceState: DISABLED maintenanceMessage: maintenance msg maintenanceMessageActive: true SystemInformation: type: object description: '' properties: licenseStartDate: description: date in milliseconds timestamp since Epoch - first day (included) of license file validity - Subscription editions only type: string duration: description: number of days for license file validity - Subscription editions only type: string licenseExpirationDate: description: date in milliseconds timestamp since Epoch - last day (included) of license file validity - Subscription editions only type: string numberOfCPUCores: description: number of CPUs allowed by the license, if license mode is CPU-based - Subscription editions only type: string edition: description: name of the Bonita edition enabled by the license - Community & Subscription editions type: string subscriptionType: description: type of the Subscription the customer has purchased with Ofelia - Subscription editions only type: string licenseMode: description: available mode enabled by the license - Subscription editions only type: string managedAppsLimit: description: number of managed apps provisioned for in a Bonita Central environment - Subscription editions only type: integer format: int64 licensee: description: Owner of the license - Subscription editions only type: string contactInfo: description: E-mail address of the owner of the license - Subscription editions only type: string expirationDate: description: License expiration date in milliseconds timestamp since Epoch - Subscription editions only type: integer format: int64 activeFeatures: description: List of active features that the license allow access to (separated by comma) - Subscription editions only type: string requestKey: description: | request key to use to generate a new license on the customer portal. If you have a subscription that specifies case-counter licensing, additional fields are present: type: string subscriptionStartPeriod: description: date in milliseconds timestamp since Epoch - first day (included) of current period for number of process instances provisioned - Subscription editions only type: string subscriptionEndPeriod: description: date in milliseconds timestamp since Epoch - last day (included) of current period for number of process instances provisioned - Subscription editions only type: string caseCounterLimit: description: number of maximum process instances that can be started - Community & Subscription editions type: integer format: int64 caseCounter: description: number of consumed process instances - Community & Subscription editions type: integer format: int64 License: type: object description: Bonita license properties: owner: description: Owner of the license type: string edition: description: name of the Bonita edition enabled by the license (Community,...) type: string nb_cpu_cores: description: number of CPUs type: string expirationDate: description: 'License expiration date with format: `yyyy-MM-dd HH:mm:ss.SSS`' type: integer format: int64 Bdm: type: object description: '' properties: id: description: BDM id type: string name: description: BDM name type: string type: description: BDM type type: string state: $ref: '#/components/schemas/TenantResourceState' lastUpdatedBy: description: This value is always -1 because only the technical admin can install BDM. type: string default: '-1' lastUpdateDate: description: Last date when the BDM was installed or updated. type: string example: id: '309' name: client_bdm.zip type: BDM state: INSTALLED lastUpdatedBy: -1 lastUpdateDate: '2018-01-17T17:05:36.671Z' BDMInstallRequest: type: object properties: fileUpload: type: string description: the temporary file name once uploaded on the server example: fileUpload: tmp_uploaded_bdm.zip FormFileUploadRequest: type: object description: A file to upload properties: file: type: string format: binary FormFileUploadResponse: type: object description: Form file upload response properties: filename: description: file name type: string tempPath: description: temporary path of a file type: string contentType: description: response content type type: string example: filename: 66c5d4e99167e.pdf tempPath: 885efa7d-c639-4076-ba5d-04a7fbfc1d11.pdf contentType: application/pdf responses: BadRequest: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/Error' example: message: Bad request Unauthorized: description: Authorization information is missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' example: message: Unauthorized Forbidden: description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action. content: application/json: schema: $ref: '#/components/schemas/Error' example: message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action. ServerError: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' example: message: An unexpected error occured. NotFound: description: The resource for the specified ID was not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: message: Resource not found. OK: description: OK NoContent: description: OK (no content). Conflict: description: Conflict, the request could not be completed because it conflicts with the current state of the target resource. content: application/json: schema: $ref: '#/components/schemas/Error' example: message: Conflict parameters: pageIndex: description: index of the page to display explode: true in: query name: p example: '0' required: true schema: type: integer minimum: 0 default: 0 format: int32 style: form pageCount: description: maximum number of elements to retrieve explode: true in: query name: c example: '10' required: true schema: type: integer minimum: 1 default: 20 format: int32 style: form pageFilter: description: can filter on attributes with the format f={filter\_name}={filter\_value} with the name/value pair as url encoded string. explode: true in: query name: f required: false schema: type: array items: type: string maxLength: 250 pattern: ^[A-Za-z0-9%]{0,250}$ style: form example: abc%3d123 pageOrder: description: can order on attributes explode: true in: query name: o required: false schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9%]{0,250}$ style: form example: myProp%20ASC pageSearch: description: can search on attributes explode: true in: query name: s required: false schema: type: string maxLength: 250 pattern: ^[A-Za-z0-9%]{0,250}$ style: form x-tagGroups: - name: Authentication tags: - Authentication - PlatformAuthentication - name: Application tags: - Application - ApplicationMenu - ApplicationPage - FormMapping - name: BDM tags: - BDM - BusinessDataQuery - Business Data Operations - BDMAccessControl - DataRetention - name: BPM tags: - Activity - ArchivedActivity - HumanTask - ManualTask - Task - UserTask - ArchivedHumanTask - ArchivedManualTask - ArchivedTask - ArchivedUserTask - ActivityVariable - ArchivedActivityVariable - ProcessInstanceVariable - ArchivedProcessInstanceVariable - ProcessInstanceDocument - ArchivedProcessInstanceDocument - Actor - ActorMember - ProcessInstance - ArchivedProcessInstance - ProcessInstanceInfo - ProcessInstanceComment - ArchivedProcessInstanceComment - Process - Diagram - ProcessInfo - ProcessParameter - ProcessResolutionProblem - ProcessSupervisor - ProcessConnectorDependency - ConnectorFailure - ConnectorInstance - ArchivedConnectorInstance - FlowNode - ArchivedFlowNode - Failure - ArchivedFailure - TimerEventTrigger - Message - Signal - Delegation - name: Custom user info tags: - CustomUserDefinition - CustomUserValue - CustomUser - name: Identity tags: - ProfessionalContactData - Group - Membership - Role - User - Authentication - name: Platform tags: - PlatformAuthentication - Platform - License - Information - name: Portal tags: - Page - Profile - ProfileEntry - ProfileMember - Theme - Upload - name: System tags: - I18nlocale - I18ntranslation - Log - Session - Maintenance - name: Other tags: - RestAPIextensions - name: Upload tags: - FormFileUpload