Bonitasoft BDM API

Show status or install or update the Business Data Model. Installing or updating a BDM needs to be done in two successive steps: 1. Upload a BDM file 2. Install/Update the previously uploaded file **To do this, the maintenance mode needs to be enabled.** **In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM.**

Operations 6

GET /API/bdm/businessData/{businessDataType}/findByIds Finds business data By Ids #
GET /API/bdm/businessData/{businessDataType}/{persistenceId} Finds business data by Id #
GET /API/bdm/businessData/{businessDataType}/{persistenceId}/{attributeName} Finds business data attribute by id #
POST /portal/fileUpload Upload a file #
GET /API/tenant/bdm Get the BDM #
POST /API/tenant/bdm Install a BDM #

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-com:bonitasoft-com-bdm-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-com-bdm-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bonitasoft Com BDM API
  version: 1.0.9
  license:
    name: GPL-v2.0
    url: http://www.gnu.org/licenses/gpl-2.0.txt
  x-logo:
    url: images/ofelia-logo.svg
    backgroundColor: '#19465f'
    altText: Bonita API
    href: /
  description: 'Operations tagged BDM across 2 of this provider''s published API definitions: bonita-java-client-openapi.yaml, bonita-java-client.yaml. Each path carries the servers of the definition it was published in.'
servers:
- description: Sample url for a local development server.
  url: http://localhost:8080/bonita
security:
- bonita_auth: []
  bonita_token: []
- bearer_auth: []
tags:
- description: 'Show status or install or update the Business Data Model.


    Installing or updating a BDM needs to be done in two successive steps:


    1. Upload a BDM file

    2. Install/Update the previously uploaded file


    **To do this, the maintenance mode needs to be enabled.**


    **In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM.**'
  name: BDM
  x-displayName: Business Data Model
paths:
  /API/bdm/businessData/{businessDataType}/findByIds:
    get:
      description: Finds business data specified by their identifiers.
      operationId: searchBusinessDataByIds
      parameters:
      - description: Business Data Type
        example: com.company.model.Employee
        explode: false
        in: path
        name: businessDataType
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      - description: list of persistenceIds (comma separated)
        example: 1,3,56
        explode: true
        in: query
        name: ids
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BusinessData'
                type: array
          description: 'Success '
        '400':
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request.
        '401':
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/Error'
          description: Authorization information is missing or invalid.
        '403':
          content:
            application/json:
              example:
                message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
        5XX:
          content:
            application/json:
              example:
                message: An unexpected error occured.
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error.
      summary: Finds business data By Ids
      tags:
      - BDM
      x-accepts:
      - application/json
    servers:
    - description: Sample url for a local development server.
      url: http://localhost:8080/bonita
  /API/bdm/businessData/{businessDataType}/{persistenceId}:
    get:
      description: Finds business data specified by its identifier.
      operationId: searchBusinessDataById
      parameters:
      - description: Business Data Type
        example: com.company.model.Employee
        explode: false
        in: path
        name: businessDataType
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      - description: Business data ID
        example: 1
        explode: false
        in: path
        name: persistenceId
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessData'
          description: 'Success '
        '400':
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request.
        '401':
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/Error'
          description: Authorization information is missing or invalid.
        '404':
          content:
            application/json:
              example:
                message: Resource not found.
              schema:
                $ref: '#/components/schemas/Error'
          description: The resource for the specified ID was not found.
        5XX:
          content:
            application/json:
              example:
                message: An unexpected error occured.
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error.
      summary: Finds business data by Id
      tags:
      - BDM
      x-accepts:
      - application/json
    servers:
    - description: Sample url for a local development server.
      url: http://localhost:8080/bonita
  /API/bdm/businessData/{businessDataType}/{persistenceId}/{attributeName}:
    get:
      description: Gets the business data attribute of business data according to its identifier and attribute name. Request url.
      operationId: searchBusinessDataAttributeById
      parameters:
      - description: Business Data Type
        example: com.company.model.Employee
        explode: false
        in: path
        name: businessDataType
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      - description: Business data ID
        example: 1
        explode: false
        in: path
        name: persistenceId
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      - description: Business data attribute name
        example: company
        explode: false
        in: path
        name: attributeName
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              example:
                persistenceId_string: '1'
                persistenceVersion_string: '0'
                company: The Big Company
              schema:
                $ref: '#/components/schemas/BusinessData'
          description: 'Success '
        '400':
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request.
        '401':
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/Error'
          description: Authorization information is missing or invalid.
        '403':
          content:
            application/json:
              example:
                message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
        '404':
          content:
            application/json:
              example:
                message: Resource not found.
              schema:
                $ref: '#/components/schemas/Error'
          description: The resource for the specified ID was not found.
        5XX:
          content:
            application/json:
              example:
                message: An unexpected error occured.
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error.
      summary: Finds business data attribute by id
      tags:
      - BDM
      x-accepts:
      - application/json
    servers:
    - description: Sample url for a local development server.
      url: http://localhost:8080/bonita
  /portal/fileUpload:
    post:
      description: 'Upload file.


        **NOTE:** If this file is a BDM zip, to do this, Maintenance mode needs to be enabled.

        In Enterprise editions, if you have an access control file installed, you need to delete it before installing or updating your BDM.'
      operationId: uploadFile
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadRequest'
      responses:
        '200':
          content:
            text/plain:
              schema:
                maxLength: 250
                pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
                type: string
          description: 'Success: the temp file name as present on the server'
        '400':
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request.
        '401':
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/Error'
          description: Authorization information is missing or invalid.
        '403':
          content:
            application/json:
              example:
                message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
        5XX:
          content:
            application/json:
              example:
                message: An unexpected error occured.
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error.
      summary: Upload a file
      tags:
      - BDM
      x-content-type: multipart/form-data
      x-accepts:
      - application/json
      - text/plain
    servers:
    - description: Sample url for a local development server.
      url: http://localhost:8080/bonita
  /API/tenant/bdm:
    get:
      description: Returns the current BDM. Make this call to get the status the BDM.
      operationId: getBdm
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bdm'
          description: 'Success '
        '400':
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request.
        '401':
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/Error'
          description: Authorization information is missing or invalid.
        '403':
          content:
            application/json:
              example:
                message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
        '404':
          content:
            application/json:
              example:
                message: Resource not found.
              schema:
                $ref: '#/components/schemas/Error'
          description: The resource for the specified ID was not found.
        5XX:
          content:
            application/json:
              example:
                message: An unexpected error occured.
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error.
      summary: Get the BDM
      tags:
      - BDM
      x-accepts:
      - application/json
    post:
      deprecated: true
      description: 'Install a BDM


        Warning: as of 9.0.0, importing a BDM using this API is deprecated.'
      operationId: installBDM
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BDMInstallRequest'
      responses:
        '200':
          description: OK
        '400':
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request.
        '401':
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/Error'
          description: Authorization information is missing or invalid.
        '403':
          content:
            application/json:
              example:
                message: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden, The request contained valid data and was understood by the server, but the server is refusing action.
        5XX:
          content:
            application/json:
              example:
                message: An unexpected error occured.
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error.
      summary: Install a BDM
      tags:
      - BDM
      x-content-type: application/json
      x-accepts:
      - application/json
    servers:
    - description: Sample url for a local development server.
      url: http://localhost:8080/bonita
components:
  schemas:
    TenantResourceState:
      description: Tenant resource state (BDM, BDM access control, ...)
      enum:
      - INSTALLING
      - INSTALLED
      type: string
    Bdm:
      description: ''
      example:
        id: '309'
        name: client_bdm.zip
        type: BDM
        state: INSTALLED
        lastUpdatedBy: -1
        lastUpdateDate: 2018-01-17 17:05:36.671000+00:00
      properties:
        id:
          description: BDM id
          type: string
        name:
          description: BDM name
          type: string
        type:
          description: BDM type
          type: string
        state:
          $ref: '#/components/schemas/TenantResourceState'
        lastUpdatedBy:
          default: '-1'
          description: This value is always -1 because only the technical admin can install BDM.
          type: string
        lastUpdateDate:
          description: Last date when the BDM was installed or updated.
          type: string
      type: object
    BusinessData:
      additionalProperties: true
      description: "Retrieve business data value. Depending on the object attribute loading policy,\nthe API returns either the full object in JSON representation or the HATEOAS links to the object attributes.\n\nLong attributes use a string representation added in 7.0.1 as a workaround for the JavaScript integer spectrum issue.\n\nRepresentation of object attributes with an _always load_ policy:\n\n```json\n{\n  \"persistenceId\": _number_, // <-- deprecated\n  \"persistenceId_string\": \"_number_\"\n  \"persistenceVersion\": _number_, // <-- deprecated\n  \"persistenceVersion_string\": \"_number_\"\n  \"attributeName\":_attributeType_\n  ...\n}\n```\n\nThe string representation added in 7.0.1 for Long attributes is a workaround for the JavaScript integer spectrum issue.\n\nHATEOAS representation of object attribute with a _load when needed_ policy:\n```json\n\"links\":[\n   {\n   \"rel\":_string_\n   \"href\":_uri_\n   }\n]\n```\n"
      example:
        persistenceId_string: '1'
        persistenceVersion_string: '0'
        contractName: contract for Netcom3
        terms:
        - persistenceId: 1
          persistenceId_string: '1'
          persistenceVersion: 0
          persistenceVersion_string: '0'
          termName: term Name
        - persistenceId: 2
          persistenceId_string: '2'
          persistenceVersion: 0
          persistenceVersion_string: '0'
          termName: term Name
        client:
          persistenceId: 13
          persistenceId_string: '13'
          persistenceVersion: 0
          persistenceVersion_string: '0'
          clientName: client name
          description: n/a
          industry:
          - persistenceId: 2
            persistenceId_string: '2'
            persistenceVersion: 0
            persistenceVersion_string: '0'
            industryName: Services
          - persistenceId: 3
            persistenceId_string: '3'
            persistenceVersion: 0
            persistenceVersion_string: '0'
            industryName: Software
      properties:
        persistenceId_string:
          description: Id of the business data object
          type: string
        persistenceVersion_string:
          description: Version of the business data object instance
          type: string
      type: object
    FileUploadRequest:
      description: The file to upload
      properties:
        file:
          format: binary
          type: string
      type: object
    Error:
      additionalProperties: true
      example:
        exception: exception
        explanations:
        - explanations
        - explanations
        message: message
      properties:
        message:
          description: The error message
          type: string
        exception:
          description: The exception type
          type: string
        explanations:
          description: Further details on the error
          items:
            type: string
          type: array
      type: object
    BDMInstallRequest:
      example:
        fileUpload: tmp_uploaded_bdm.zip
      properties:
        fileUpload:
          description: the temporary file name once uploaded on the server
          type: string
      type: object
  securitySchemes:
    bonita_auth:
      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.

        '
      in: cookie
      name: JSESSIONID
      type: apiKey
    bonita_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.

        '
      in: header
      name: X-Bonita-API-Token
      type: apiKey
    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.

        '
      scheme: bearer
      type: http
x-refined-from:
- bonita-java-client-openapi.yaml
- bonita-java-client.yaml
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