Conductor Workflow API

APIs for managing workflow executions

OpenAPI Specification

conductor-workflow-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Conductor Admin Workflow API
  description: Conductor is a workflow orchestration platform originally created by Netflix. It allows you to build complex applications using simple and granular tasks that do not need to be aware of or keep track of the state of your application's execution flow. Conductor keeps track of the state, calls tasks in the right order (sequentially or in parallel, as defined by you), retries calls if needed, handles failure scenarios gracefully, and outputs the final result. This API provides endpoints for managing workflow definitions, task definitions, workflow executions, task executions, and event handlers.
  version: 3.x
  contact:
    name: Conductor OSS
    url: https://conductor-oss.github.io/conductor/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://localhost:8080/api
  description: Local Conductor Server
- url: https://play.orkes.io/api
  description: Orkes Conductor Playground
tags:
- name: Workflow
  description: APIs for managing workflow executions
paths:
  /workflow:
    post:
      operationId: startWorkflow
      summary: Conductor Start a New Workflow
      description: Starts a new workflow execution based on a registered workflow definition.
      tags:
      - Workflow
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartWorkflowRequest'
      responses:
        '200':
          description: Workflow started successfully
          content:
            application/json:
              schema:
                type: string
                description: The workflow instance ID
        '404':
          description: Workflow definition not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}:
    get:
      operationId: getWorkflowExecution
      summary: Conductor Get Workflow Execution Status
      description: Retrieves the current status and details of a running or completed workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      - name: includeTasks
        in: query
        required: false
        description: Whether to include task details in the response
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteWorkflowExecution
      summary: Conductor Delete a Workflow Execution
      description: Removes a workflow execution and its associated data.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      - name: archiveWorkflow
        in: query
        required: false
        description: Whether to archive the workflow before deletion
        schema:
          type: boolean
          default: true
      responses:
        '204':
          description: Workflow execution deleted successfully
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}/pause:
    put:
      operationId: pauseWorkflow
      summary: Conductor Pause a Running Workflow
      description: Pauses a currently running workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      responses:
        '200':
          description: Workflow paused successfully
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}/resume:
    put:
      operationId: resumeWorkflow
      summary: Conductor Resume a Paused Workflow
      description: Resumes a previously paused workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      responses:
        '200':
          description: Workflow resumed successfully
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}/restart:
    post:
      operationId: restartWorkflow
      summary: Conductor Restart a Completed Workflow
      description: Restarts a completed workflow from the beginning with the same input. If useLatestDefinitions is set, the workflow uses the latest definition.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      - name: useLatestDefinitions
        in: query
        required: false
        description: Whether to use the latest workflow and task definitions
        schema:
          type: boolean
          default: false
      responses:
        '204':
          description: Workflow restarted successfully
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}/retry:
    post:
      operationId: retryWorkflow
      summary: Conductor Retry a Failed Workflow
      description: Retries the last failed task in a workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      - name: resumeSubworkflowTasks
        in: query
        required: false
        description: Whether to resume subworkflow tasks
        schema:
          type: boolean
          default: false
      responses:
        '204':
          description: Workflow retry initiated successfully
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}/terminate:
    delete:
      operationId: terminateWorkflow
      summary: Conductor Terminate a Running Workflow
      description: Terminates a running workflow execution with an optional reason.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      - name: reason
        in: query
        required: false
        description: Reason for termination
        schema:
          type: string
      responses:
        '200':
          description: Workflow terminated successfully
        '404':
          description: Workflow execution not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/{workflowId}/skiptask/{taskReferenceName}:
    put:
      operationId: skipTaskFromWorkflow
      summary: Conductor Skip a Task in a Running Workflow
      description: Skips a given task from a running workflow and moves to the next task. The skipped task will be marked as completed with the provided output.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        description: The workflow instance ID
        schema:
          type: string
      - name: taskReferenceName
        in: path
        required: true
        description: The reference name of the task to skip
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SkipTaskRequest'
      responses:
        '200':
          description: Task skipped successfully
        '404':
          description: Workflow or task not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/search:
    get:
      operationId: searchWorkflows
      summary: Conductor Search for Workflow Executions
      description: Searches for workflow executions using Conductor's query language. Uses Elasticsearch for indexing workflow execution data.
      tags:
      - Workflow
      parameters:
      - name: start
        in: query
        required: false
        description: Start index for pagination
        schema:
          type: integer
          default: 0
      - name: size
        in: query
        required: false
        description: Number of results to return
        schema:
          type: integer
          default: 100
      - name: sort
        in: query
        required: false
        description: Sort field and order (e.g., createTime:DESC)
        schema:
          type: string
      - name: freeText
        in: query
        required: false
        description: Free text search across workflow data
        schema:
          type: string
          default: '*'
      - name: query
        in: query
        required: false
        description: Query expression for filtering results
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResultWorkflowSummary'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflow/running/{name}:
    get:
      operationId: getRunningWorkflows
      summary: Conductor Get Running Workflow Instances
      description: Retrieves a list of running workflow instance IDs for a given workflow name and optionally filtered by version.
      tags:
      - Workflow
      parameters:
      - name: name
        in: path
        required: true
        description: The workflow name
        schema:
          type: string
      - name: version
        in: query
        required: false
        description: The workflow version
        schema:
          type: integer
      - name: startTime
        in: query
        required: false
        description: Start time filter (epoch milliseconds)
        schema:
          type: integer
          format: int64
      - name: endTime
        in: query
        required: false
        description: End time filter (epoch milliseconds)
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    WorkflowSummary:
      type: object
      properties:
        workflowId:
          type: string
          example: '500123'
        workflowType:
          type: string
          example: example_value
        version:
          type: integer
          example: 10
        correlationId:
          type: string
          example: '500123'
        startTime:
          type: string
          example: example_value
        updateTime:
          type: string
          example: example_value
        endTime:
          type: string
          example: example_value
        status:
          type: string
          enum:
          - RUNNING
          - COMPLETED
          - FAILED
          - TIMED_OUT
          - TERMINATED
          - PAUSED
          example: RUNNING
        input:
          type: string
          example: example_value
        output:
          type: string
          example: example_value
        reasonForIncompletion:
          type: string
          example: example_value
        executionTime:
          type: integer
          format: int64
          example: 10
        event:
          type: string
          example: example_value
        failedReferenceTaskNames:
          type: string
          example: example_value
        priority:
          type: integer
          example: 10
    Workflow:
      type: object
      properties:
        workflowId:
          type: string
          description: Unique workflow instance ID
          example: '500123'
        workflowName:
          type: string
          description: Name of the workflow definition
          example: example_value
        workflowVersion:
          type: integer
          description: Version of the workflow definition
          example: 10
        correlationId:
          type: string
          description: Correlation ID
          example: '500123'
        status:
          type: string
          description: Current status of the workflow
          enum:
          - RUNNING
          - COMPLETED
          - FAILED
          - TIMED_OUT
          - TERMINATED
          - PAUSED
          example: RUNNING
        startTime:
          type: integer
          format: int64
          description: Start time in epoch milliseconds
          example: 10
        endTime:
          type: integer
          format: int64
          description: End time in epoch milliseconds
          example: 10
        updateTime:
          type: integer
          format: int64
          description: Last update time
          example: 10
        input:
          type: object
          description: Workflow input
          additionalProperties: true
          example: example_value
        output:
          type: object
          description: Workflow output
          additionalProperties: true
          example: example_value
        tasks:
          type: array
          description: List of tasks in the workflow execution
          items:
            $ref: '#/components/schemas/Task'
          example: []
        reasonForIncompletion:
          type: string
          description: Reason for failure or termination
          example: example_value
        failedReferenceTaskNames:
          type: array
          description: List of failed task reference names
          items:
            type: string
          example: []
        workflowDefinition:
          $ref: '#/components/schemas/WorkflowDef'
        priority:
          type: integer
          description: Workflow priority
          example: 10
        variables:
          type: object
          description: Workflow variables
          additionalProperties: true
          example: example_value
        lastRetriedTime:
          type: integer
          format: int64
          description: Last retry timestamp
          example: 10
        ownerApp:
          type: string
          description: Owner application
          example: example_value
        createTime:
          type: integer
          format: int64
          description: Creation timestamp
          example: 10
        createdBy:
          type: string
          description: Created by
          example: example_value
        parentWorkflowId:
          type: string
          description: Parent workflow ID if this is a sub-workflow
          example: '500123'
    Task:
      type: object
      properties:
        taskId:
          type: string
          description: Unique task instance ID
          example: '500123'
        taskType:
          type: string
          description: The type of the task
          example: example_value
        status:
          type: string
          description: Current status of the task
          enum:
          - IN_PROGRESS
          - CANCELED
          - FAILED
          - FAILED_WITH_TERMINAL_ERROR
          - COMPLETED
          - COMPLETED_WITH_ERRORS
          - SCHEDULED
          - TIMED_OUT
          - SKIPPED
          example: IN_PROGRESS
        referenceTaskName:
          type: string
          description: Reference name of the task in the workflow
          example: example_value
        workflowInstanceId:
          type: string
          description: ID of the workflow instance this task belongs to
          example: '500123'
        workflowType:
          type: string
          description: Type/name of the workflow
          example: example_value
        correlationId:
          type: string
          description: Correlation ID
          example: '500123'
        scheduledTime:
          type: integer
          format: int64
          description: Scheduled time
          example: 10
        startTime:
          type: integer
          format: int64
          description: Start time
          example: 10
        endTime:
          type: integer
          format: int64
          description: End time
          example: 10
        updateTime:
          type: integer
          format: int64
          description: Last update time
          example: 10
        retryCount:
          type: integer
          description: Current retry count
          example: 10
        pollCount:
          type: integer
          description: Number of times this task was polled
          example: 10
        callbackAfterSeconds:
          type: integer
          format: int64
          description: Callback delay in seconds
          example: 10
        workerId:
          type: string
          description: ID of the worker that polled this task
          example: '500123'
        inputData:
          type: object
          description: Task input data
          additionalProperties: true
          example: example_value
        outputData:
          type: object
          description: Task output data
          additionalProperties: true
          example: example_value
        reasonForIncompletion:
          type: string
          description: Reason for failure
          example: example_value
        logs:
          type: array
          description: Task execution logs
          items:
            $ref: '#/components/schemas/TaskExecLog'
          example: []
        domain:
          type: string
          description: Task domain
          example: example_value
        seq:
          type: integer
          description: Sequence number
          example: 10
        taskDefName:
          type: string
          description: Task definition name
          example: example_value
        responseTimeoutSeconds:
          type: integer
          format: int64
          description: Response timeout
          example: 10
        queueWaitTime:
          type: integer
          format: int64
          description: Time spent waiting in queue
          example: 10
    StartWorkflowRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the workflow to start
          example: Example Title
        version:
          type: integer
          description: Version of the workflow
          example: 10
        correlationId:
          type: string
          description: Correlation ID for the workflow instance
          example: '500123'
        priority:
          type: integer
          description: Priority of the workflow (0-99)
          default: 0
          example: 10
        input:
          type: object
          description: Input parameters for the workflow
          additionalProperties: true
          example: example_value
        taskToDomain:
          type: object
          description: Task to domain mapping for routing
          additionalProperties:
            type: string
          example: example_value
        workflowDef:
          $ref: '#/components/schemas/WorkflowDef'
        externalInputPayloadStoragePath:
          type: string
          description: Path to externally stored input payload
          example: example_value
    SearchResultWorkflowSummary:
      type: object
      properties:
        totalHits:
          type: integer
          format: int64
          description: Total number of matching results
          example: 10
        results:
          type: array
          description: List of workflow summaries
          items:
            $ref: '#/components/schemas/WorkflowSummary'
          example: []
    TaskExecLog:
      type: object
      properties:
        log:
          type: string
          description: Log message
          example: example_value
        taskId:
          type: string
          description: Associated task ID
          example: '500123'
        createdTime:
          type: integer
          format: int64
          description: Timestamp of the log entry
          example: 10
    SkipTaskRequest:
      type: object
      properties:
        taskInput:
          type: object
          description: Input for the skipped task
          additionalProperties: true
          example: example_value
        taskOutput:
          type: object
          description: Output to set for the skipped task
          additionalProperties: true
          example: example_value
    WorkflowTask:
      type: object
      required:
      - name
      - taskReferenceName
      - type
      properties:
        name:
          type: string
          description: Name of the task
          example: Example Title
        taskReferenceName:
          type: string
          description: Unique reference name for the task within the workflow
          example: example_value
        type:
          type: string
          description: The type of task
          enum:
          - SIMPLE
          - DYNAMIC
          - FORK_JOIN
          - FORK_JOIN_DYNAMIC
          - DECISION
          - SWITCH
          - JOIN
          - DO_WHILE
          - SUB_WORKFLOW
          - START_WORKFLOW
          - EVENT
          - WAIT
          - HUMAN
          - HTTP
          - INLINE
          - JSON_JQ_TRANSFORM
          - LAMBDA
          - SET_VARIABLE
          - TERMINATE
          - KAFKA_PUBLISH
          example: SIMPLE
        description:
          type: string
          description: Task description
          example: A sample description.
        inputParameters:
          type: object
          description: Input parameter mappings
          additionalProperties: true
          example: example_value
        optional:
          type: boolean
          description: Whether this task is optional
          default: false
          example: true
        startDelay:
          type: integer
          description: Delay in seconds before starting the task
          default: 0
          example: 10
        asyncComplete:
          type: boolean
          description: Whether the task is completed asynchronously
          default: false
          example: true
        retryCount:
          type: integer
          description: Number of retries
          example: 10
        sink:
          type: string
          description: Sink for EVENT tasks
          example: example_value
        subWorkflowParam:
          type: object
          description: Sub workflow parameters
          properties:
            name:
              type: string
            version:
              type: integer
          example: example_value
        joinOn:
          type: array
          description: List of task reference names to join on
          items:
            type: string
          example: []
        forkTasks:
          type: array
          description: List of forked task lists
          items:
            type: array
            items:
              $ref: '#/components/schemas/WorkflowTask'
          example: []
        decisionCases:
          type: object
          description: Decision cases for SWITCH/DECISION tasks
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/WorkflowTask'
          example: example_value
        defaultCase:
          type: array
          description: Default case tasks for SWITCH/DECISION
          items:
            $ref: '#/components/schemas/WorkflowTask'
          example: []
        loopCondition:
          type: string
          description: Loop condition for DO_WHILE tasks
          example: example_value
        loopOver:
          type: array
          description: Tasks to loop over in DO_WHILE
          items:
            $ref: '#/components/schemas/WorkflowTask'
          example: []
    WorkflowDef:
      type: object
      required:
      - name
      - tasks
      properties:
        name:
          type: string
          description: The name of the workflow definition
          example: Example Title
        description:
          type: string
          description: Description of the workflow
          example: A sample description.
        version:
          type: integer
          description: The version of the workflow definition
          default: 1
          example: 10
        tasks:
          type: array
          description: The list of tasks in the workflow
          items:
            $ref: '#/components/schemas/WorkflowTask'
          example: []
        inputParameters:
          type: array
          description: List of input parameter names for the workflow
          items:
            type: string
          example: []
        outputParameters:
          type: object
          description: Mapping of output parameters
          additionalProperties: true
          example: example_value
        failureWorkflow:
          type: string
          description: Name of the workflow to execute when this workflow fails
          example: example_value
        schemaVersion:
          type: integer
          description: Schema version (currently 2)
          default: 2
          example: 10
        restartable:
          type: boolean
          description: Whether the workflow is restartable
          default: true
          example: true
        workflowStatusListenerEnabled:
          type: boolean
          description: Whether to enable workflow status listener
          default: false
          example: true
        ownerEmail:
          type: string
          description: Email of the workflow definition owner
          example: user@example.com
        timeoutPolicy:
          type: string
          description: Timeout policy for the workflow
          enum:
          - TIME_OUT_WF
          - ALERT_ONLY
          example: TIME_OUT_WF
        timeoutSeconds:
          type: integer
          format: int64
          description: Timeout in seconds for the workflow
          default: 0
          example: 10
        variables:
          type: object
          description: Workflow level variables
          additionalProperties: true
          example: example_value
        inputTemplate:
          type: object
          description: Default input template
          additionalProperties: true
          example: example_value
externalDocs:
  description: Conductor API Documentation
  url: https://conductor-oss.github.io/conductor/documentation/api/index.html