Losant Workflow Engine API

Workflow Engine resources on the Losant Platform.

Operations 11

GET /applications/{applicationId}/flows/{flowId}/versions/{flowVersionId} Get Information About Errors That Occurred During Runs of This Workflow Version
PATCH /applications/{applicationId}/flows/{flowId}/versions/{flowVersionId} Updates Information About a Flow Version
DELETE /applications/{applicationId}/flows/{flowId}/versions/{flowVersionId} Deletes a Flow Version
GET /applications/{applicationId}/flows/{flowId}/versions Returns the Flow Versions for a Flow
POST /applications/{applicationId}/flows/{flowId}/versions Delete Flow Versions
GET /applications/{applicationId}/flows/{flowId} Get Information About Errors That Occurred During Runs of This Workflow
PATCH /applications/{applicationId}/flows/{flowId} Sets a Storage Value
DELETE /applications/{applicationId}/flows/{flowId} Clear All Storage Entries
POST /applications/{applicationId}/flows/{flowId} Presses the Specified Virtual Button on the Flow
GET /applications/{applicationId}/flows Gets Additional Nodes That Should Be Available in the Palette
POST /applications/{applicationId}/flows Import a Set of Flows and Flow Versions

Documentation

Specifications

Schemas & Data

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/losant-workflow-engine-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

losant-workflow-engine-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Losant Workflow Engine API
  version: 1.29.4
  description: Create, version, deploy, debug, and execute Losant Visual Workflow Engine flows including Application, Experience, Edge, and Embedded workflows. Derived from the Losant Platform API (Bravado/Swagger 2) at https://api.losant.com/.
  contact:
    name: Losant Support
    url: https://www.losant.com/contact
    email: hello@losant.com
  license:
    name: Proprietary
    url: https://www.losant.com/legal
  x-source: https://api.losant.com/
  x-publisher: Losant IoT, Inc.
servers:
- url: https://api.losant.com
  description: Losant Platform API (US multi-tenant cloud)
security:
- BearerAuth: []
tags:
- name: Workflow Engine
  description: Workflow Engine resources on the Losant Platform.
paths:
  /applications/{applicationId}/flows/{flowId}/versions/{flowVersionId}:
    get:
      summary: Get Information About Errors That Occurred During Runs of This Workflow Version
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowVersionId
        in: path
        description: Version ID or version name associated with the flow version
        required: true
        example: 675ed18f7ae143cd83dc4bb7
        schema:
          type: string
          minLength: 1
          maxLength: 255
      - name: duration
        in: query
        description: Duration of time range in milliseconds
        required: false
        example: 86400000
        schema:
          type: string
          default: 86400000
      - name: end
        in: query
        description: End of time range in milliseconds since epoch
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: limit
        in: query
        description: Maximum number of errors to return
        required: false
        example: 25
        schema:
          type: string
          default: 25
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: desc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: deviceId
        in: query
        description: For edge workflows, the Device ID to return workflow errors for. When not included, will be errors for all device IDs.
        required: false
        example: 575ed18f7ae143cd83dc4bb6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: Workflow error information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowErrors'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow version was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About a Flow Version
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowVersionId
        in: path
        description: Version ID or version name associated with the flow version
        required: true
        example: 675ed18f7ae143cd83dc4bb7
        schema:
          type: string
          minLength: 1
          maxLength: 255
      - name: includeCustomNodes
        in: query
        description: If the result of the request should also include the details of any custom nodes referenced by the returned workflows
        required: false
        example: true
        schema:
          type: string
          default: false
      requestBody:
        description: Object containing new properties of the flow version
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/flowVersionPatch'
      responses:
        '200':
          description: Updated flow version information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowVersion'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow version was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes a Flow Version
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowVersionId
        in: path
        description: Version ID or version name associated with the flow version
        required: true
        example: 675ed18f7ae143cd83dc4bb7
        schema:
          type: string
          minLength: 1
          maxLength: 255
      responses:
        '200':
          description: If flow version was successfully deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow version was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/flows/{flowId}/versions:
    get:
      summary: Returns the Flow Versions for a Flow
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: sortField
        in: query
        description: Field to sort the results by
        required: false
        example: version
        schema:
          type: string
          enum:
          - version
          - id
          - creationDate
          - lastUpdated
          default: version
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: asc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: page
        in: query
        description: Which page of results to return
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: perPage
        in: query
        description: How many items to return per page
        required: false
        example: 10
        schema:
          type: string
          default: 100
      - name: filterField
        in: query
        description: Field to filter the results by. Blank or not provided means no filtering.
        required: false
        example: version
        schema:
          type: string
          enum:
          - version
      - name: filter
        in: query
        description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
        required: false
        example: my*version
        schema:
          type: string
      - name: includeCustomNodes
        in: query
        description: If the result of the request should also include the details of any custom nodes referenced by the returned workflows
        required: false
        example: true
        schema:
          type: string
          default: false
      - name: query
        in: query
        description: Workflow filter JSON object which overrides the filterField and filter parameters.
        required: false
        schema:
          type: object
      responses:
        '200':
          description: Collection of flow versions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowVersions'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Delete Flow Versions
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      requestBody:
        description: Object containing flow version deletion options
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/flowVersionsDeletePost'
      responses:
        '200':
          description: Object indicating number of flow versions deleted or failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkDeleteResponse'
        '202':
          description: If a job was enqueued for the flow versions to be deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobEnqueuedResult'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/flows/{flowId}:
    get:
      summary: Get Information About Errors That Occurred During Runs of This Workflow
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: duration
        in: query
        description: Duration of time range in milliseconds
        required: false
        example: 86400000
        schema:
          type: string
          default: 86400000
      - name: end
        in: query
        description: End of time range in milliseconds since epoch
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: limit
        in: query
        description: Maximum number of errors to return
        required: false
        example: 25
        schema:
          type: string
          default: 25
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: desc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: flowVersion
        in: query
        description: Flow version name or ID. When not included, will be errors for all versions. Pass develop for just the develop version.
        required: false
        example: develop
        schema:
          type: string
      - name: deviceId
        in: query
        description: For edge or embedded workflows, the Device ID for which to return workflow errors. When not included, will be errors for all device IDs.
        required: false
        example: 575ed18f7ae143cd83dc4bb6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: Workflow error information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowErrors'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Sets a Storage Value
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      requestBody:
        description: Object containing storage entry
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/flowStorageEntry'
      responses:
        '200':
          description: Value was successfully stored
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Clear All Storage Entries
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: The current storage entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowStorageEntries'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Presses the Specified Virtual Button on the Flow
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: flowId
        in: path
        description: ID associated with the flow
        required: true
        example: 575ed18f7ae143cd83dc4aa6
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      requestBody:
        description: Object containing button key and payload
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/virtualButtonPress'
      responses:
        '200':
          description: Virtual button was pressed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if flow was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/flows:
    get:
      summary: Gets Additional Nodes That Should Be Available in the Palette
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: The additional nodes available in the palette
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paletteResponse'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Import a Set of Flows and Flow Versions
      tags:
      - Workflow Engine
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      requestBody:
        description: New flow and flow version information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/flowsImportPost'
      responses:
        '201':
          description: Successfully imported workflows
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowsImportResult'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
components:
  schemas:
    flow:
      title: Workflow
      description: Schema for a single Workflow
      type: object
      properties:
        id:
          $ref: '#/components/schemas/common/objectId'
        flowId:
          $ref: '#/components/schemas/common/objectId'
        applicationId:
          $ref: '#/components/schemas/common/objectId'
        creationDate:
          $ref: '#/components/schemas/common/date'
        lastUpdated:
          $ref: '#/components/schemas/common/date'
        createdById:
          $ref: '#/components/schemas/common/objectId'
        createdByType:
          $ref: '#/components/schemas/common/expSourceType'
        lastUpdatedById:
          $ref: '#/components/schemas/common/objectId'
        lastUpdatedByType:
          $ref: '#/components/schemas/common/expSourceType'
        name:
          $ref: '#/components/schemas/common/name'
        description:
          $ref: '#/components/schemas/common/description'
        shortDescription:
          $ref: '#/components/schemas/common/shortString'
        iconData:
          $ref: '#/components/schemas/common/imageDataUri'
        docsUrl:
          $ref: '#/components/schemas/common/shortString'
        category:
          type: string
          enum:
          - data
          - experience
          - logic
          - output
          - debug
        enabled:
          type: boolean
        defaultVersionId:
          $ref: '#/components/schemas/common/objectId'
        minimumAgentVersion:
          $ref: '#/components/schemas/common/version'
        flowClass:
          type: string
          enum:
          - cloud
          - edge
          - embedded
          - experience
          - customNode
        triggers:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/common/triggers/appFile'
            - $ref: '#/components/schemas/common/triggers/basic'
            - $ref: '#/components/schemas/common/triggers/beckhoff'
            - $ref: '#/components/schemas/common/triggers/dataTable'
            - $ref: '#/components/schemas/common/triggers/integration'
            - $ref: '#/components/schemas/common/triggers/deviceIdsTags'
            - $ref: '#/components/schemas/common/triggers/deviceIdsTagsInactivity'
            - $ref: '#/components/schemas/common/triggers/direct'
            - $ref: '#/components/schemas/common/triggers/endpoint'
            - $ref: '#/components/schemas/common/triggers/event'
            - $ref: '#/components/schemas/common/triggers/fileTail'
            - $ref: '#/components/schemas/common/triggers/fileWatch'
            - $ref: '#/components/schemas/common/triggers/flowError'
            - $ref: '#/components/schemas/common/triggers/mqttTopic'
            - $ref: '#/components/schemas/common/triggers/onSync'
            - $ref: '#/components/schemas/common/triggers/opcua'
            - $ref: '#/components/schemas/common/triggers/redis'
            - $ref: '#/components/schemas/common/triggers/request'
            - $ref: '#/components/schemas/common/triggers/serial'
            - $ref: '#/components/schemas/common/triggers/snmpTrap'
            - $ref: '#/components/schemas/common/triggers/timer'
            - $ref: '#/components/schemas/common/triggers/virtualButton'
        nodes:
          type: array
          items:
            type: object
            properties:
              id:
                $ref: '#/components/schemas/common/optMedStr'
              type:
                $ref: '#/components/schemas/common/reqMedStr'
              config:
                type: object
              meta:
                type: object
              outputIds:
                $ref: '#/components/schemas/common/outputIds'
            additionalProperties: false
            required:
            - type
        customNodeConfig:
          type: object
          properties:
            outputCount:
              type: number
              enum:
              - 1
              - 2
            resultMode:
              type: string
              enum:
              - optional
              - required
              - none
            resultDescription:
              $ref: '#/components/schemas/common/description'
            fields:
              type: array
              maxItems: 100
              items:
                $ref: '#/components/schemas/common/customNodeFieldConfig'
          additionalProperties: false
          required:
          - outputCount
          - resultMode
          - fields
        customNodeSupports:
          type: array
          maxItems: 1
          items:
            type: string
            enum:
            - cloud
            - edge
        customNodeUseCount:
          type: number
        globals:
          $ref: '#/components/schemas/common/globals'
        deletedInDevelop:
          type: boolean
        stats:
          type: object
          properties:
            runCount:
              type: number
            errorCount:
              type: number
            byVersion:
              type: object
              patternProperties:
                .*:
                  type: object
                  properties:
                    runCount:
                      type: number
                    errorCount:
                      type: number
    flowErrors:
      title: Workflow Errors
      description: Workflow run error information
      type: object
      properties:
        flowVersion:
          $ref: '#/components/schemas/common/name'
        flowVersionId:
          $ref: '#/components/schemas/common/objectId'
        deviceId:
          $ref: '#/components/schemas/common/objectId'
        start:
          $ref: '#/components/schemas/common/date'
        end:
          $ref: '#/components/schemas/common/date'
        limit:
          type: number
        sortDirection:
          $ref: '#/components/schemas/common/sortDirection'
        errors:
          type: array
          items:
            type: object
            properties:
              time:
                $ref: '#/components/schemas/common/date'
              deviceId:
                $ref: '#/components/schemas/common/objectId'
              deviceName:
                $ref: '#/components/schemas/common/name'
              flowVersion:
                $ref: '#/components/schemas/common/name'
              flowVersionId:
                $ref: '#/components/schemas/common/objectId'
              nodeId:
                type: string
              nodeLabel:
                type: string
              error:
                type: object
                properties:
                  name:
                    type: string
                  message:
                    type: string
    flowPost:
      title: Workflow Post
      description: Schema for the body of a Workflow creation request
      type: object
      properties:
        name:
          $ref: '#/components/schemas/common/name'
        description:
          $ref: '#/components/schemas/common/description'
        shortDescription:
          $ref: '#/components/schemas/common/shortString'
        iconData:
          oneOf:
          - $ref: '#/components/schemas/common/imageDataUri'
          - type: 'null'
        docsUrl:
          $ref: '#/components/schemas/common/shortString'
        category:
          type: string
          enum:
          - data
          - experience
          - logic
          - output
          - debug
          - ''
        enabled:
          type: boolean
        triggers:
          $ref: '#/components/schemas/flow/properties/triggers'
        nodes:
          $ref: '#/components/schemas/flow/properties/nodes'
        globals:
          $ref: '#/components/schemas/common/globals'
        flowClass:
          $ref: '#/components/schemas/flow/properties/flowClass'
        minimumAgentVersion:
          $ref: '#/components/schemas/common/version'
        customNodeConfig:
          $ref: '#/components/schemas/flow/properties/customNodeConfig'
        customNodeSupports:
          $ref: '#/components/schemas/flow/properties/customNodeSupports'
      additionalProperties: false
      required:
      - name
    flowVersion:
      title: Workflow Version
      description: Schema for a single Workflow Version
      oneOf:
      - description: Schema for a single Cloud/Edge/Embedded/Custom Node Workflow Version
        type: object
        properties:
          id:
            $ref: '#/components/schemas/common/objectId'
          flowVersionId:
            $ref: '#/components/schemas/common/objectId'
          flowId:
            $ref: '#/components/schemas/common/objectId'
          applicationId:
            $ref: '#/components/schemas/common/objectId'
          creationDate:
            $ref: '#/components/schemas/common/date'
          lastUpdated:
            $ref: '#/components/schemas/common/date'
          createdById:
            $ref: '#/components/schemas/common/objectId'
          createdByType:
            $ref: '#/components/schemas/common/expSourceType'
          lastUpdatedById:
            $ref: '#/components/schemas/common/objectId'
          lastUpdatedByType:
            $ref: '#/components/schemas/common/expSourceType'
          version:
            $ref: '#/components/schemas/common/name'
          flowClass:
            type: string
            enum:
            - cloud
            - edge
            - embedded
            - customNode
          notes:
            $ref: '#/components/schemas/common/description'
          enabled:
            type: boolean
          triggers:
            $ref: '#/components/schemas/flow/properties/triggers'
          nodes:
            $ref: '#/components/schemas/flow/properties/nodes'
          globals:
            $ref: '#/components/schemas/common/globals'
          minimumAgentVersion:
            $ref: '#/components/schemas/common/version'
          customNodeConfig:
            $ref: '#/components/schemas/flow/properties/customNodeConfig'
          stats:
            type: object
            properties:
              runCount:
                type: number
              errorCount:
                type: number
              byVersion:
                type: object
                patternProperties:
                  .*:
                    type: object
                    properties:
                      runCount:
                        type: number
                      errorCount:
                        type: number
      - description: Schema for a single Experience Workflow Version
        type: object
        properties:
          id:
            $ref: '#/components/schemas/common/objectId'
          flowVersionId:
            $ref: '#/components/schemas/common/objectId'
          flowId:
            $ref: '#/components/schemas/common/objectId'
          applicationId:
            $ref: '#/components/schemas/common/objectId'
          creationDate:
            $ref: '#/components/schemas/common/date'
          lastUpdated:
            $ref: '#/components/schemas/common/date'
          name:
            $ref: '#/components/schemas/common/name'
          description:
            $ref: '#/components/schemas/common/description'
          flowClass:
            type: string
            enum:
            - experience
          versions:
            type: array
            items:
              $ref: '#/components/schemas/common/name'
          enabled:
            type: boolean
          trigg

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/losant/refs/heads/main/openapi/losant-workflow-engine-api-openapi.yml