Conductor OSS Workflow API

The Workflow API from Conductor OSS — 9 operation(s) for workflow.

OpenAPI Specification

conductor-oss-workflow-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Conductor OSS REST Events Workflow API
  description: The Conductor OSS REST API exposes the workflow orchestration engine's surface for managing workflow definitions, starting and querying workflow executions, handling tasks and workers, registering event handlers, and administering metadata. Conductor OSS is the Netflix-founded, Orkes-stewarded open source workflow and agentic AI orchestration platform.
  version: 3.x
  contact:
    name: Conductor OSS
    url: https://conductor-oss.org/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: '{baseUrl}/api'
  description: Conductor Server
  variables:
    baseUrl:
      default: http://localhost:8080
tags:
- name: Workflow
paths:
  /workflow:
    post:
      operationId: startWorkflow
      summary: Start a workflow
      description: Starts a new workflow execution.
      tags:
      - Workflow
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartWorkflowRequest'
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                description: Workflow ID
  /workflow/{workflowId}:
    get:
      operationId: getWorkflow
      summary: Get workflow execution
      description: Returns the execution details of a specific workflow.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      - name: includeTasks
        in: query
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
    delete:
      operationId: terminateWorkflow
      summary: Terminate a workflow
      description: Terminates a running workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      - name: reason
        in: query
        schema:
          type: string
      responses:
        '204':
          description: Workflow terminated
  /workflow/{workflowId}/pause:
    put:
      operationId: pauseWorkflow
      summary: Pause a workflow
      description: Pauses a running workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Workflow paused
  /workflow/{workflowId}/resume:
    put:
      operationId: resumeWorkflow
      summary: Resume a workflow
      description: Resumes a paused workflow execution.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Workflow resumed
  /workflow/{workflowId}/restart:
    post:
      operationId: restartWorkflow
      summary: Restart a workflow
      description: Restarts a completed or terminated workflow from the beginning.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      - name: useLatestDefinitions
        in: query
        schema:
          type: boolean
          default: false
      responses:
        '204':
          description: Workflow restarted
  /workflow/{workflowId}/retry:
    post:
      operationId: retryWorkflow
      summary: Retry a workflow
      description: Retries a failed workflow from the last failed task.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      - name: resumeSubworkflowTasks
        in: query
        schema:
          type: boolean
          default: false
      responses:
        '204':
          description: Workflow retried
  /workflow/{workflowId}/rerun:
    post:
      operationId: rerunWorkflow
      summary: Rerun a workflow
      description: Reruns a completed workflow from a specific task.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RerunWorkflowRequest'
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
  /workflow/{workflowId}/skiptask/{taskReferenceName}:
    put:
      operationId: skipTask
      summary: Skip a task
      description: Skips a specific task in a running workflow.
      tags:
      - Workflow
      parameters:
      - name: workflowId
        in: path
        required: true
        schema:
          type: string
      - name: taskReferenceName
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Task skipped
  /workflow/search:
    get:
      operationId: searchWorkflows
      summary: Search workflows
      description: Search for workflow executions based on query parameters.
      tags:
      - Workflow
      parameters:
      - name: start
        in: query
        schema:
          type: integer
          default: 0
      - name: size
        in: query
        schema:
          type: integer
          default: 100
      - name: sort
        in: query
        schema:
          type: string
      - name: freeText
        in: query
        schema:
          type: string
      - name: query
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResult'
components:
  schemas:
    SearchResult:
      type: object
      properties:
        totalHits:
          type: integer
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/Workflow'
    RerunWorkflowRequest:
      type: object
      properties:
        reRunFromWorkflowId:
          type: string
        reRunFromTaskId:
          type: string
        workflowInput:
          type: object
        taskInput:
          type: object
        correlationId:
          type: string
    Workflow:
      type: object
      properties:
        workflowId:
          type: string
        workflowName:
          type: string
        workflowVersion:
          type: integer
        correlationId:
          type: string
        status:
          type: string
          enum:
          - RUNNING
          - COMPLETED
          - FAILED
          - TIMED_OUT
          - TERMINATED
          - PAUSED
        input:
          type: object
        output:
          type: object
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/Task'
        startTime:
          type: integer
          format: int64
        endTime:
          type: integer
          format: int64
        updateTime:
          type: integer
          format: int64
        reasonForIncompletion:
          type: string
        priority:
          type: integer
        failedReferenceTaskNames:
          type: array
          items:
            type: string
    Task:
      type: object
      properties:
        taskId:
          type: string
        taskType:
          type: string
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETED
          - FAILED
          - TIMED_OUT
          - CANCELED
          - SCHEDULED
        referenceTaskName:
          type: string
        workflowInstanceId:
          type: string
        inputData:
          type: object
        outputData:
          type: object
        scheduledTime:
          type: integer
          format: int64
        startTime:
          type: integer
          format: int64
        endTime:
          type: integer
          format: int64
        retryCount:
          type: integer
        pollCount:
          type: integer
        callbackAfterSeconds:
          type: integer
          format: int64
        workerId:
          type: string
    StartWorkflowRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        version:
          type: integer
        correlationId:
          type: string
        input:
          type: object
        taskToDomain:
          type: object
          additionalProperties:
            type: string
        externalInputPayloadStoragePath:
          type: string
        priority:
          type: integer