Bonitasoft Process Instance Document API

ProcessInstanceDocument

Operations 5

GET /API/bpm/caseDocument Finds ProcessInstanceDocuments #
POST /API/bpm/caseDocument Create the ProcessInstanceDocument #
DELETE /API/bpm/caseDocument/{id} Delete the ProcessInstanceDocument by ID #
GET /API/bpm/caseDocument/{id} Finds the ProcessInstanceDocument by ID #
PUT /API/bpm/caseDocument/{id} Update 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-com:bonitasoft-com-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-com-processinstancedocument-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bonitasoft Com Process Instance Document 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 ProcessInstanceDocument 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: ProcessInstanceDocument
  name: ProcessInstanceDocument
  x-displayName: ProcessInstanceDocument
paths:
  /API/bpm/caseDocument:
    get:
      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:
      - description: index of the page to display
        example: '0'
        explode: true
        in: query
        name: p
        required: true
        schema:
          default: 0
          format: int32
          minimum: 0
          type: integer
        style: form
      - description: maximum number of elements to retrieve
        example: '10'
        explode: true
        in: query
        name: c
        required: true
        schema:
          default: 20
          format: int32
          minimum: 1
          type: integer
        style: form
      - description: can filter on attributes with the format f={filter\_name}={filter\_value} with the name/value pair as url encoded string.
        example: abc%3d123
        explode: true
        in: query
        name: f
        required: false
        schema:
          items:
            maxLength: 250
            pattern: ^[A-Za-z0-9%]{0,250}$
            type: string
          type: array
        style: form
      - description: can order on attributes
        example: myProp%20ASC
        explode: true
        in: query
        name: o
        required: false
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9%]{0,250}$
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ProcessInstanceDocument'
                type: array
          description: 'Success '
          headers:
            Content-Range:
              description: The total number of matching items
              explode: false
              schema:
                format: int64
                type: integer
              style: simple
        '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 ProcessInstanceDocuments
      tags:
      - ProcessInstanceDocument
      x-accepts:
      - application/json
    post:
      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':
          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: Create the ProcessInstanceDocument
      tags:
      - ProcessInstanceDocument
      x-codegen-request-body-name: body
      x-content-type: application/json
      x-accepts:
      - application/json
    servers:
    - description: Sample url for a local development server.
      url: http://localhost:8080/bonita
  /API/bpm/caseDocument/{id}:
    delete:
      description: Delete the single ProcessInstanceDocument for the given ID
      operationId: deleteProcessInstanceDocumentById
      parameters:
      - description: ID of the ProcessInstanceDocument to delete
        explode: false
        in: path
        name: id
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      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.
        '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: Delete the ProcessInstanceDocument by ID
      tags:
      - ProcessInstanceDocument
      x-accepts:
      - application/json
    get:
      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
        explode: false
        in: path
        name: id
        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/ProcessInstanceDocument'
          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.

            '
        '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 the ProcessInstanceDocument by ID
      tags:
      - ProcessInstanceDocument
      x-accepts:
      - application/json
    put:
      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
        explode: false
        in: path
        name: id
        required: true
        schema:
          maxLength: 250
          pattern: ^[A-Za-z0-9\_\-\.]{0,250}$
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessInstanceDocumentUpdateRequest'
        description: Partial ProcessInstanceDocument description
        required: true
      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.
        '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: Update the ProcessInstanceDocument by ID
      tags:
      - ProcessInstanceDocument
      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:
    ProcessInstanceDocument:
      description: A document in an active case
      example:
        id: '3'
        creationDate: 2014-10-09 16:45:36.658000
        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'
      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
      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
    ProcessInstanceDocumentUpdateRequest:
      example:
        file: Expense policy rev2.pdf
        description: updated version of document
        fileName: revision2.pdf
      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
      type: object
    ProcessInstanceDocumentCreateRequest:
      example:
        caseId: '1'
        file: doc.jpg
        name: Doc 1
        fileName: document_1.jpg
        description: draft
      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
      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