Flowable Content item API

The Content item API from Flowable — 11 operation(s) for content item.

OpenAPI Specification

flowable-content-item-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: "# flowable / flowəb(ə)l /\r\n\r\n- a compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.\r\n- a lightning fast, tried and tested BPMN 2 process engine written in Java. It is Apache 2.0 licensed open source, with a committed community.\r\n- can run embedded in a Java application, or as a service on a server, a cluster, and in the cloud. It integrates perfectly with Spring. With a rich Java and REST API, it is the ideal engine for orchestrating human or system activities."
  version: v1
  title: Flowable REST Access Tokens Content item API
  contact:
    name: Flowable
    url: http://www.flowable.org/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: /flowable-rest/service
tags:
- name: Content item
paths:
  /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}/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/version-parent-items/{versionParentId}:
    get:
      tags:
      - Content item
      summary: Get a content item
      description: ''
      operationId: getContentItem
      parameters:
      - name: versionParentId
        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: []
  /content-service/version-parent-items/{versionParentId}/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: versionParentId
        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: []
  /content-service/version-parent-items/{versionParentId}/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: versionParentId
        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: []
  /query/content-items:
    post:
      tags:
      - Content item
      summary: Query for content items
      description: All supported JSON parameter fields allowed are exactly the same as the parameters found for getting a collection of content items, but passed in as JSON-body arguments rather than URL-parameters to allow for more advanced querying and preventing errors with request-uri’s that are too long.
      operationId: getQueryResult
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentItemQueryRequest'
      responses:
        '200':
          description: Indicates request was successful and the content items are returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseContentItemResponse'
        '400':
          description: Indicates a parameter was passed in the wrong format. The status-message contains additional information.
      security:
      - basicAuth: []
components:
  schemas:
    QueryMetadata:
      type: object
      properties:
        name:
          type: string
        operation:
          type: string
        value:
          type: object
        type:
          type: string
    FileSystem:
      type: object
      properties:
        open:
          type: boolean
        readOnly:
          type: boolean
        separator:
          type: string
        rootDirectories:
          $ref: '#/components/schemas/IterablePath'
        fileStores:
          $ref: '#/components/schemas/IterableFileStore'
        userPrincipalLookupService:
          $ref: '#/components/schemas/UserPrincipalLookupService'
    ContentItemRequest:
      type: object
      properties:
        name:
          type: string
          example: Simple content item
          description: Name of the content item
        versionInfo:
          type: string
          example: Version 1a
          description: Version information of the content item
        mimeType:
          type: string
          example: application/pdf
          description: Mime type of the content item, optional
        taskId:
          type: string
          example: '12345'
          description: Task identifier for the content item, optional
        processInstanceId:
          type: string
          example: '1234'
          description: Process instance identifier for the content item, optional
        scopeType:
          type: string
          example: bpmn
          description: Scope type for the content item, optional
        scopeId:
          type: string
          example: '1234'
          description: Scope instance identifier for the content item, optional
        contentStoreId:
          type: string
          example: '5678'
          description: The identifier of the content item in an external content store, optional.
        contentStoreName:
          type: string
          example: myFileStore
          description: The name of an external content store, optional
        field:
          type: string
          example: uploadField
          description: The form field for the content item, optional
        versionParentId:
          type: string
          example: '1234'
          description: The version parent id for the content item to create a new version, optional
        tenantId:
          type: string
          example: myTenantId
          description: The tenant identifier of the content item, optional.
        createdBy:
          type: string
          example: johndoe
          description: The user identifier that created the content item, optional
        lastModifiedBy:
          type: string
          example: johndoe
          description: The user identifier that last modified the content item, optional
        type:
          type: string
          example: folder
          description: The type of the content item, optional
        subType:
          type: string
          example: spreadsheet
          description: The subtype of the content item, optional
        state:
          type: string
          example: active
          description: The state of the content item, optional
        subState:
          type: string
          example: active
          description: The substate of the content item, optional
        parentFolderId:
          type: string
          example: myFolderId
          description: The parent folder id of the content item, optional
    DataResponseContentItemResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ContentItemResponse'
        total:
          type: integer
          format: int64
        start:
          type: integer
          format: int32
        sort:
          type: string
        order:
          type: string
        size:
          type: integer
          format: int32
    InputStream:
      type: object
    IterableFileStore:
      type: object
    IterablePath:
      type: object
    Resource:
      type: object
      properties:
        open:
          type: boolean
        file:
          type: string
          format: binary
        readable:
          type: boolean
        url:
          type: string
          format: url
        filePath:
          $ref: '#/components/schemas/Path'
        filename:
          type: string
        description:
          type: string
        uri:
          type: string
          format: uri
        contentAsByteArray:
          type: array
          items:
            type: string
            format: byte
        inputStream:
          $ref: '#/components/schemas/InputStream'
    ContentItemResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        version:
          type: integer
          format: int32
        versionInfo:
          type: string
        size:
          type: integer
          format: int64
        mimeType:
          type: string
        definitionId:
          type: string
        definitionName:
          type: string
        taskId:
          type: string
        processInstanceId:
          type: string
        scopeId:
          type: string
        scopeType:
          type: string
        contentStoreId:
          type: string
        contentStoreName:
          type: string
        contentAvailable:
          type: boolean
        versionParentId:
          type: string
        tenantId:
          type: string
        created:
          type: string
          format: date-time
        createdBy:
          type: string
        lastModified:
          type: string
          format: date-time
        lastModifiedBy:
          type: string
        url:
          type: string
        type:
          type: string
        subType:
          type: string
        state:
          type: string
        subState:
          type: stri

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