Flowable Content API

REST API for managing content items and attachments within Flowable, supporting binary content storage, retrieval, and association with tasks and process instances.

OpenAPI Specification

flowable-content-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Flowable Platform
  version: v1
  title: Flowable Content REST API
  contact:
    name: Flowable
    url: http://www.flowable.com/
tags:
- name: Case Definitions
- name: Content item
- name: Content item metadata
- name: Deployment
- name: Document Definitions
- name: Document Deployment
- name: Engine
- name: Query
- name: Rendition item
- name: Version parent item
paths:
  /content-management/engine:
    get:
      tags:
      - Engine
      summary: Get Content engine info
      description: ''
      operationId: getEngineInfo
      responses:
        '200':
          description: Indicates the engine info is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EngineInfoResponse'
      security:
      - basicAuth: []
  /content-service/content-items:
    get:
      tags:
      - Content item
      summary: List content items
      description: ''
      operationId: listContentItems
      parameters:
      - name: id
        in: query
        description: Only return content items with the given id.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Only return content items with the given name.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return content items with a name like the given value.
        required: false
        schema:
          type: string
      - name: mimeType
        in: query
        description: Only return content items with the given mime type.
        required: false
        schema:
          type: string
      - name: mimeTypeLike
        in: query
        description: Only return content items with a mime type like the given value.
        required: false
        schema:
          type: string
      - name: taskId
        in: query
        description: Only return content items with the given task id.
        required: false
        schema:
          type: string
      - name: taskIdLike
        in: query
        description: Only return content items with a task like the given value.
        required: false
        schema:
          type: string
      - name: processInstanceId
        in: query
        description: Only return content items with the given process instance id.
        required: false
        schema:
          type: string
      - name: processInstanceIdLike
        in: query
        description: Only return content items with a process instance like the given
          value.
        required: false
        schema:
          type: string
      - name: scopeId
        in: query
        description: Only return content items with the given scopeId. When this is
          used then scopeType must also be set.
        required: false
        schema:
          type: string
      - name: scopeIdLike
        in: query
        description: Only return content items with s scopeId like the given value.
          When this is used then scopeType must also be set.
        required: false
        schema:
          type: string
      - name: scopeType
        in: query
        description: Only return content items with the given scopeType.
        required: false
        schema:
          type: string
      - name: contentStoreId
        in: query
        description: Only return content items with the given content store id.
        required: false
        schema:
          type: string
      - name: contentStoreIdLike
        in: query
        description: Only return content items with a content store id like the given
          value.
        required: false
        schema:
          type: string
      - name: contentStoreName
        in: query
        description: Only return content items with the given content store name.
        required: false
        schema:
          type: string
      - name: contentStoreNameLike
        in: query
        description: Only return content items with a content store name like the
          given value.
        required: false
        schema:
          type: string
      - name: contentAvailable
        in: query
        description: Only return content items with or without content available.
        required: false
        schema:
          type: boolean
      - name: contentSize
        in: query
        description: Only return content items with the given content size.
        required: false
        schema:
          type: number
          format: int64
      - name: minimumContentSize
        in: query
        description: Only return content items with the a minimum content size of
          the given value.
        required: false
        schema:
          type: number
          format: int64
      - name: maximumContentSize
        in: query
        description: Only return content items with the a maximum content size of
          the given value.
        required: false
        schema:
          type: number
          format: int64
      - name: field
        in: query
        description: Only return content items with the given field.
        required: false
        schema:
          type: string
      - name: fieldLike
        in: query
        description: Only return content items with a field like the given value.
        required: false
        schema:
          type: string
      - name: latest
        in: query
        description: Only return content items with the highest available version.
        required: false
        schema:
          type: boolean
      - name: createdOn
        in: query
        description: Only return content items with the given create date.
        required: false
        schema:
          type: string
          format: date-time
      - name: createdBefore
        in: query
        description: Only return content items before given create date.
        required: false
        schema:
          type: string
          format: date-time
      - name: createdAfter
        in: query
        description: Only return content items after given create date.
        required: false
        schema:
          type: string
          format: date-time
      - name: createdBy
        in: query
        description: Only return content items with the given created by.
        required: false
        schema:
          type: string
      - name: createdByLike
        in: query
        description: Only return content items with a created by like the given value.
        required: false
        schema:
          type: string
      - name: lastModifiedOn
        in: query
        description: Only return content items with the given last modified date.
        required: false
        schema:
          type: string
          format: date-time
      - name: lastModifiedBefore
        in: query
        description: Only return content items before given last modified date.
        required: false
        schema:
          type: string
          format: date-time
      - name: lastModifiedAfter
        in: query
        description: Only return content items after given last modified date.
        required: false
        schema:
          type: string
          format: date-time
      - name: lastModifiedBy
        in: query
        description: Only return content items with the given last modified by.
        required: false
        schema:
          type: string
      - name: lastModifiedByLike
        in: query
        description: Only return content items with a last modified by like the given
          value.
        required: false
        schema:
          type: string
      - name: versionParentId
        in: query
        description: Only return content items with a given version parent id.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return content items with the given tenantId.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return content items with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns content items without a tenantId set. If
          false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: type
        in: query
        description: Only return content items with the given type.
        required: false
        schema:
          type: string
      - name: subType
        in: query
        description: Only return content items with the given subType.
        required: false
        schema:
          type: string
      - name: state
        in: query
        description: Only return content items with the given state.
        required: false
        schema:
          type: string
      - name: subState
        in: query
        description: Only return content items with the given subState.
        required: false
        schema:
          type: string
      - name: parentFolderId
        in: query
        description: Only return content items with the given folder parent id.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The content items are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseContentItemResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Content item
      summary: Create a new content item, with content item information and an optional
        attached file
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (ContentItemRequest)
        to link an external resource or by passing a multipart/form-data Object to
        attach a file.

        NB: Swagger V2 specification doesn''t support this use case that''s why this
        endpoint might be buggy/incomplete if used with other tools.'
      operationId: createContentItem
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: Attachment file
                  type: string
                  format: binary
                name:
                  description: Required name of the variable
                  example: Simple content item
                  type: string
                versionInfo:
                  description: A version identifier for the content item, optional
                  example: Simple content item
                  type: string
                mimeType:
                  description: Mime type of the content item, optional
                  example: application/pdf
                  type: string
                taskId:
                  description: Task identifier for the content item, optional
                  example: '12345'
                  type: string
                processInstanceId:
                  description: Process instance identifier for the content item, optional
                  example: '1234'
                  type: string
                scopeType:
                  description: Scope type of the content item, optional
                  example: cmmn or bpmn
                  type: string
                scopeId:
                  description: Scope id for the content item, optional
                  example: '12345'
                  type: string
                contentStoreId:
                  description: The identifier of the content item in an external content
                    store, optional
                  example: '5678'
                  type: string
                contentStoreName:
                  description: The name of an external content store, optional
                  example: myFileStore
                  type: string
                field:
                  description: The form field for the content item, optional
                  example: uploadField
                  type: string
                createdBy:
                  description: The user identifier that created the content item,
                    optional
                  example: johndoe
                  type: string
                lastModifiedBy:
                  description: The user identifier that last modified the content
                    item, optional
                  example: johndoe
                  type: string
                versionParentId:
                  description: Parent version identifier to create a new version for
                    the content item, optional
                  example: '1234'
                  type: string
                tenantId:
                  description: The tenant identifier of the content item, optional
                  example: myTenantId
                  type: string
        description: Create a new content item, with content item information
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentItemResponse'
        '201':
          description: Indicates the content item was created and the result is returned.
        '400':
          description: Indicates required content item info is missing from the request.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}:
    get:
      tags:
      - Content item
      summary: Get a content item
      description: ''
      operationId: getContentItem
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the content item was found and returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentItemResponse'
        '404':
          description: Indicates the requested content item was not found.
      security:
      - basicAuth: []
    put:
      tags:
      - Content item
      summary: Updates a content item, with the provided content item information
      description: ''
      operationId: updateContentItem
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ContentItemRequest'
      responses:
        '200':
          description: Indicates the content item was updated and the result is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentItemResponse'
        '404':
          description: Indicates content item could not be found.
      security:
      - basicAuth: []
    delete:
      tags:
      - Content item
      summary: Delete a content item
      description: ''
      operationId: deleteContentItem
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates the content item was deleted.
        '404':
          description: Indicates the content item was not found.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/copy:
    post:
      tags:
      - Content item
      summary: Copy a content item to the parent folder
      description: ''
      operationId: copyContentItem
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ContentItemRequest'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentItemResponse'
        '201':
          description: Indicates the content item was copied and the result is returned.
        '404':
          description: Indicates content item could not be found.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/data:
    get:
      tags:
      - Content item
      summary: Get the data of a content item
      description: The response body contains the binary content. By default, the
        content-type of the response is set to application/octet-stream unless the
        content item type contains a valid mime type.
      operationId: getContentItemData
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: download
        in: query
        description: Explicitly request the content to be downloaded or viewed in
          a browser. By default it would be done based on the content media type
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Indicates the content item was found and the requested content
            is returned.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Indicates the content item was not found or the content item
            does not have a binary stream available. Status message provides additional
            information.
      security:
      - basicAuth: []
    post:
      tags:
      - Content item
      summary: Save the content item data
      description: Save the content item data with an attached file. The request should
        be of type multipart/form-data. There should be a single file-part included
        with the binary value of the content item.
      operationId: saveContentItemData
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/saveContentItemData'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentItemResponse'
        '201':
          description: Indicates the content item data was saved and the result is
            returned.
        '400':
          description: Indicates required content item data is missing from the request.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/data/latest:
    get:
      tags:
      - Content item
      summary: Get the latest data of a content item
      description: The response body contains the binary content. By default, the
        content-type of the response is set to application/octet-stream unless the
        content item type contains a valid mime type.
      operationId: getLatestContentItemData
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: download
        in: query
        description: Explicitly request the latest content to be downloaded or viewed
          in a browser. By default it would be done based on the content media type
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Indicates the latest content item was found and the requested
            content is returned.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Indicates the latest content item was not found or the latest
            content item does not have a binary stream available. Status message provides
            additional information.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/metadata:
    get:
      tags:
      - Content item metadata
      summary: List metadata for a content item instance
      description: ''
      operationId: listContentMetadata
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the content item was found and metadata is returned.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
        '400':
          description: Indicates the requested content item was not found.
      security:
      - basicAuth: []
    post:
      tags:
      - Content item metadata
      summary: Create variables or new binary variable on a content item
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (RestVariable
        or an array of RestVariable) or by passing a multipart/form-data Object.

        Nonexistent metadata are created on the content item and existing ones are
        overridden without any error.

        Any number of variables can be passed into the request body array.

        Note that scope is ignored, only local variables can be set in a case instance.

        NB: Swagger V2 specification doesn''t support this use case that''s why this
        endpoint might be buggy/incomplete if used with other tools.'
      operationId: createContentMetadata
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/MetadataCollectionResource'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Indicates the content item was found and metadata is created.
        '400':
          description: Indicates the request body is incomplete or contains illegal
            values. The status description contains additional information about the
            error.
        '404':
          description: Indicates the requested content item was not found.
      security:
      - basicAuth: []
    put:
      tags:
      - Content item metadata
      summary: Update a multiple/single (non)binary variable on a content item
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (RestVariable
        or an array of RestVariable) or by passing a multipart/form-data Object.

        Nonexistent variables are created on the content item and existing ones are
        overridden without any error.

        Any number of variables can be passed into the request body array.

        Note that scope is ignored, only local variables can be set in a case instance.

        NB: Swagger V2 specification doesn''t support this use case that''s why this
        endpoint might be buggy/incomplete if used with other tools.'
      operationId: createOrUpdateContentMetadata
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/MetadataCollectionResource'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Indicates the content item was found and variable is created.
        '400':
          description: Indicates the request body is incomplete or contains illegal
            values. The status description contains additional information about the
            error.
        '404':
          description: Indicates the requested content item was not found.
        '415':
          description: Indicates the serializable data contains an object for which
            no class is present in the JVM running the Flowable engine and therefore
            cannot be deserialized.
      security:
      - basicAuth: []
    delete:
      tags:
      - Content item metadata
      summary: Delete all content item metadata
      description: ''
      operationId: deleteContentMetadata
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates metadata was found and have been deleted. Response-body
            is intentionally empty.
        '404':
          description: Indicates the requested content item was not found.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/metadata/{metadataName}:
    get:
      tags:
      - Content item metadata
      summary: Get a metadata value for a content item
      description: ''
      operationId: getContentItemMetadataValue
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: metadataName
        in: path
        required: true
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Indicates both the content item and variable were found and
            variable is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EngineRestVariable'
        '404':
          description: Indicates the requested content item was not found or the case
            instance does not have a variable with the given name. Status description
            contains additional information about the error.
      security:
      - basicAuth: []
    put:
      tags:
      - Content item metadata
      summary: Update a single metadata value on a content item
      description: 'This endpoint can be used in 2 ways: By passing a JSON Body (RestVariable)
        or by passing a multipart/form-data Object.

        Nonexistent variables are created on the case instance and existing ones are
        overridden without any error.

        Note that scope is ignored, only local variables can be set in a process instance.

        NB: Swagger V2 specification doesn''t support this use case that''s why this
        endpoint might be buggy/incomplete if used with other tools.'
      operationId: updateContentItemMetadataValue
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: metadataName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                name:
                  example: Simple content item
                  type: string
                type:
                  example: integer
                  type: string
        description: Create a variable on a case instance
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EngineRestVariable'
        '201':
          description: Indicates both the content item and metadata value were found
            and variable is updated.
        '404':
          description: Indicates the requested content item was not found or the content
            item does not have a metadata value with the given name. Status description
            contains additional information about the error.
      security:
      - basicAuth: []
    delete:
      tags:
      - Content item metadata
      summary: Delete a metadata value
      description: ''
      operationId: deleteContentItemMetadataValue
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: metadataName
        in: path
        required: true
        schema:
          type: string
      - name: scope
        in: query
        required: false
        schema:
          type: string
      responses:
        '204':
          description: Indicates the variable was found and has been deleted. Response-body
            is intentionally empty.
        '404':
          description: Indicates the requested variable was not found.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/rendition/{renditionType}:
    get:
      tags:
      - Content item
      summary: Get a rendition item (data) with a rendition type related to a content
        item
      description: Rendition type can be 'thumbnail' or 'pdf'The response body contains
        the binary content. By default, the content-type of the response is set to
        application/octet-stream unless the content item type contains a valid mime
        type.
      operationId: getRenditionForContentItem
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: renditionType
        in: path
        required: true
        schema:
          type: string
      - name: download
        in: query
        description: Explicitly request the content to be downloaded or viewed in
          a browser. By default it would be done based on the content media type
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Indicates the rendition item was found and returned.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Indicates the requested rendition item was not found.
      security:
      - basicAuth: []
  /content-service/content-items/{contentItemId}/rendition/{renditionType}/latest:
    get:
      tags:
      - Content item
      summary: Get the latest rendition item (data) with a rendition type related
        to a content item
      description: Rendition type can be 'thumbnail' or 'pdf'The response body contains
        the binary content. By default, the content-type of the response is set to
        application/octet-stream unless the content item type contains a valid mime
        type.
      operationId: getLatestRenditionForContentItem
      parameters:
      - name: contentItemId
        in: path
        required: true
        schema:
          type: string
      - name: renditionType
        in: path
        required: true
        schema:
          type: string
      - name: download
        in: query
        description: Explicitly request the content to be downloaded or viewed in
          a browser. By default it would be done based on the content media type
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Indicates the rendition item was found and returned.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Indicates the requested rendition item was not found.
      security:
      - basicAuth: []
  /content-service/rendition-items/{renditionItemId}/data:
    post:
      tags:
      - Rendition item
      summary: Save the rendition item data
      description: Save the rendition item data with an attached file. The request
        should be of type multipart/form-data. There should be a single file-part
        included with the binary value of the content item.
      operationId: saveContentItemData
      parameters:
      - name: renditionItemId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/saveContentItemData'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenditionItemResponse'
        '201':
          description: Indicates the rendition item data was saved and the result
            is returned.
        '400':
          description: Indicates required rendition item data is missing from the
            request.
      security:
      - basicAuth: []
  /content-service/version-parent-items/{ve

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flowable/refs/heads/main/openapi/flowable-content-openapi.yml