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-task-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 Task 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: Task
x-displayName: Task
description: Task
paths:
/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'
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
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
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
schemas:
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
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
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
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'
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