How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Bonita Web REST API

The Bonita Web REST API exposes every Bonita Runtime feature reachable over HTTP — BPM (processes, cases, tasks, activities, flow nodes, timers, messages, signals), identity (users, groups, roles, memberships, profiles, custom user information), applications and pages, the Business Data Model and business data queries, documents and comments, and platform/license administration. It is described by a single first-party OpenAPI 3.0.2 document (153 paths, 224 operations, 162 schemas) that Bonitasoft treats as the single source of truth for the HTTP surface and publishes as an open-source repository, a versioned GitHub release asset, and a live ReDoc reference at api-documentation.ofelia.com.

Bonita Web REST API is published by Bonitasoft on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include BPM, Workflows, Process Automation, Identity, and Business Data. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 224 operations across 153 paths, organized into 75 resource areas, and defines 162 schemas. It is described by OpenAPI 3.0.2, at version 1.0.9.

Requests are made against a single base URL, http://localhost:8080/bonita.

224 operations 153 paths 162 schemas 25 DELETE122 GET45 POST32 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.2
API Version
1.0.9
Base URL
https://{subscription}.bonitacloud.com/bonita
Authentication
API Key, API Key, HTTP Bearer
License
Resource Areas
75

Authentication & Security 3

Bonita Web REST API declares 3 security schemes for authenticating requests. An API key is passed in the cookie as JSESSIONID (bonita_auth). An API key is passed in the header as X-Bonita-API-Token (bonita_token). It accepts HTTP bearer tokens (bearer_auth). By default, every request must be authenticated.

  • bonita_auth — 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.
  • bonita_token — 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.
  • bearer_auth — ![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…

Paths & Operations 224

Across 153 paths, the API surfaces 224 operations — 25 DELETE, 122 GET, 45 POST, 32 PUT. They span 75 resource areas, including Authentication, Application, ApplicationMenu, ApplicationPage, BusinessDataQuery, Business Data Operations, BDM, BDMAccessControl, and 67 more. Each is listed below with its method, path, parameters, and response codes.

Authentication 2

Authentication

POST
/loginservice
Login
login body → 2044004014035XX
GET
/logoutservice
Logout the current user
logout 1 param → 2004004014035XX
Application 8

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.

GET
/API/living/application
Finds living applications
searchApplications 5 params → 2004004014035XX
POST
/API/living/applicationdeprecated
Create a living application
createApplication body → 2004004014035XX
GET
/API/living/application/{id}
Finds a living application by ID
getApplicationById 1 param → 2004004014034045XX
DELETE
/API/living/application/{id}
Delete a living application by ID
deleteApplicationById 1 param → 2004004014034045XX
PUT
/API/living/application/{id}deprecated
Update a living application by ID
updateApplicationById 1 param body → 2004004014034045XX
POST
/services/application/importdeprecated
Import a living application
importApplication body → 2004004014034045XX
POST
/portal/applicationsUploaddeprecated
Upload a living application
uploadApplication body → 2004004014035XX
POST
/APIv2/service/installdeprecated
Upload an application configuration file
uploadApplicationConfiguration body → 2004004014035XX
ApplicationMenu 5

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…

GET
/API/living/application-menu
Finds application menus
searchApplicationMenus 5 params → 2004004014035XX
POST
/API/living/application-menudeprecated
New application menu item
createApplicationMenu body → 2004004014035XX
GET
/API/living/application-menu/{id}
Finds a application menu by ID
geApplicationMenuById 1 param → 2004004014034045XX
DELETE
/API/living/application-menu/{id}
Delete an application menu by ID
deleteApplicationMenuById 1 param → 2004004014034045XX
PUT
/API/living/application-menu/{id}deprecated
Update an application menu by ID
updateApplicationMenuById 1 param body → 2004004014034045XX
ApplicationPage 4

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 lis…

GET
/API/living/application-page
Finds application pages
searchApplicationPages 5 params → 2004004014035XX
POST
/API/living/application-pagedeprecated
Create an application page
createApplicationPage body → 2004004014035XX
GET
/API/living/application-page/{id}
Finds an application page by ID
getApplicationPageById 1 param → 2004004014034045XX
DELETE
/API/living/application-page/{id}
Delete an application page by ID
deleteApplicationPageById 1 param → 2004004014034045XX
BusinessDataQuery 1

BDM Rest APIs allow to query Bonita Business Data.

GET
/API/bdm/businessData/{businessDataType}
Finds Business Data
searchBusinessData 5 params → 2004004014034045XX
Business Data Operations 4

BDM Rest APIs allow to create / update / delete / import in bulk Bonita Business Data.

POST
/API/bdm/businessData/{businessDataType}
Create new Business Data
insertBusinessData 1 param body → 2004004014034045XX
POST
/API/bdm/businessData/{businessDataType}/import
Import Business Data by bulk
importBusinessData 1 param body → 2004004014034045XX
PUT
/API/bdm/businessData/{businessDataType}/{persistenceId}
Update an existing Business Data
updateBusinessData 2 params body → 2004004014034045XX
DELETE
/API/bdm/businessData/{businessDataType}/{persistenceId}
Delete an existing Business Data
deleteBusinessData 2 params → 2044004014034045XX
BDM 5

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 previou…

GET
/API/bdm/businessData/{businessDataType}/findByIds
Finds business data By Ids
searchBusinessDataByIds 2 params → 2004004014035XX
GET
/API/bdm/businessData/{businessDataType}/{persistenceId}
Finds business data by Id
searchBusinessDataById 2 params → 2004004014045XX
GET
/API/bdm/businessData/{businessDataType}/{persistenceId}/{attributeName}
Finds business data attribute by id
searchBusinessDataAttributeById 3 params → 2004004014034045XX
GET
/API/tenant/bdm
Get the BDM
getBdm → 2004004014034045XX
POST
/API/tenant/bdmdeprecated
Install a BDM
installBDM body → 2004004014035XX
BDMAccessControl 4

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

GET
/API/accessControl/bdm
BDM access control status
getBDMAccessControlStatus → 2004004014035XX
DELETE
/API/accessControl/bdm
Delete the BDM Access Control
deleteBDMAccessControl → 2044004014035XX
POST
/portal/bdmAccessControlUploaddeprecated
Upload a BDM Access Control
uploadBDMAccessControl body → 2004004014035XX
POST
/services/bdmAccessControl/installdeprecated
Import a BDM Access Control
importBDMAccessControl body → 2004004014034045XX
DataRetention 5

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 d…

GET
/API/retention/object
List business object types with their retention rules
findObjectsWithRetentionRules → 2004014035XX
GET
/API/retention/schedule
Get the data retention schedule
getRetentionSchedule → 2004014035XX
POST
/API/retention/rule
Create a retention rule
createRetentionRule body → 2014004014034095XX
PUT
/API/retention/rule/{ruleId}
Update a retention rule by ID
updateRetentionRuleById 1 param body → 2004004014034045XX
DELETE
/API/retention/rule/{ruleId}
Delete a retention rule by ID
deleteRetentionRuleById 1 param → 2044014034045XX
Delegation 5

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 execu…

GET
/API/delegation/rule
Search delegation rules
searchDelegationRules 5 params → 2004014035XX
POST
/API/delegation/rule
Create or replace a delegation rule
createDelegationRule body → 2014004014035XX
PUT
/API/delegation/rule/{ruleId}
Update a delegation rule by ID
updateDelegationRuleById 1 param body → 2004004014034045XX
DELETE
/API/delegation/rule/{ruleId}
Delete a delegation rule by ID
deleteDelegationRuleById 1 param → 2044014035XX
GET
/API/delegation/task
Search delegated tasks
searchDelegatedTasks 5 params → 2004004014035XX
Activity 3

Activity

GET
/API/bpm/activity
Finds Activities
searchActivities 5 params → 2004004014035XX
GET
/API/bpm/activity/{id}
Finds the Activity by ID
getActivityById 1 param → 2004004014034045XX
PUT
/API/bpm/activity/{id}
Update the Activity by ID
updateActivityById 1 param body → 2004004014034045XX
ArchivedActivity 2

ArchivedActivity

GET
/API/bpm/archivedActivity
Finds Archived Activities
searchArchivedActivities 5 params → 2004004014035XX
GET
/API/bpm/archivedActivity/{id}
Finds the Archived Activity by ID
getArchivedActivityById 1 param → 2004004014034045XX
HumanTask 3

HumanTask

GET
/API/bpm/humanTask
Finds HumanTasks
searchHumanTasks 5 params → 2004004014035XX
GET
/API/bpm/humanTask/{id}
Finds the HumanTask by ID
getHumanTaskById 1 param → 2004004014034045XX
PUT
/API/bpm/humanTask/{id}
Update the HumanTask by ID
updateHumanTaskById 1 param body → 2004004014034045XX
ManualTask 4

ManualTask

GET
/API/bpm/manualTask
Finds ManualTasks
searchManualTasks 5 params → 2004004014035XX
POST
/API/bpm/manualTask
Create the ManualTask
createManualTask body → 2004004014035XX
GET
/API/bpm/manualTask/{id}
Finds the ManualTask by ID
getManualTaskById 1 param → 2004004014034045XX
PUT
/API/bpm/manualTask/{id}
Update the ManualTask by ID
updateManualTaskById 1 param body → 2004004014034045XX
Task 3

Task

GET
/API/bpm/task
Finds Tasks
searchTasks 4 params → 2004004014035XX
GET
/API/bpm/task/{id}
Finds the Task by ID
getTaskById 1 param → 2004004014034045XX
PUT
/API/bpm/task/{id}
Update the Task by ID
updateTaskById 1 param body → 2004004014034045XX
UserTask 6

UserTask

GET
/API/bpm/userTask
Finds UserTasks
searchUserTasks 5 params → 2004004014035XX
GET
/API/bpm/userTask/{id}
Finds the UserTask by ID
getUserTaskById 1 param → 2004004014034045XX
PUT
/API/bpm/userTask/{id}
Update the UserTask by ID
updateUserTaskById 1 param body → 2004004014034045XX
GET
/API/bpm/userTask/{id}/contract
Finds the Contract by UserTask ID
getContractByUserTaskId 1 param → 2004004014034045XX
POST
/API/bpm/userTask/{id}/execution
Execute the UserTask
executeUserTask 2 params body → 2044004014035XX
GET
/API/bpm/userTask/{id}/context
Finds the Context by UserTask ID
getContextByUserTaskId 1 param → 2004004014034045XX
ArchivedHumanTask 2

ArchivedHumanTask

GET
/API/bpm/archivedHumanTask
Finds ArchivedHumanTasks
searchArchivedHumanTasks 4 params → 2004004014035XX
GET
/API/bpm/archivedHumanTask/{id}
Finds the ArchivedHumanTask by ID
getArchivedHumanTaskById 1 param → 2004004014034045XX
ArchivedManualTask 2

ArchivedManualTask

GET
/API/bpm/archivedManualTask
Finds ArchivedManualTasks
searchArchivedManualTasks 4 params → 2004004014035XX
GET
/API/bpm/archivedManualTask/{id}
Finds the ArchivedManualTask by ID
getArchivedManualTaskById 1 param → 2004004014034045XX
ArchivedUserTask 2

ArchivedUserTask

GET
/API/bpm/archivedUserTask
Finds ArchivedUserTasks
searchArchivedUserTasks 4 params → 2004004014035XX
GET
/API/bpm/archivedUserTask/{id}
Finds the ArchivedUserTask by ID
getArchivedUserTaskById 1 param → 2004004014034045XX
ArchivedTask 2

ArchivedTask

GET
/API/bpm/archivedTask
Finds ArchivedTasks
searchArchivedTasks 4 params → 2004004014035XX
GET
/API/bpm/archivedTask/{id}
Finds the ArchivedTask by ID
getArchivedTaskById 1 param → 2004004014034045XX
ActivityVariable 1

ActivityVariable

GET
/API/bpm/activityVariable/{id}/{variableName}
Finds the ActivityVariable by ID
getActivityVariableById 2 params → 2004004014034045XX
ArchivedActivityVariable 1

ArchivedActivityVariable

GET
/API/bpm/archivedActivityVariable/{id}/{variableName}
Finds the ArchivedActivityVariable by case ID and name
getArchivedActivityInstanceVariable 2 params → 2004004014034045XX
ProcessInstanceVariable 3

ProcessInstanceVariable

GET
/API/bpm/caseVariable
Finds ProcessInstance Variables
searchProcessInstanceVariables 4 params → 2004004014035XX
GET
/API/bpm/caseVariable/{id}/{variableName}
Finds the Variable by ProcessInstance ID
getVariableByProcessInstanceId 2 params → 2004004014034045XX
PUT
/API/bpm/caseVariable/{id}/{variableName}
Update a Variable by ProcessInstance ID
updateVariableByProcessInstanceId 2 params body → 2004004014034045XX
ArchivedProcessInstanceVariable 2

ArchivedProcessInstanceVariable

GET
/API/bpm/archivedCaseVariable
Finds ArchivedProcessInstance Variables
getArchivedProcessInstanceVariables 3 params → 2004004014035XX
GET
/API/bpm/archivedCaseVariable/{id}/{variableName}
Finds an archived Variable by ProcessInstance ID and variable name
getArchivedVariableByProcessInstance 2 params → 2004004014034045XX
ProcessInstanceDocument 5

ProcessInstanceDocument

GET
/API/bpm/caseDocument
Finds ProcessInstanceDocuments
searchProcessInstanceDocuments 4 params → 2004004014035XX
POST
/API/bpm/caseDocument
Create the ProcessInstanceDocument
createProcessInstanceDocument body → 2004004014035XX
GET
/API/bpm/caseDocument/{id}
Finds the ProcessInstanceDocument by ID
getProcessInstanceDocumentById 1 param → 2004004014034045XX
PUT
/API/bpm/caseDocument/{id}
Update the ProcessInstanceDocument by ID
updateProcessInstanceDocumentById 1 param body → 2004004014034045XX
DELETE
/API/bpm/caseDocument/{id}
Delete the ProcessInstanceDocument by ID
deleteProcessInstanceDocumentById 1 param → 2004004014034045XX
ArchivedProcessInstanceDocument 2

ArchivedProcessInstanceDocument

GET
/API/bpm/archivedCaseDocument
Finds ArchivedProcessInstanceDocuments
searchArchivedProcessInstanceDocuments 4 params → 2004004014035XX
DELETE
/API/bpm/archivedCaseDocument/{id}
Delete the ArchivedProcessInstanceDocument by ID
deleteArchivedProcessInstanceDocumentById 1 param → 2004004014034045XX
Actor 3

Actor

GET
/API/bpm/actor
Finds Actors
searchActors 4 params → 2004004014035XX
GET
/API/bpm/actor/{id}
Finds the Actor by ID
getActorById 1 param → 2004004014034045XX
PUT
/API/bpm/actor/{id}deprecated
Update the Actor by ID
updateActorById 1 param body → 2004004014034045XX
ActorMember 3

ActorMember

GET
/API/bpm/actorMember
Finds ActorMembers
searchActorMembers 4 params → 2004004014035XX
GET
/API/bpm/actorMember/{id}
Finds the ActorMember by ID
getActorMemberById 1 param → 2004004014034045XX
DELETE
/API/bpm/actorMember/{id}
Delete the ActorMember by ID
deleteActorMemberById 1 param → 2004004014034045XX
ProcessInstance 7

ProcessInstance

GET
/API/bpm/case
Finds ProcessInstances
searchProcessInstances 4 params → 2004004014035XX
POST
/API/bpm/case
Create the ProcessInstance
createProcessInstance body → 2004004014034295XX
DELETE
/API/bpm/case
Delete the ProcessInstance by batch
deleteProcessInstanceByIds body → 2004004014034045XX
GET
/API/bpm/case/{id}
Finds the ProcessInstance by ID
getProcessInstanceById 2 params → 2004004014034045XX
PUT
/API/bpm/case/{id}
Update the ProcessInstance by ID
updateProcessInstanceById 1 param body → 2004004014034045XX
DELETE
/API/bpm/case/{id}
Delete the ProcessInstance by ID
deleteProcessInstanceById 1 param → 2004004014034045XX
GET
/API/bpm/case/{id}/context
Finds the Context by ProcessInstance ID
getContextByProcessInstanceId 1 param → 2004004014034045XX
ArchivedProcessInstance 4

ArchivedProcessInstance

GET
/API/bpm/archivedCase
Finds ArchivedProcessInstances
searchArchivedProcessInstances 4 params → 2004004014035XX
GET
/API/bpm/archivedCase/{id}
Finds the ArchivedProcessInstance by ID
getArchivedProcessInstanceById 1 param → 2004004014034045XX
DELETE
/API/bpm/archivedCase/{id}
Delete the ArchivedProcessInstance by ID
deleteArchivedProcessInstanceById 1 param → 2004004014034045XX
GET
/API/bpm/archivedCase/{id}/context
Finds the Context by ArchivedProcessInstance ID
getContextByArchivedProcessInstanceId 1 param → 2004004014034045XX
ProcessInstanceInfo 1

ProcessInstanceInfo

GET
/API/bpm/caseInfo/{id}
Finds the ProcessInstanceInfo by ID
getProcessInstanceInfoById 1 param → 2004004014034045XX
ProcessInstanceComment 2

ProcessInstanceComment

GET
/API/bpm/comment
Finds ProcessInstanceComments
searchProcessInstanceComments 4 params → 2004004014035XX
POST
/API/bpm/comment
Create the ProcessInstanceComment
createProcessInstanceComment body → 2004004014035XX
ArchivedProcessInstanceComment 1

ArchivedProcessInstanceComment

GET
/API/bpm/archivedComment
Finds ArchivedProcessInstanceComments
searchArchivedProcessInstanceComments 5 params → 2004004014035XX
Process 12

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

GET
/API/bpm/process
Finds Processes
searchProcesses 5 params → 2004004014035XX
POST
/API/bpm/processdeprecated
Create the Process
createProcess body → 2004004014035XX
DELETE
/API/bpm/process
Delete the Process by IDs
deleteProcessByIds body → 2004004014035XX
GET
/API/bpm/process/{id}
Finds the Process by ID
getProcessById 1 param → 2004004014034045XX
PUT
/API/bpm/process/{id}deprecated
Update the Process by ID
updateProcessById 1 param body → 2004004014034045XX
DELETE
/API/bpm/process/{id}
Delete the Process by ID
deleteProcessById 1 param → 2004004014034045XX
GET
/API/bpm/process/{id}/design
Finds the Process design by ID
getProcessDesignById 1 param → 2004004014034045XX
GET
/API/bpm/process/{id}/contract
Finds the Process contract by ID
getProcessContractById 1 param → 2004004014034045XX
POST
/API/bpm/process/{id}/instantiation
Instanciate the process
instanciateProcess 1 param body → 2014004014034295XX
GET
/API/bpm/processName
Search process names
searchProcessNames 5 params → 2004004014035XX
PUT
/API/bpm/processConnector/{id}/{connectorImplId}/{connectorImplVersion}deprecated
Update the Process Connector by Process ID
updateProcessConnectorByProcessId 3 params body → 2004004014045XX
POST
/portal/processUploaddeprecated
Upload a bar file
uploadProcess body → 2004004014035XX
ProcessInfo 1

ProcessInfo

GET
/API/bpm/processInfo/{id}
Finds the ProcessInfo by ID
getProcessInfoById 1 param → 2004004014034045XX
Diagram 1

Diagram

GET
/API/bpm/diagram/{id}
Finds the diagram process by ID
getProcessDiagramById 1 param → 2004004014034045XX
ProcessParameter 3

ProcessParameter

GET
/API/bpm/processParameter
Finds ProcessParameters
searchProcessParameters 5 params → 2004004014035XX
GET
/API/bpm/processParameter/{id}/{name}
Finds the ProcessParameter by ID
getProcessParameterById 2 params → 2004004014034045XX
PUT
/API/bpm/processParameter/{id}/{name}deprecated
Update the ProcessParameter by ID
updateProcessParameterById 2 params body → 2004004014034045XX
ProcessResolutionProblem 1

ProcessResolutionProblem

GET
/API/bpm/processResolutionProblem
Finds ProcessResolutionProblems
searchProcessResolutionProblems 5 params → 2004004014035XX
ProcessSupervisor 3

ProcessSupervisor

GET
/API/bpm/processSupervisor
Finds ProcessSupervisors
searchProcessSupervisors 5 params → 2004004014035XX
POST
/API/bpm/processSupervisor
Create the ProcessSupervisor
createProcessSupervisor body → 2004004014035XX
DELETE
/API/bpm/processSupervisor
Delete the ProcessSupervisor by ID
deleteProcessSupervisorById body → 2004004014034045XX
ProcessConnectorDependency 1

ProcessConnectorDependency

GET
/API/bpm/processConnectorDependency
Finds ProcessConnectorDependencies
searchProcessConnectorDependencies 5 params → 2004004014035XX
ConnectorFailure 1

ConnectorFailure

GET
/API/bpm/connectorFailure/{id}
Finds the ConnectorFailure by ID
getConnectorFailureById 1 param → 2004004014034045XX
ConnectorInstance 1

ConnectorInstance

GET
/API/bpm/connectorInstance
Finds ConnectorInstances
searchConnectorInstances 5 params → 2004004014035XX
ArchivedConnectorInstance 1

ArchivedConnectorInstance

GET
/API/bpm/archivedConnectorInstance
Finds ArchivedConnectorInstances
searchArchivedConnectorInstances 5 params → 2004004014035XX
FlowNode 3

FlowNode

GET
/API/bpm/flowNode
Finds FlowNodes
searchFlowNodes 5 params → 2004004014035XX
GET
/API/bpm/flowNode/{id}
Finds the FlowNode by ID
getFlowNodeById 1 param → 2004004014034045XX
PUT
/API/bpm/flowNode/{id}
Update the FlowNode by ID
updateFlowNodeById 1 param body → 2004004014034045XX
ArchivedFlowNode 2

ArchivedFlowNode

GET
/API/bpm/archivedFlowNode
Finds ArchivedFlowNodes
searchArchivedFlowNodes 5 params → 2004004014035XX
GET
/API/bpm/archivedFlowNode/{id}
Finds the ArchivedFlowNode by ID
getArchivedFlowNodeById 1 param → 2004004014034045XX
Failure 5

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

GET
/API/bpm/failure/flowNode/{flowNodeInstanceId}
Retrieve the failures of a flownode instance by it's ID
getBPMFailuresByFlowNodeInstanceId 2 params → 2004004014034045XX
GET
/API/bpm/failure/case/{caseId}
Retrieve the failures of a case (process instance) by it's ID
getBPMFailuresByCaseId 2 params → 2004004014034045XX
GET
/API/bpm/achivedFailure/case/{caseId}
Retrieve the archived failures of an archived case (process instance) by it's sourceObjectID
getArchivedBPMFailuresByCaseId 2 params → 2004004014034045XX
GET
/API/bpm/failure/case/{rootCaseId}/childCases
Retrieve the failures of the child cases of a root case (process instance) by it's ID
getBPMFailuresByRootCaseId 2 params → 2004004014034045XX
GET
/API/bpm/achivedFailure/case/{rootCaseId}/childCases
Retrieve the archived failures of the archived child cases of a root case (process instance) by it's ID
getArchivedBPMFailuresByRootCaseId 2 params → 2004004014034045XX
ArchivedFailure 1

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

GET
/API/bpm/achivedFailure/flowNode/{flowNodeInstanceId}
Retrieve the archived failures of an archived flownode instance by it's sourceObjectID
getArchivedBPMFailuresByFlowNodeInstanceId 2 params → 2004004014034045XX
TimerEventTrigger 3

TimerEventTrigger

GET
/API/bpm/timerEventTrigger
Finds TimerEventTriggers
searchTimerEventTriggers 6 params → 2004004014035XX
GET
/API/bpm/timerEventTrigger/{id}
Finds the TimerEventTrigger by ID
getTimerEventTriggerById 1 param → 2004004014034045XX
PUT
/API/bpm/timerEventTrigger/{id}
Update the TimerEventTrigger by ID
updateTimerEventTriggerById 1 param body → 2004004014034045XX
Message 1

Message

POST
/API/bpm/message
Send BPM message events
createMessage body → 2044004014035XX
Signal 1
POST
/API/bpm/signal
Broadcast BPM signal events
broadcastSignal body → 2044004014035XX
CustomUserDefinition 4

CustomUserDefinition

GET
/API/customuserinfo/definition
Finds CustomUserDefinitions
searchCustomUserDefinitions 2 params → 2004004014035XX
POST
/API/customuserinfo/definition
Create the CustomUserDefinition
createCustomUserDefinition body → 2004004014035XX
GET
/API/customuserinfo/definition/{id}
Finds the CustomUserDefinition by ID
getCustomUserDefinitionById 1 param → 2004004014034045XX
DELETE
/API/customuserinfo/definition/{id}
Delete the CustomUserDefinition by ID
deleteCustomUserDefinitionById 1 param → 2004004014034045XX
CustomUserValue 2

CustomUserValue

GET
/API/customuserinfo/value
Finds CustomUserValues
searchCustomUserValues 3 params → 2004004014035XX
PUT
/API/customuserinfo/value/{userId}/{definitionId}
Update the CustomUserValue by ID
updateCustomUserValueById 2 params body → 2004004014034045XX
CustomUser 1

CustomUser

GET
/API/customuserinfo/user
Finds CustomUsers
searchCustomUsers 3 params → 2004004014035XX
FormMapping 2
GET
/API/form/mapping
Finds FormMappings
searchFormMappings 5 params → 2004004014035XX
PUT
/API/form/mapping/{id}deprecated
Update the FormMapping by ID
updateFormMappingById 1 param body → 2004004014034045XX
ProfessionalContactData 6

ProfessionalContactData

GET
/API/identity/professionalcontactdata
Finds ProfessionalContactData
searchProfessionalContactDatas 5 params → 2004004014035XX
POST
/API/identity/professionalcontactdata
Create the ProfessionalContactData
createProfessionalContactData body → 2004004014035XX
GET
/API/identity/professionalcontactdata/{userId}
Finds the ProfessionalContactData by ID
getProfessionalContactDataById 1 param → 2004004014034045XX
PUT
/API/identity/professionalcontactdata/{userId}
Update the ProfessionalContactData by ID
updateProfessionalContactDataById 1 param body → 2004004014034045XX
GET
/API/identity/personalcontactdata/{userId}
Finds the PersonalContactData by ID
getPersonalContactDataById 1 param → 2004004014034045XX
PUT
/API/identity/personalcontactdata/{userId}
Update the PersonalContactData by ID
updatePersonalContactDataById 1 param body → 2004004014034045XX
Group 5

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

GET
/API/identity/group
Finds Groups
searchGroups 4 params → 2004004014035XX
POST
/API/identity/group
Create the Group
createGroup body → 2004004014035XX
GET
/API/identity/group/{id}
Finds the Group by ID
getGroupById 1 param → 2004004014034045XX
PUT
/API/identity/group/{id}
Update the Group by ID
updateGroupById 1 param body → 2004004014034045XX
DELETE
/API/identity/group/{id}
Delete the Group by ID
deleteGroupById 1 param → 2004004014034045XX
Membership 3

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.

GET
/API/identity/membership
Finds Memberships
searchMemberships 5 params → 2004004014035XX
POST
/API/identity/membership
Create the Membership
createMembership body → 2004004014035XX
DELETE
/API/identity/membership/{userId}/{groupId}/{roleId}
Delete the Membership by ID
deleteMembershipById 3 params → 2004004014034045XX
Role 5

Role

GET
/API/identity/role
Finds Roles
searchRoles 5 params → 2004004014035XX
POST
/API/identity/role
Create the Role
createRole body → 2004004014035XX
GET
/API/identity/role/{id}
Finds the Role by ID
getRoleById 1 param → 2004004014034045XX
PUT
/API/identity/role/{id}
Update the Role by ID
updateRoleById 1 param body → 2004004014034045XX
DELETE
/API/identity/role/{id}
Delete the Role by ID
deleteRoleById 1 param → 2004004014034045XX
User 6

User

GET
/API/identity/user
Finds Users
searchUsers 5 params → 2004004014035XX
POST
/API/identity/user
Create the User
createUser body → 2004004014035XX
GET
/API/identity/user/{id}
Finds the User by ID
getUserById 1 param → 2004004014034045XX
PUT
/API/identity/user/{id}
Update the User by ID
updateUserById 1 param body → 2004004014034045XX
DELETE
/API/identity/user/{id}
Delete the User by ID
deleteUserById 1 param → 2004004014034045XX
GET
/API/identity/userSummary
Finds User summaries
searchUserSummaries 5 params → 2004004014035XX
Platform 4

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

POST
/platformloginservice
Platform Login
platformLogin body → 2004004014035XX
POST
/platformlogoutservice
Platform Logout
platformLogout → 2004004014035XX
GET
/API/platform/platform/unusedid
Finds the Platform by ID
getPlatformById → 2004004014034045XX
PUT
/API/platform/platform/unusedid
Update the Platform by ID
updatePlatformById body → 2004004014034045XX
License 2

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 versio…

GET
/API/platform/licensedeprecated
Get the platform License
getPlatformLicense → 2004004014034045XX
GET
/API/system/license/unusedid
Get the current server license
getLicense → 2004004014035XX
Page 6

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

POST
/portal/pageUploaddeprecated
Upload a Page
uploadPage body → 2004004014035XX
GET
/API/portal/page
Finds Pages
searchPages 5 params → 2004004014035XX
POST
/API/portal/pagedeprecated
Create the Page
createPage body → 2004004014035XX
GET
/API/portal/page/{id}
Finds the Page by ID
getPageById 1 param → 2004004014034045XX
PUT
/API/portal/page/{id}deprecated
Update the Page by ID
updatePageById 1 param body → 2004004014034045XX
DELETE
/API/portal/page/{id}
Delete the Page by ID
deletePageById 1 param → 2004004014034045XX
Upload 1
POST
/portal/fileUpload
Upload a file
uploadFile body → 2004004014035XX
Profile 7

Profile

GET
/API/portal/profile
Finds Profiles
searchProfiles 5 params → 2004004014035XX
POST
/API/portal/profiledeprecated
Create the Profile
createProfile body → 2004004014035XX
GET
/API/portal/profile/{id}
Finds the Profile by ID
getProfileById 1 param → 2004004014034045XX
PUT
/API/portal/profile/{id}deprecated
Update the Profile by ID
updateProfileById 1 param body → 2004004014034045XX
DELETE
/API/portal/profile/{id}
Delete the Profile by ID
deleteProfileById 1 param → 2004004014034045XX
POST
/portal/profilesUploaddeprecated
Upload profiles
uploadprofiles body → 2004004014035XX
POST
/services/profile/importdeprecated
Import profiles
importProfiles body → 2004004014034045XX
ProfileEntry 5

ProfileEntry

GET
/API/portal/profileEntrydeprecated
Finds ProfileEntries
searchProfileEntries 4 params → 2004004014035XX
POST
/API/portal/profileEntrydeprecated
Create the ProfileEntry
createProfileEntry body → 2004004014035XX
GET
/API/portal/profileEntry/{id}deprecated
Finds the ProfileEntry by ID
getProfileEntryById 1 param → 2004004014034045XX
PUT
/API/portal/profileEntry/{id}deprecated
Update the ProfileEntry by ID
updateProfileEntryById 1 param body → 2004004014034045XX
DELETE
/API/portal/profileEntry/{id}deprecated
Delete the ProfileEntry by ID
deleteProfileEntryById 1 param → 2004004014034045XX
ProfileMember 4

ProfileMember

GET
/API/portal/profileMember
Finds ProfileMembers
searchProfileMembers 3 params → 2004004014035XX
POST
/API/portal/profileMember
Create the ProfileMember
createProfileMember body → 2004004014035XX
GET
/API/portal/profileMember/{id}
Finds the ProfileMember by ID
getProfileMemberById 1 param → 2004004014034045XX
DELETE
/API/portal/profileMember/{id}
Delete the ProfileMember by ID
deleteProfileMemberById 1 param → 2004004014034045XX
Theme 2

Theme

POST
/API/portal/themedeprecated
Create the Theme
createTheme body → 2004004014035XX
PUT
/API/portal/theme/unusedIddeprecated
Restore default Theme
restoreTheme body → 2004004014034045XX
Log 2

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 ch…

GET
/API/system/log
Finds Logs
searchLogs 5 params → 2004004014035XX
GET
/API/system/log/{id}
Finds the Log by ID
getLogById 1 param → 2004004014034045XX
I18nlocale 1

I18nlocale

GET
/API/system/i18nlocale
Finds I18nlocales
searchI18nlocales 2 params → 2004004014035XX
I18ntranslation 1

I18nTranslation

GET
/API/system/i18ntranslation
Finds I18ntranslations
searchI18ntranslations 3 params → 2004004014035XX
Session 1

Session

GET
/API/system/session/unusedId
Get the current user session
getSession → 2004004014035XX
Maintenance 2
GET
/API/system/maintenance
Get the maintenance details
getMaintenanceDetails → 2004004014035XX
PUT
/API/system/maintenance
Update the maintenance details
updateMaintenanceDetails body → 2004004014035XX
Information 1

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.

GET
/API/system/information
Get the system information
getSystemInformation → 2004004014035XX
Organization 2
POST
/portal/organizationUpload
Import an organization
uploadOrganization body → 2004004014035XX
POST
/services/organization/import
Import an organization
importOrganization body → 2004004014034045XX
FormFileUpload 1

Supports any type of files, used to upload a file before submitting a process or task form with a document in its contract.

POST
/API/formFileUpload
Upload a file
formFileUpload body → 2004004014035XX

Schemas 162

The contract defines 162 schemas that model the data the API accepts and returns. The most detailed are DelegatedTask (25 properties), ArchivedActivity (22 properties), AbstractTask (22 properties), FlowNode (22 properties). Each schema is shown below with its type and property counts.

LoginRequest
object
4 properties 2 required
Error
object
3 properties
AbstractApplication
object
13 properties
ApplicationLink
Contains the meta information of a Bonita Living Application Link.
LegacyApplication
Contains the meta information of a legacy Bonita Living Application.
Application
CreateApplicationRequest
object
6 properties
ApplicationUpdateRequest
object
7 properties
FileUploadRequest
object
The file to upload
1 property
ApplicationMenu
object
6 properties
ApplicationMenuCreateRequest
object
4 properties
ApplicationMenuUpdateRequest
object
5 properties
ApplicationPage
object
4 properties
ApplicationPageCreateRequest
object
3 properties
AnyValue
object
Can be any value - string, number, boolean, array or object or null depending on your query.
BusinessDataCreationResult
object
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…
2 properties
BusinessDataImportResult
object
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 o…
2 properties
BusinessData
object
Retrieve business data value. Depending on the object attribute loading policy, the API returns either the full object in JSON representation or the HATEOAS li…
2 properties
BusinessDataUpdateResult
object
An object containing: any unknown fields, provided as an array of names, under the name of "unknownFields"
1 property
TenantResourceState
string
Tenant resource state (BDM, BDM access control, ...)
BDMAccessControl
object
5 properties
CompositionNode
object
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 o…
2 properties 2 required
ReferenceDate
string
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…
DataRetentionConfig
object
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…
6 properties 6 required
BusinessObjectWithRetentionRule
object
A business object type defined in the Business Data Model (BDM) along with its optional data retention rule and composition tree. The dataRetentionRule field i…
3 properties 3 required
RetentionSchedule
object
Schedule on which the data retention service runs. The cron expression is configured via the bonita.runtime.retention.schedule.cron platform property.
1 property 1 required
RetentionRuleCreateRequest
object
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.
3 properties 3 required
RetentionRuleUpdateRequest
object
Body of PUT /API/retention/rule/{ruleId}. Replaces the mutable fields of an existing retention rule. This is a full replacement of referenceDate and retentionD…
2 properties 2 required
DelegationUser
object
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 n…
13 properties 5 required
DelegationStatus
string
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 activati…
DelegationRule
object
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 p…
9 properties 9 required
DelegationRuleCreateRequest
object
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 c…
5 properties 4 required
DelegationRuleUpdateRequest
object
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…
4 properties 4 required
ActivationState
string
the state of the process definition (ENABLED or DISABLED)
ConfigurationState
string
the configuration state of the process (UNRESOLVED or RESOLVED)
ProcessDeploymentInfo
object
Deployment information of a process: its name, version, activation and configuration state, and deployment metadata. This is a general-purpose embedding shape,…
12 properties 5 required
DelegatedTask
object
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 delega…
25 properties 19 required
ActivityType
string
the activity type (string)
ActivityState
string
the current state of the activity
ActivityPriority
string
the priority of the current activity
Activity
object
Use this resource to retrieve activities (human or service tasks), call activities, and subprocesses currently running on the platform. It enables you to perfo…
20 properties
ActivityUpdateRequest
object
2 properties
ArchivedActivity
object
Use this resource to retrieve finished activities (human or service tasks), call activities, and subprocesses.
22 properties
AbstractTask
object
22 properties
HumanTask
HumanTaskUpdateRequest
object
2 properties
ManualTask
ManualTaskCreateRequest
object
7 properties
ManualTaskUpdateRequest
object
2 properties
Task
UpdateTaskByIdRequest
object
2 properties
UserTask
UserTaskUpdateRequest
object
2 properties
ContractConstraint
object
4 properties
ContractInputType
string
the contract input type (string)
ContractInput
object
5 properties
Contract
object
2 properties
AbstractArchivedTask
ArchivedHumanTask
ArchivedManualTask
ArchivedUserTask
ArchivedTask
ActivityVariable
object
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…
10 properties
ArchivedActivityVariable
object
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 c…
8 properties
ProcessInstanceVariable
object
A process instance variable
5 properties
ArchivedProcessInstanceVariable
object
An archived case variable
7 properties
ProcessInstanceVariableUpdateRequest
object
2 properties
ProcessInstanceDocument
object
A document in an active case
14 properties
ProcessInstanceDocumentCreateRequest
object
6 properties
ProcessInstanceDocumentUpdateRequest
object
5 properties
ArchivedProcessInstanceDocument
Actor
object
5 properties
ActorUpdateRequest
object
2 properties
ActorMember
object
An actor member represents the association between the organization and the actor af a process. In an organization we have four membertypes = USER, GROUP, ROLE…
5 properties
ProcessInstance
object
ProcessInstance (Case) is an instance of a process. When you start a process, it creates a process instances.
22 properties
ProcessVariable
object
1 property
ProcessInstanceCreateRequest
object
2 properties
ProcessInstanceUpdateRequest
object
1 property
ArchivedProcessInstance
ProcessInstanceInfo
object
Retrieves information about a process instances. It returns counters for each flow node in the process instances, showing the number of flow node instances tha…
2 properties
ProcessInstanceComment
object
5 properties
ProcessInstanceCommentCreateRequest
object
2 properties
ArchivedProcessInstanceComment
ProcessDefinition
object
13 properties
ProcessCreateRequest
object
1 property
ProcessUpdateRequest
object
3 properties
FlowElementContainerDefinition
object
Allows to access all flow elements (activities, gateways, events and transitions) of a process or sub-process.
12 properties
DesignProcessDefinitionParamater
object
3 properties
ActorDefinition
object
Actor definition
3 properties
Expression
object
7 properties
DesignProcessDefinitionContext
object
The process definition expressions
2 properties
DesignProcessDefinition
object
Represents the Design Definition of a process. It gives access to process attributes.
10 properties
ProcessInstantiationResponse
object
1 property
ProcessName
object
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, whi…
3 properties 3 required
ProcessInfo
object
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 t…
2 properties
UpdateProcessConnectorByProcessIdRequest
object
2 properties
ProcessParameter
object
7 properties
ProcessParameterUpdateRequest
object
1 property
ProcessResolutionProblem
object
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 paramete…
3 properties
ProcessSupervisor
object
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 specif…
4 properties
ProcessConnectorDependency
object
Use the processConnectorDependency resource to access connector dependencies.
4 properties
ConnectorFailure
object
3 properties
ConnectorInstance
object
8 properties
ArchivedConnectorInstance
FlowNode
object
A flow node (gateway, event, or task) in an open instance of a process.
22 properties
FlowNodeUpdateRequest
object
1 property
ArchivedFlowNode
BPMFailure
object
A failure that happened during a BPM instance (flow node, process) execution that led to the instance being in a failed state.
10 properties
ArchivedBPMFailure
object
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.
12 properties
TimerEventTrigger
object
BPM timer event triggers
6 properties
TimerEventTriggerUpdateRequest
object
1 property
TimerEventTriggerUpdateResponse
object
1 property
Message
object
Use this resource to send BPM message events. Message events are caught by processes using catch message event flow nodes (Start, intermediate, boundary or rec…
5 properties
Signal
object
Signal
1 property
CustomUserDefinition
object
Custom user definition
3 properties
CustomUserDefinitionCreateRequest
object
2 properties
CustomUserValue
object
3 properties
CustomUserValueUpdateRequest
object
1 property
CustomUser
object
Custom user defintion and value
3 properties
FormMapping
object
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.
10 properties
FormMappingUpdateRequest
object
2 properties
ProfessionalContactData
object
13 properties 1 required
Group
object
Group
11 properties 1 required
GroupCreateRequest
object
5 properties 1 required
GroupUpdateRequest
object
5 properties 1 required
Membership
object
5 properties
MembershipCreateRequest
object
3 properties 3 required
Role
object
The role of a user in a group
8 properties
RoleCreateRequest
object
4 properties 1 required
RoleUpdateRequest
object
4 properties 1 required
User
object
14 properties
UserCreateRequest
object
10 properties 6 required
UserUpdateRequest
object
9 properties
UserSummary
object
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 ar…
5 properties 4 required
Platform
object
The bonita platform
6 properties
PlatformUpdateRequest
object
1 property
PlatformLicense
object
11 properties
Page
object
10 properties
PageCreateRequest
object
1 property
PageUpdateRequest
object
1 property
Profile
object
Profile
9 properties
ProfileCreateRequest
object
2 properties
ProfileUpdateRequest
object
2 properties
ProfileEntry
object
Profile entry
10 properties
ProfileEntryCreateRequest
object
7 properties
ProfileEntryUpdateRequest
object
7 properties
ProfileMember
object
Profile member
5 properties
ProfileMemberCreateRequest
object
5 properties
ThemeCreateRequest
object
Since Bonita 7.13, theme management is deprecated
2 properties
ThemeRestoreRequest
object
Since Bonita 7.13, theme management is deprecated
1 property
LogSeverityLevel
string
the severity level of the log
Log
object
A log entry recorded by the Bonita Engine during execution. Logs capture actions performed on the platform such as process deployments, task executions, or con…
7 properties
I18nlocale
object
2 properties
I18ntranslation
object
Session
object
8 properties
MaintenanceDetails
object
3 properties
SystemInformation
object
17 properties
License
object
Bonita license
4 properties
Bdm
object
6 properties
BDMInstallRequest
object
1 property
FormFileUploadRequest
object
A file to upload
1 property
FormFileUploadResponse
object
Form file upload response
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

bonitasoft-bonita-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Bonita Web REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.