Flowable Decisions API

The Decisions API from Flowable — 5 operation(s) for decisions.

OpenAPI Specification

flowable-decisions-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 Decisions 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: Decisions
paths:
  /dmn-repository/decisions:
    get:
      tags:
      - Decisions
      summary: List of decision
      description: ''
      operationId: listDecisions
      parameters:
      - name: category
        in: query
        description: Only return decision with the given category.
        required: false
        schema:
          type: string
      - name: categoryLike
        in: query
        description: Only return decision with a category like the given name.
        required: false
        schema:
          type: string
      - name: categoryNotEquals
        in: query
        description: Only return decision which do not have the given category.
        required: false
        schema:
          type: string
      - name: key
        in: query
        description: Only return decision with the given key.
        required: false
        schema:
          type: string
      - name: keyLike
        in: query
        description: Only return decision with a name like the given key.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Only return decision with the given name.
        required: false
        schema:
          type: string
      - name: nameLike
        in: query
        description: Only return decision with a name like the given name.
        required: false
        schema:
          type: string
      - name: resourceName
        in: query
        description: Only return decision with the given resource name.
        required: false
        schema:
          type: string
      - name: resourceNameLike
        in: query
        description: Only return decision with a name like the given resource name.
        required: false
        schema:
          type: string
      - name: version
        in: query
        description: Only return decision with the given version.
        required: false
        schema:
          type: integer
      - name: latest
        in: query
        description: Only return the latest decision versions. Can only be used together with key and keyLike parameters, using any other parameter will result in a 400-response.
        required: false
        schema:
          type: boolean
      - name: deploymentId
        in: query
        description: Only return decisions which are part of a deployment with the given deployment id.
        required: false
        schema:
          type: string
      - name: parentDeploymentId
        in: query
        description: Only return decisions which are part of a deployment with the given parent deployment id.
        required: false
        schema:
          type: string
      - name: tenantId
        in: query
        description: Only return decision with the given tenant ID.
        required: false
        schema:
          type: string
      - name: decisionType
        in: query
        description: Only return decision with the given type.
        required: false
        schema:
          type: string
      - name: decisionTypeLike
        in: query
        description: Only return decision like the given type.
        required: false
        schema:
          type: string
      - name: sort
        in: query
        description: Property to sort on, to be used together with the order.
        required: false
        schema:
          type: string
          enum:
          - name
          - id
          - key
          - category
          - deploymentId
          - version
          - decisionType
      - 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 request was successful and the process-definitions are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseDecisionResponse'
        '400':
          description: Indicates a parameter was passed in the wrong format or that latest is used with other parameters other than key and keyLike. The status-message contains additional information.
      security:
      - basicAuth: []
  /dmn-repository/decisions/{decisionId}:
    get:
      tags:
      - Decisions
      summary: Get a decision
      description: ''
      operationId: getDecision
      parameters:
      - name: decisionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates request was successful and the decision is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DecisionResponse'
        '404':
          description: Indicates the requested decision was not found.
      security:
      - basicAuth: []
  /dmn-repository/decisions/{decisionId}/image:
    get:
      tags:
      - Decisions
      summary: Get a decision requirements diagram image
      description: ''
      operationId: getImageResource
      parameters:
      - name: decisionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates request was successful and the decision requirements diagram image returned
          content:
            image/png:
              schema:
                type: array
                items:
                  type: string
                  format: byte
        '404':
          description: Indicates the requested decision requirements diagram image was not found.
      security:
      - basicAuth: []
  /dmn-repository/decisions/{decisionId}/model:
    get:
      tags:
      - Decisions
      summary: Get a decision DMN (definition) model
      description: ''
      operationId: getDecisionModel
      parameters:
      - name: decisionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the decision was found and the model is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DmnDefinition'
        '404':
          description: Indicates the requested decision was not found.
      security:
      - basicAuth: []
  /dmn-repository/decisions/{decisionId}/resourcedata:
    get:
      tags:
      - Decisions
      summary: Get a decision resource content
      description: ''
      operationId: getDecisionResource
      parameters:
      - name: decisionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates both decision and resource have been found and the resource data has been returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  format: byte
        '404':
          description: Indicates the requested decision was not found or there is no resource with the given id present in the decision . The status-description contains additional information.
      security:
      - basicAuth: []
components:
  schemas:
    InformationItem:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        typeRef:
          type: string
    AuthorityRequirement:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        requiredDecision:
          $ref: '#/components/schemas/DmnElementReference'
        requiredInput:
          $ref: '#/components/schemas/DmnElementReference'
        requiredAuthority:
          $ref: '#/components/schemas/DmnElementReference'
    DmnExtensionAttribute:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        namespacePrefix:
          type: string
        namespace:
          type: string
    DataResponseDecisionResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/DecisionResponse'
        total:
          type: integer
          format: int64
        start:
          type: integer
          format: int32
        sort:
          type: string
        order:
          type: string
        size:
          type: integer
          format: int32
    UnaryTests:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        text:
          type: string
        textValues:
          type: array
          items:
            type: object
        expressionLanguage:
          type: string
    DmnElement:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
    DmnDefinition:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        expressionLanguage:
          type: string
        typeLanguage:
          type: string
        namespace:
          type: string
        exporter:
          type: string
        exporterVersion:
          type: string
        inputData:
          type: array
          items:
            $ref: '#/components/schemas/InputData'
        itemDefinitions:
          type: array
          items:
            $ref: '#/components/schemas/ItemDefinition'
        decisions:
          type: array
          items:
            $ref: '#/components/schemas/Decision'
        decisionServices:
          type: array
          items:
            $ref: '#/components/schemas/DecisionService'
        locationMap:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GraphicInfo'
        locationByDiagramIdMap:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/GraphicInfo'
        labelLocationByDiagramIdMap:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/GraphicInfo'
        flowLocationMap:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/GraphicInfo'
        flowLocationByDiagramIdMap:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: array
              items:
                $ref: '#/components/schemas/GraphicInfo'
        decisionServiceDividerLocationMap:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/GraphicInfo'
        decisionServiceDividerLocationByDiagramIdMap:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: array
              items:
                $ref: '#/components/schemas/GraphicInfo'
        namespaces:
          type: object
          additionalProperties:
            type: string
        diDiagramMap:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DmnDiDiagram'
    DmnExtensionElement:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        namespacePrefix:
          type: string
        namespace:
          type: string
        elementText:
          type: string
        childElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
    Decision:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        question:
          type: string
        allowedAnswers:
          type: string
        variable:
          $ref: '#/components/schemas/InformationItem'
        requiredDecisions:
          type: array
          items:
            $ref: '#/components/schemas/InformationRequirement'
        requiredInputs:
          type: array
          items:
            $ref: '#/components/schemas/InformationRequirement'
        authorityRequirements:
          type: array
          items:
            $ref: '#/components/schemas/AuthorityRequirement'
        expression:
          $ref: '#/components/schemas/Expression'
        forceDMN11:
          type: boolean
    DmnDiDiagram:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        graphicInfo:
          $ref: '#/components/schemas/GraphicInfo'
    Expression:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        typeRef:
          type: string
    DecisionService:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        outputDecisions:
          type: array
          items:
            $ref: '#/components/schemas/DmnElementReference'
        encapsulatedDecisions:
          type: array
          items:
            $ref: '#/components/schemas/DmnElementReference'
        inputDecisions:
          type: array
          items:
            $ref: '#/components/schemas/DmnElementReference'
        inputData:
          type: array
          items:
            $ref: '#/components/schemas/DmnElementReference'
    ItemDefinition:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        typeRef:
          type: string
        allowedValues:
          $ref: '#/components/schemas/UnaryTests'
        itemComponents:
          type: array
          items:
            $ref: '#/components/schemas/ItemDefinition'
        typeLanguage:
          type: string
        collection:
          type: boolean
    InputData:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        variable:
          $ref: '#/components/schemas/InformationItem'
    GraphicInfo:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        x:
          type: number
          format: double
        y:
          type: number
          format: double
        height:
          type: number
          format: double
        width:
          type: number
          format: double
        element:
          $ref: '#/components/schemas/DmnElement'
        expanded:
          type: boolean
        xmlRowNumber:
          type: integer
          format: int32
        xmlColumnNumber:
          type: integer
          format: int32
    DmnElementReference:
      type: object
      properties:
        href:
          type: string
        parsedId:
          type: string
    InformationRequirement:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        description:
          type: string
        extensionElements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionElement'
        attributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DmnExtensionAttribute'
        name:
          type: string
        requiredDecision:
          $ref: '#/components/schemas/DmnElementReference'
        requiredInput:
          $ref: '#/components/schemas/DmnElementReference'
    DecisionResponse:
      type: object
      properties:
        id:
          type: string
          example: 46b0379c-c0a1-11e6-bc93-6ab56fad108a
        url:
          type: string
          example: http://localhost:8080/flowable-rest/dmn-api/dmn-repository/decisions/46b0379c-c0a1-11e6-bc93-6ab56fad108a
        category:
          type: string
          example: dmnTest
        name:
          type: string
          example: Decision Table One
        key:
          type: string
          example: DecisionTableOne
        description:
          type: string
          example: This is a simple description
        version:
          type: integer
          format: int32
          example: 3
        resourceName:
          type: string
          example: dmn-DecisionTableOne.dmn
        deploymentId:
          type: string
          example: 46aa6b3a-c0a1-11e6-bc93-6ab56fad108a
        tenantId:
          type: string
          example: 'null'
        decisionType:
          type: string
          example: decision_table
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic