Bonitasoft Business Data Operations API

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

Operations 4

POST /API/bdm/businessData/{businessDataType} Create new Business Data #
POST /API/bdm/businessData/{businessDataType}/import Import Business Data by bulk #
PUT /API/bdm/businessData/{businessDataType}/{persistenceId} Update an existing Business Data #
DELETE /API/bdm/businessData/{businessDataType}/{persistenceId} Delete an existing Business Data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bonitasoft-business-data-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

bonitasoft-business-data-operations-api-openapi.yml Raw ↑
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 Business Data Operations 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: Business Data Operations
  x-displayName: Business Data Operations
  description: BDM Rest APIs allow to create / update / delete / import in bulk Bonita Business Data.
paths:
  /API/bdm/businessData/{businessDataType}:
    post:
      tags:
      - Business Data Operations
      summary: Create new Business Data
      description: '!edition


        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


        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}/{persistenceId}:
    put:
      tags:
      - Business Data Operations
      summary: Update an existing Business Data
      description: '!edition


        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


        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'
components:
  schemas:
    BusinessDataCreationResult:
      type: object
      description: "An object containing: \n* the ID of the newly created Business Data, under the name of \"newBusinessDataId\"\n* any unknown fields, provided as an array of names, under the name of \"unknownFields\"\n"
      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
    BusinessDataUpdateResult:
      type: object
      description: "An object containing: \n* any unknown fields, provided as an array of names, under the name of \"unknownFields\"\n"
      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
    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
    BusinessDataImportResult:
      type: object
      description: "An object containing: \n* the list of IDs of all the newly created Business Data, under the name of \"createdIds\"\n* the list of unknown fields, provided as an array of names, under the name of \"unknownFields\"\n"
      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
  responses:
    Unauthorized:
      description: Authorization information is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Unauthorized
    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: '![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
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