Bonitasoft Application API

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.

Operations 8

GET /API/living/application Finds living applications #
POST /API/living/application Create a living application #
GET /API/living/application/{id} Finds a living application by ID #
DELETE /API/living/application/{id} Delete a living application by ID #
PUT /API/living/application/{id} Update a living application by ID #
POST /services/application/import Import a living application #
POST /portal/applicationsUpload Upload a living application #
POST /APIv2/service/install Upload an application configuration file #

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-application-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-application-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 Application 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: Application
  x-displayName: Application
  description: 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.
paths:
  /API/living/application:
    get:
      tags:
      - Application
      summary: Finds living applications
      description: 'Finds living applications with pagination params and filters


        - can order on `id`,`creationDate`, `createdBy`, `profileId`, `token`, `displayName`, `updatedBy`, `lastUpdateDate`, `version`, `link`

        - can search on `token`, `displayName`, `version`, `link`

        - can filter on `token`, `displayName`, `version`, `link`, `profileId`, `creationDate`, `createdBy`, `updatedBy` , `lastUpdateDate`, `userId`'
      operationId: searchApplications
      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/Application'
              example:
              - id: '306'
                link: 'true'
                creationDate: '1411548289900'
                icon: ''
                createdBy": '1'
                profileId: '2'
                description: My application link description
                token: myadvapp
                state: ACTIVATED
                displayName: My app link
                updatedBy: '1'
                visibility: ALL
                editable: 'true'
                lastUpdateDate: '1411548289900'
                version: '1.0'
              - id: '305'
                link: 'false'
                creationDate: '1411548289900'
                icon: ''
                createdBy": '1'
                profileId: '2'
                description: My application description
                token: myapp
                state: DEACTIVATED
                displayName: My app
                updatedBy: '1'
                visibility: ALL
                editable: 'true'
                lastUpdateDate: '1411548289900'
                version: '1.0'
                homePageId: '26'
                themeId: '1'
                layoutId: '3'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        5XX:
          $ref: '#/components/responses/ServerError'
    post:
      tags:
      - Application
      summary: Create a living application
      deprecated: true
      description: 'Create a living application (legacy application or application link).


        Warning: as of 9.0.0, creating a living application using this API is deprecated.'
      operationId: createApplication
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApplicationRequest'
        description: Partial living application description
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: 'Success '
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        5XX:
          $ref: '#/components/responses/ServerError'
      x-codegen-request-body-name: body
  /API/living/application/{id}:
    get:
      tags:
      - Application
      summary: Finds a living application by ID
      description: Returns a single application for the given ID
      operationId: getApplicationById
      parameters:
      - description: ID of application to return
        in: path
        name: id
        required: true
        schema:
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: 'Success '
        '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:
      - Application
      summary: Delete a living application by ID
      description: Delete a single application for the given ID
      operationId: deleteApplicationById
      parameters:
      - description: ID of application to delete
        in: path
        name: id
        required: true
        schema:
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
      responses:
        '200':
          description: 'Success '
        '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:
      - Application
      summary: Update a living application by ID
      deprecated: true
      description: 'Update a single application for the given ID (legacy application or application link).


        Warning: as of 9.0.0, updating a living application using this API is deprecated.'
      operationId: updateApplicationById
      parameters:
      - description: ID of application 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/ApplicationUpdateRequest'
        description: Partial living application description
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: 'Success '
        '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'
  /services/application/import:
    post:
      tags:
      - Application
      summary: Import a living application
      deprecated: true
      description: 'Import a single application


        Warning: as of 9.0.0, importing a living application using this service is deprecated.'
      operationId: importApplication
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                applicationsDataUpload:
                  type: string
                  description: Uploaded file
                importPolicy:
                  type: string
                  description: Import policy
      responses:
        '200':
          description: 'Success '
        '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'
  /portal/applicationsUpload:
    post:
      tags:
      - Application
      summary: Upload a living application
      deprecated: true
      description: 'Upload application


        Warning: as of 9.0.0, uploading a living application using the portal is deprecated.'
      operationId: uploadApplication
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadRequest'
      responses:
        '200':
          description: 'Success '
          content:
            text/plain:
              schema:
                type: string
                maxLength: 250
                pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
                example: tmp_application_data.xml
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        5XX:
          $ref: '#/components/responses/ServerError'
  /APIv2/service/install:
    post:
      tags:
      - Application
      summary: Upload an application configuration file
      deprecated: true
      description: '!edition


        Upload an application configuration file in the `bconf` format.


        Warning: as of 9.0.0, uploading an application configuration file using this API is deprecated.'
      operationId: uploadApplicationConfiguration
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - configuration
              properties:
                configuration:
                  type: string
                  format: binary
      responses:
        '200':
          description: 'Success: the temp file name as present on the server'
          content:
            text/plain:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        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
  responses:
    Unauthorized:
      description: Authorization information is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Unauthorized
    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.
    BadRequest:
      description: Bad request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Bad request
    ServerError:
      description: Unexpected error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: An unexpected error occured.
  schemas:
    LegacyApplication:
      title: Legacy application
      description: Contains the meta information of a legacy Bonita Living Application.
      allOf:
      - type: object
        properties:
          link:
            description: false for a legacy application
            type: boolean
            enum:
            - false
      - $ref: '#/components/schemas/AbstractApplication'
      - type: object
        description: Contains the meta information of a legacy Bonita Living Application.
        properties:
          homePageId:
            description: id of the application page used as the home page
            type: string
            maxLength: 250
            pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          layoutId:
            description: id of the layout used by the application
            type: string
            maxLength: 250
            pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          themeId:
            description: id of the theme used by the application
            type: string
            maxLength: 250
            pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
      example:
        id: '305'
        link: 'false'
        creationDate: '1411548289900'
        icon: ''
        createdBy": '1'
        profileId: '2'
        description: My application description
        token: myapp
        state: DEACTIVATED
        displayName: My app
        updatedBy: '1'
        visibility: ALL
        editable: 'true'
        lastUpdateDate: '1411548289900'
        version: '1.0'
        homePageId: '26'
        themeId: '1'
        layoutId: '3'
    ApplicationLink:
      title: Application Link
      description: Contains the meta information of a Bonita Living Application Link.
      allOf:
      - type: object
        properties:
          link:
            description: true for an application link
            type: boolean
            enum:
            - true
      - $ref: '#/components/schemas/AbstractApplication'
      - type: object
        description: Contains the meta information of a Bonita Living Application Link.
      example:
        id: '306'
        link: 'true'
        creationDate: '1411548289900'
        icon: ''
        createdBy": '1'
        profileId: '2'
        description: My application link description
        token: myadvapp
        state: ACTIVATED
        displayName: My app link
        updatedBy: '1'
        visibility: ALL
        editable: 'true'
        lastUpdateDate: '1411548289900'
        version: '1.0'
    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
    AbstractApplication:
      type: object
      properties:
        createdBy:
          description: Author user ID
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
        creationDate:
          description: creation date of the application
          type: string
        description:
          description: description of the application
          type: string
        displayName:
          description: display name of the application
          type: string
        id:
          description: id of the application
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
        lastUpdateDate:
          description: last update date of the application
          type: string
        profileId:
          description: profile authorized to access this application
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
        token:
          description: token of the application used to build the application URL
          type: string
        updatedBy:
          description: Last updating user ID
          type: string
        version:
          description: version of the application
          type: string
        state:
          description: application state
          type: string
          enum:
          - ACTIVATED
          - DEACTIVATED
        visibility:
          description: visibility of the Application. This value is purely indicative, changing it in the application object won't change the accessibility to the actual application.
          enum:
          - ALL
          - TECHNICAL_USER
          - RESTRICTED
          x-enumDescriptions:
            ALL: Everyone can use the application
            TECHNICAL_USER: Only the technical user can use the application
            RESTRICTED: Access to the application is determined by the user profile
        editable:
          description: Indicates whether the application can be modified
          type: boolean
    Application:
      oneOf:
      - $ref: '#/components/schemas/ApplicationLink'
      - $ref: '#/components/schemas/LegacyApplication'
    ApplicationUpdateRequest:
      type: object
      properties:
        description:
          description: description of the application
          type: string
        displayName:
          description: display name of the application
          type: string
        profileId:
          description: profile authorized to access this application
          type: string
        token:
          description: token of the application used to build the application URL
          type: string
        version:
          description: version of the application
          type: string
        themeId:
          description: '![edition](https://img.shields.io/badge/edition-entreprise-blue)


            theme id for the application

            '
          type: string
        layoutId:
          description: '![edition](https://img.shields.io/badge/edition-entreprise-blue)


            layout id for the application

            '
          type: string
      example:
        version: '1.0'
        profileId: '2'
        token: myapp
        displayName: My app
        description: My application description
        themeId: '2'
        layoutId: '17'
    CreateApplicationRequest:
      type: object
      properties:
        link:
          description: true for an application link, false for a legacy application
          type: boolean
          default: 'false'
          enum:
          - true
          - false
        description:
          description: description of the application
          type: string
        displayName:
          description: display name of the application
          type: string
        profileId:
          description: profile authorized to access this application
          type: string
        token:
          description: token of the application used to build the application URL
          type: string
        version:
          description: version of the application
          type: string
      example:
        link: 'false'
        version: '1.0'
        profileId: '2'
        token: myapp
        displayName: My app
        description: My application description
    FileUploadRequest:
      type: object
      description: The file to upload
      properties:
        file:
          type: string
          format: binary
  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