Bonitasoft Process Instance Document API

ProcessInstanceDocument

Operations 5

GET /API/bpm/caseDocument Finds ProcessInstanceDocuments #
POST /API/bpm/caseDocument Create the ProcessInstanceDocument #
GET /API/bpm/caseDocument/{id} Finds the ProcessInstanceDocument by ID #
PUT /API/bpm/caseDocument/{id} Update the ProcessInstanceDocument by ID #
DELETE /API/bpm/caseDocument/{id} Delete the ProcessInstanceDocument by ID #

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-processinstancedocument-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-processinstancedocument-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 Process Instance Document 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: ProcessInstanceDocument
  x-displayName: ProcessInstanceDocument
  description: ProcessInstanceDocument
paths:
  /API/bpm/caseDocument:
    get:
      tags:
      - ProcessInstanceDocument
      summary: Finds ProcessInstanceDocuments
      description: 'Finds ProcessInstanceDocuments with pagination params and filters


        It is possible to filter on three parameters: `submittedBy`, `name` and `description`.


        * `submittedBy="id"`: search for documents that were submitted by the user with the specified identifier.

        * `name="string"`: search for documents with names that contain _string_.

        Depending on the setting for word-based search, the search returns documents with _string_ at the start of the name or the start of a word in the name.

        * `description="string"`: search for documents with descriptions that contain _string_.

        Depending on the setting for word-based search, the search returns documents with _string_ at the start of the description or the start of a word in the description.'
      operationId: searchProcessInstanceDocuments
      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/ProcessInstanceDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        5XX:
          $ref: '#/components/responses/ServerError'
    post:
      tags:
      - ProcessInstanceDocument
      summary: Create the ProcessInstanceDocument
      description: 'Create the ProcessInstanceDocument.


        Use a POST method to add a document to a process instances. You can upload a document from the local file system or by URL.

        Specify the process instance id and the document name in the payload. The document description is optional: if you do not specify a description, the description in the response is empty.

        The response contains a version, which is managed automatically. You cannot currently retrieve a specific version of a document, only the most recent version.

        To retrieve earlier versions of a ProcessInstanceDocument, use the archivedProcessInstanceDocument resource.'
      operationId: createProcessInstanceDocument
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessInstanceDocumentCreateRequest'
        description: Partial ProcessInstanceDocument description
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessInstanceDocument'
          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/bpm/caseDocument/{id}:
    get:
      tags:
      - ProcessInstanceDocument
      summary: Finds the ProcessInstanceDocument by ID
      description: 'Returns the single ProcessInstanceDocument for the given ID.

        Use a GET method to get a document from a process instances. First you get the document information, then you download the content. To get the document information, specify the document id in the URL. The document id is created when you upload a document to a process instances. There is no payload.'
      operationId: getProcessInstanceDocumentById
      parameters:
      - description: ID of the ProcessInstanceDocument to return
        in: path
        name: id
        required: true
        schema:
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
      responses:
        '200':
          description: '"Success ".

            The response includes the "url" to use to download the content. Call the documentDownload servlet with this URL: /portal/documentDownload?fileName=doc.jpg&contentStorageId=4. Note: Since Bonita 7.10, document url fileName is now URL encoded. This will avoid errors when a document to be downloaded contains special characters in its name.

            In the previous versions, a workaround was necessary client-side using the javascript native function "encodeURI" to generate document download url. You can now remove this workaround.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessInstanceDocument'
        '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:
      - ProcessInstanceDocument
      summary: Update the ProcessInstanceDocument by ID
      description: 'Update the ProcessInstanceDocument for the given ID


        You update a document in a process instance by uploading a new version of the document using a PUT method. You can upload a document version from the local file system or by URL. The document name will be used in all the process instances of the process, but the combination of process instance id and document name is unique.

        In the URL, you specify to supply the document id. This is included in the response when you first add a document to a process instances.

        The response to PUT methods is the same as for POST methods.'
      operationId: updateProcessInstanceDocumentById
      parameters:
      - description: ID of the ProcessInstanceDocument 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/ProcessInstanceDocumentUpdateRequest'
        description: Partial ProcessInstanceDocument 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'
    delete:
      tags:
      - ProcessInstanceDocument
      summary: Delete the ProcessInstanceDocument by ID
      description: Delete the single ProcessInstanceDocument for the given ID
      operationId: deleteProcessInstanceDocumentById
      parameters:
      - description: ID of the ProcessInstanceDocument to delete
        in: path
        name: id
        required: true
        schema:
          type: string
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
      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
  responses:
    Unauthorized:
      description: Authorization information is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Unauthorized
    OK:
      description: OK
    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:
    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
    ProcessInstanceDocumentCreateRequest:
      type: object
      properties:
        caseId:
          description: The process instance id
          type: string
        file:
          description: The local file name to upload from (as from the temp upload folder)
          type: string
        url:
          description: The remote url to upload from
          type: string
        name:
          description: The file display name
          type: string
        fileName:
          description: The target file name
          type: string
        description:
          description: The document description
          type: string
      example:
        caseId: '1'
        file: doc.jpg
        name: Doc 1
        fileName: document_1.jpg
        description: draft
    ProcessInstanceDocumentUpdateRequest:
      type: object
      properties:
        file:
          description: The local file name to upload from (as from the temp upload folder)
          type: string
        url:
          description: The remote url to upload from
          type: string
        name:
          description: The file display name
          type: string
        fileName:
          description: The target file name
          type: string
        description:
          description: The document description
          type: string
      example:
        file: Expense policy rev2.pdf
        description: updated version of document
        fileName: revision2.pdf
    ProcessInstanceDocument:
      type: object
      description: A document in an active case
      properties:
        id:
          description: documentId
          type: string
        creationDate:
          description: date and time
          type: string
        author:
          deprecated: true
          description: submittorUserId
          type: string
        index:
          description: index in a list of documents, or -1 for a single document
          type: string
        contentMimetype:
          description: MIME type
          type: string
        caseId:
          description: caseId
          type: string
        contentStorageId:
          description: storageId
          type: string
        isInternal:
          description: '`true` if  the the document object contains the content directly. `false` if the document is specified by URL so the document object contains a reference to the content, not the content itself.'
          type: boolean
        description:
          description: description
          type: string
        name:
          description: name
          type: string
        fileName:
          description: filename
          type: string
        submittedBy:
          description: submittorUserId
          type: string
        url:
          description: urlForDownload
          type: string
        version:
          description: version
          type: string
      example:
        id: '3'
        creationDate: '2014-10-09 16:45:36.658'
        author: '1'
        index: '-1'
        contentMimetype: application/octet-stream
        caseId: '1'
        contentStorageId: '4'
        isInternal: 'true'
        description: draft
        name: Doc 1
        fileName: document_1.jpg
        submittedBy: '1'
        url: documentDownload?fileName=document_1.jpg&contentStorageId=4
        version: '1'
  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