Flowable Deployment API

The Deployment API from Flowable — 18 operation(s) for deployment.

OpenAPI Specification

flowable-deployment-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 Deployment 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: Deployment
paths:
  /repository/deployments:
    get:
      tags:
      - Deployment
      summary: List Deployments
      description: ''
      operationId: listDeployments
      parameters:
      - name: name
        in: query
        description: Only return deployments with the given name.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return deployments with a name like the given name.
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: Only return deployments with the given category.
        required: false
        schema:
          type: string
      - name: categoryNotEquals
        in: query
        description: Only return deployments which do not have the given category.
        required: false
        schema:
          type: string
      - name: parentDeploymentId
        in: query
        description: Only return deployments with the given parent deployment id.
        required: false
        schema:
          type: string
      - name: parentDeploymentIdLike
        in: query
        description: Only return deployments with a parent deployment id like the given value.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return deployments with the given tenantId.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return deployments with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns deployments without a tenantId set. If false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: sort
        in: query
        description: Property to sort on, to be used together with the order.
        required: false
        schema:
          type: string
          enum:
          - id
          - name
          - deployTime
          - tenantId
      - name: order
        in: query
        description: The sort order, either 'asc' or 'desc'. Defaults to 'asc'.
        required: false
        schema:
          type: string
      - name: start
        in: query
        description: Index of the first row to fetch. Defaults to 0.
        required: false
        schema:
          type: integer
      - name: size
        in: query
        description: Number of rows to fetch, starting from start. Defaults to 10.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Indicates the request was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseDeploymentResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Deployment
      summary: Create a new deployment
      description: 'The request body should contain data of type multipart/form-data. There should be exactly one file in the request, any additional files will be ignored. The deployment name is the name of the file-field passed in. If multiple resources need to be deployed in a single deployment, compress the resources in a zip and make sure the file-name ends with .bar or .zip.


        An additional parameter (form-field) can be passed in the request body with name tenantId. The value of this field will be used as the id of the tenant this deployment is done in.'
      operationId: uploadDeployment
      parameters:
      - name: deploymentKey
        in: query
        required: false
        schema:
          type: string
      - name: deploymentName
        in: query
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        required: false
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/uploadDeployment'
      responses:
        '201':
          description: Indicates the deployment was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
        '400':
          description: Indicates there was no content present in the request body or the content mime-type is not supported for deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /repository/deployments/{deploymentId}:
    get:
      tags:
      - Deployment
      summary: Get a deployment
      description: ''
      operationId: getDeployment
      parameters:
      - name: deploymentId
        in: path
        description: The id of the deployment to get.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the deployment was found and returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
    delete:
      tags:
      - Deployment
      summary: Delete a deployment
      description: ''
      operationId: deleteDeployment
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      - name: cascade
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '204':
          description: Indicates the deployment was found and has been deleted. Response-body is intentionally empty.
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
  /repository/deployments/{deploymentId}/resourcedata/{resourceName}:
    get:
      tags:
      - Deployment
      summary: Get a deployment resource content
      description: The response body will contain the binary resource-content for the requested resource. The response content-type will be the same as the type returned in the resources mimeType property. Also, a content-disposition header is set, allowing browsers to download the file instead of displaying it.
      operationId: getDeploymentResourceData
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      - name: resourceName
        in: path
        description: 'The name of the resource to get. Make sure you URL-encode the resourceName in case it contains forward slashes. Eg: use diagrams%2Fmy-process.bpmn20.xml instead of diagrams/my-process.bpmn20.xml.'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both deployment and resource have been found and the resource data has been returned.
          content:
            '*/*':
              schema:
                type: array
                items:
                  type: string
                  format: byte
        '404':
          description: Indicates the requested deployment was not found or there is no resource with the given id present in the deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /repository/deployments/{deploymentId}/resources:
    get:
      tags:
      - Deployment
      summary: List resources in a deployment
      description: The dataUrl property in the resulting JSON for a single resource contains the actual URL to use for retrieving the binary resource.
      operationId: listDeploymentResources
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the deployment was found and the resource list has been returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeploymentResourceResponse'
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
  /repository/deployments/{deploymentId}/resources/**:
    get:
      tags:
      - Deployment
      summary: Get a deployment resource
      description: Replace ** by ResourceId
      operationId: getDeploymentResource
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both deployment and resource have been found and the resource has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResourceResponse'
        '404':
          description: Indicates the requested deployment was not found or there is no resource with the given id present in the deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /cmmn-repository/deployments:
    get:
      tags:
      - Deployment
      summary: List Deployments
      description: ''
      operationId: listDeployments
      parameters:
      - name: name
        in: query
        description: Only return deployments with the given name.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return deployments with a name like the given name.
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: Only return deployments with the given category.
        required: false
        schema:
          type: string
      - name: categoryNotEquals
        in: query
        description: Only return deployments which do not have the given category.
        required: false
        schema:
          type: string
      - name: parentDeploymentId
        in: query
        description: Only return deployments with the given parent deployment id.
        required: false
        schema:
          type: string
      - name: parentDeploymentIdLike
        in: query
        description: Only return deployments with a parent deployment id like the given value.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return deployments with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return deployments with the given tenantId.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns deployments without a tenantId set. If false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: sort
        in: query
        description: Property to sort on, to be used together with the order.
        required: false
        schema:
          type: string
          enum:
          - id
          - name
          - deployTime
          - tenantId
      - name: order
        in: query
        description: The sort order, either 'asc' or 'desc'. Defaults to 'asc'.
        required: false
        schema:
          type: string
      - name: start
        in: query
        description: Index of the first row to fetch. Defaults to 0.
        required: false
        schema:
          type: integer
      - name: size
        in: query
        description: Number of rows to fetch, starting from start. Defaults to 10.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Indicates the request was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseCmmnDeploymentResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Deployment
      summary: Create a new deployment
      description: 'The request body should contain data of type multipart/form-data. There should be exactly one file in the request, any additional files will be ignored. The deployment name is the name of the file-field passed in. If multiple resources need to be deployed in a single deployment, compress the resources in a zip and make sure the file-name ends with .bar or .zip.


        An additional parameter (form-field) can be passed in the request body with name tenantId. The value of this field will be used as the id of the tenant this deployment is done in.'
      operationId: uploadDeployment
      parameters:
      - name: deploymentKey
        in: query
        required: false
        schema:
          type: string
      - name: deploymentName
        in: query
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
              - file
        required: true
      responses:
        '201':
          description: Indicates the deployment was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmmnDeploymentResponse'
        '400':
          description: Indicates there was no content present in the request body or the content mime-type is not supported for deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /cmmn-repository/deployments/{deploymentId}:
    get:
      tags:
      - Deployment
      summary: Get a deployment
      description: ''
      operationId: getDeployment
      parameters:
      - name: deploymentId
        in: path
        description: The id of the deployment to get.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the deployment was found and returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmmnDeploymentResponse'
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
    delete:
      tags:
      - Deployment
      summary: Delete a deployment
      description: ''
      operationId: deleteDeployment
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      - name: cascade
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '204':
          description: Indicates the deployment was found and has been deleted. Response-body is intentionally empty.
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
  /cmmn-repository/deployments/{deploymentId}/resourcedata/{resourceName}:
    get:
      tags:
      - Deployment
      summary: Get a deployment resource content
      description: The response body will contain the binary resource-content for the requested resource. The response content-type will be the same as the type returned in the resources mimeType property. Also, a content-disposition header is set, allowing browsers to download the file instead of displaying it.
      operationId: getDeploymentResourceData
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      - name: resourceName
        in: path
        description: 'The name of the resource to get. Make sure you URL-encode the resourceName in case it contains forward slashes. Eg: use diagrams%2Fmy-process.bpmn20.xml instead of diagrams/my-process.bpmn20.xml.'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both deployment and resource have been found and the resource data has been returned.
          content:
            '*/*':
              schema:
                type: array
                items:
                  type: string
                  format: byte
        '404':
          description: Indicates the requested deployment was not found or there is no resource with the given id present in the deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /cmmn-repository/deployments/{deploymentId}/resources:
    get:
      tags:
      - Deployment
      summary: List resources in a deployment
      description: The dataUrl property in the resulting JSON for a single resource contains the actual URL to use for retrieving the binary resource.
      operationId: listDeploymentResources
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the deployment was found and the resource list has been returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeploymentResourceResponse_2'
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
  /cmmn-repository/deployments/{deploymentId}/resources/**:
    get:
      tags:
      - Deployment
      summary: Get a deployment resource
      description: Replace ** by ResourceId
      operationId: getDeploymentResource
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both deployment and resource have been found and the resource has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResourceResponse_2'
        '404':
          description: Indicates the requested deployment was not found or there is no resource with the given id present in the deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /document-repository/deployments:
    get:
      tags:
      - Deployment
      summary: List Deployments
      description: ''
      operationId: listDeployments
      parameters:
      - name: name
        in: query
        description: Only return deployments with the given name.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return deployments with a name like the given name.
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: Only return deployments with the given category.
        required: false
        schema:
          type: string
      - name: categoryNotEquals
        in: query
        description: Only return deployments which don’t have the given category.
        required: false
        schema:
          type: string
      - name: parentDeploymentId
        in: query
        description: Only return deployments with the given parent deployment id.
        required: false
        schema:
          type: string
      - name: parentDeploymentIdLike
        in: query
        description: Only return deployments with a parent deployment id like the given value.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return deployments with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return deployments with the given tenantId.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return deployments with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns deployments without a tenantId set. If false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: sort
        in: query
        description: Property to sort on, to be used together with the order.
        required: false
        schema:
          type: string
          enum:
          - id
          - name
          - deployTime
          - tenantId
      responses:
        '200':
          description: Indicates the request was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseDocumentDeploymentResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Deployment
      summary: Create a new deployment
      description: 'The request body should contain data of type multipart/form-data. There should be exactly one file in the request, any additional files will be ignored. The deployment name is the name of the file-field passed in. If multiple resources need to be deployed in a single deployment, compress the resources in a zip and make sure the file-name ends with .bar or .zip.


        An additional parameter (form-field) can be passed in the request body with name tenantId. The value of this field will be used as the id of the tenant this deployment is done in.'
      operationId: uploadDeployment
      parameters:
      - name: deploymentKey
        in: query
        required: false
        schema:
          type: string
      - name: deploymentName
        in: query
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        required: false
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/saveContentItemData'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentDeploymentResponse'
        '201':
          description: Indicates the deployment was created.
        '400':
          description: Indicates there was no content present in the request body or the content mime-type is not supported for deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /document-repository/deployments/{deploymentId}:
    get:
      tags:
      - Deployment
      summary: Get a deployment
      description: ''
      operationId: getDeployment
      parameters:
      - name: deploymentId
        in: path
        description: The id of the deployment to get.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the deployment was found and returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentDeploymentResponse'
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
    delete:
      tags:
      - Deployment
      summary: Delete a deployment
      description: ''
      operationId: deleteDeployment
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates the deployment was found and has been deleted. Response-body is intentionally empty.
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
  /document-repository/deployments/{deploymentId}/resourcedata/{resourceName}:
    get:
      tags:
      - Deployment
      summary: Get a deployment resource content
      description: The response body will contain the binary resource-content for the requested resource. The response content-type will be the same as the type returned in the resources mimeType property. Also, a content-disposition header is set, allowing browsers to download the file instead of displaying it.
      operationId: getDeploymentResourceData
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      - name: resourceName
        in: path
        description: 'The name of the resource to get. Make sure you URL-encode the resourceName in case it contains forward slashes. Eg: use test%2Fsimple.document instead of test/simple.document.'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both deployment and resource have been found and the resource data has been returned.
          content:
            '*/*':
              schema:
                type: array
                items:
                  type: string
                  format: byte
        '404':
          description: Indicates the requested deployment was not found or there is no resource with the given id present in the deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /document-repository/deployments/{deploymentId}/resources:
    get:
      tags:
      - Deployment
      summary: List resources in a deployment
      description: The dataUrl property in the resulting JSON for a single resource contains the actual URL to use for retrieving the binary resource.
      operationId: listDeploymentResources
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the deployment was found and the resource list has been returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeploymentResourceResponse_3'
        '404':
          description: Indicates the requested deployment was not found.
      security:
      - basicAuth: []
  /document-repository/deployments/{deploymentId}/resources/**:
    get:
      tags:
      - Deployment
      summary: Get a deployment resource
      description: Replace ** by ResourceId
      operationId: getDeploymentResource
      parameters:
      - name: deploymentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both deployment and resource have been found and the resource has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResourceResponse_3'
        '404':
          description: Indicates the requested deployment was not found or there is no resource with the given id present in the deployment. The status-description contains additional information.
      security:
      - basicAuth: []
  /dmn-repository/deployments:
    get:
      tags:
      - Deployment
      summary: List of decision deployments
      description: ''
      operationId: listDecisionDeployments
      parameters:
      - name: name
        in: query
        description: Only return decision deployments with the given name.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return decision deployments with a name like the given name.
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: Only return decision deployments with the given category.
        required: false
        schema:
          type: string
      - name: categoryNotEquals
        in: query
        description: Only return decision deployments which do not have the given category.
        required: false
        schema:
          type: string
      - name: parentDeploymentId
        in: query
        description: Only return decision deployments with the given parent deployment id.
        required: false
        schema:
          type: string
      - name: parentDeploymentIdLike
        in: query
        description: Only return decision deployments with a parent deployment id like the given value.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return decision deployments with the given tenantId.
        required: false
        schema:
          type: string
      - name: tenantIdLike
        in: query
        description: Only return decision deployments with a tenantId like the given value.
        required: false
        schema:
          type: string
      - name: withoutTenantId
        in: query
        description: If true, only returns decision deployments without a tenantId set. If false, the withoutTenantId parameter is ignored.
        required: false
        schema:
          type: boolean
      - name: sort
        in: query
        description: Property to sort on, to be used together with the order.
        required: false
        schema:
          type: string
          enum:
          - id
          - name
          - deployTime
          - tenantId
      - name: order
        in: query
        description: The sort order, either 'asc' or 'desc'. Defaults to 'asc'.
        required: false
        schema:
          type: string
      - name: start
        in: query
        description: Index of the first row to fetch. Defaults to 0.
        required: false
        schema:
          type: integer
      - name: size
        in: query
        description: Number of rows to fetch, starting from start. Defaults to 10.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Indicates the request was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseDmnDeploymentResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Deployment
      summary: Create a new decision deployment
      description: 'The request body should contain data of type multipart/form-data. There should be exactly one file in the request, any additional files will be ignored. The deployment name is the name of the file-field passed in. If multiple resources need to be deployed in a single deployment, compress the resources in a zip and make sure the file-name ends with .bar or .zip.


        An additional parameter (form-field) can be passed in the request body with name tenantId. The value of this field will be used as the id of the tenant this deployment is done in.'
      operationId: uploadDecisionDeployment
      parameters:
      - name: tenantId
        in: query
        required: false
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary

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