Operations 3
Documentation
APIReference
https://api-documentation.ofelia.com/latest/
Documentation
https://documentation.ofelia.com/bonita/latest/api/api-index
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bonitasoft-activity-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
license:
name: GPL-v2.0
url: http://www.gnu.org/licenses/gpl-2.0.txt
version: 1.0.9
title: Bonita Activity 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.'
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
paths:
/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'
components:
parameters:
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
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
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
pageFilter:
description: can filter on attributes with the format f={filter\_name}={filter\_value} with the name/value pair as url encoded string.
explode: true
in: query
name: f
required: false
schema:
type: array
items:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
example: abc%3d123
pageSearch:
description: can search on attributes
explode: true
in: query
name: s
required: false
schema:
type: string
maxLength: 250
pattern: ^[A-Za-z0-9%]{0,250}$
style: form
schemas:
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'
ActivityPriority:
type: string
description: the priority of the current activity
enum:
- highest
- above_normal
- normal
- under_normal
- lowest
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
ActivityType:
type: string
description: the activity type (string)
enum:
- AUTOMATIC_TASK
- HUMAN_TASK
- USER_TASK
- MANUAL_TASK
- LOOP_ACTIVITY
- MULTI_INSTANCE_ACTIVITY
- CALL_ACTIVITY
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
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 
- Replay activity: `replay`
'
type: string
example:
variables: '[{"name":"foo","value":"bar"}]'
state: completed
responses:
Unauthorized:
description: Authorization information is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Unauthorized
OK:
description: OK
BadRequest:
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Bad request
NotFound:
description: The resource for the specified ID was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Resource not found.
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.
securitySchemes:
bonita_auth:
name: JSESSIONID
description: 'To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section.
'
type: apiKey
in: cookie
bonita_token:
name: X-Bonita-API-Token
description: 'To call the REST API, you must first log on with a user registered in the Engine database. Please refer to the __[Login API](#operation/login)__ operations section.
'
type: apiKey
in: header
bearer_auth:
description: '
When Bonita runtime is configured for SSO with openID Connect it is possible To call the REST API directly with a Bearer Authorization header containing the access token.
'
type: http
scheme: bearer
x-tagGroups:
- name: Authentication
tags:
- Authentication
- PlatformAuthentication
- name: Application
tags:
- Application
- ApplicationMenu
- ApplicationPage
- FormMapping
- name: BDM
tags:
- BDM
- BusinessDataQuery
- Business Data Operations
- BDMAccessControl
- DataRetention
- name: BPM
tags:
- Activity
- ArchivedActivity
- HumanTask
- ManualTask
- Task
- UserTask
- ArchivedHumanTask
- ArchivedManualTask
- ArchivedTask
- ArchivedUserTask
- ActivityVariable
- ArchivedActivityVariable
- ProcessInstanceVariable
- ArchivedProcessInstanceVariable
- ProcessInstanceDocument
- ArchivedProcessInstanceDocument
- Actor
- ActorMember
- ProcessInstance
- ArchivedProcessInstance
- ProcessInstanceInfo
- ProcessInstanceComment
- ArchivedProcessInstanceComment
- Process
- Diagram
- ProcessInfo
- ProcessParameter
- ProcessResolutionProblem
- ProcessSupervisor
- ProcessConnectorDependency
- ConnectorFailure
- ConnectorInstance
- ArchivedConnectorInstance
- FlowNode
- ArchivedFlowNode
- Failure
- ArchivedFailure
- TimerEventTrigger
- Message
- Signal
- Delegation
- name: Custom user info
tags:
- CustomUserDefinition
- CustomUserValue
- CustomUser
- name: Identity
tags:
- ProfessionalContactData
- Group
- Membership
- Role
- User
- Authentication
- name: Platform
tags:
- PlatformAuthentication
- Platform
- License
- Information
- name: Portal
tags:
- Page
- Profile
- ProfileEntry
- ProfileMember
- Theme
- Upload
- name: System
tags:
- I18nlocale
- I18ntranslation
- Log
- Session
- Maintenance
- name: Other
tags:
- RestAPIextensions
- name: Upload
tags:
- FormFileUpload