Conductor OSS Metadata API

The Metadata API from Conductor OSS — 4 operation(s) for metadata.

OpenAPI Specification

conductor-oss-metadata-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Conductor OSS REST Events Metadata 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: Metadata
paths:
  /metadata/workflow:
    get:
      operationId: listWorkflowDefinitions
      summary: List workflow definitions
      description: Returns all registered workflow definitions.
      tags:
      - Metadata
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkflowDef'
    post:
      operationId: registerWorkflowDefinition
      summary: Register a workflow definition
      description: Registers a new workflow definition.
      tags:
      - Metadata
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowDef'
      responses:
        '204':
          description: Workflow definition registered
    put:
      operationId: updateWorkflowDefinitions
      summary: Update workflow definitions
      description: Updates existing workflow definitions.
      tags:
      - Metadata
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/WorkflowDef'
      responses:
        '204':
          description: Workflow definitions updated
  /metadata/workflow/{name}:
    get:
      operationId: getWorkflowDefinition
      summary: Get workflow definition
      description: Returns a specific workflow definition by name.
      tags:
      - Metadata
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDef'
    delete:
      operationId: deleteWorkflowDefinition
      summary: Delete a workflow definition
      description: Deletes a workflow definition by name and version.
      tags:
      - Metadata
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      responses:
        '204':
          description: Workflow definition deleted
  /metadata/taskdefs:
    get:
      operationId: listTaskDefinitions
      summary: List task definitions
      description: Returns all registered task definitions.
      tags:
      - Metadata
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TaskDef'
    post:
      operationId: registerTaskDefinitions
      summary: Register task definitions
      description: Registers new task definitions.
      tags:
      - Metadata
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TaskDef'
      responses:
        '204':
          description: Task definitions registered
  /metadata/taskdefs/{taskType}:
    get:
      operationId: getTaskDefinition
      summary: Get task definition
      description: Returns a specific task definition by name.
      tags:
      - Metadata
      parameters:
      - name: taskType
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskDef'
    delete:
      operationId: deleteTaskDefinition
      summary: Delete a task definition
      description: Deletes a task definition by name.
      tags:
      - Metadata
      parameters:
      - name: taskType
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Task definition deleted
components:
  schemas:
    WorkflowTask:
      type: object
      required:
      - name
      - taskReferenceName
      - type
      properties:
        name:
          type: string
        taskReferenceName:
          type: string
        type:
          type: string
          enum:
          - SIMPLE
          - DYNAMIC
          - FORK_JOIN
          - FORK_JOIN_DYNAMIC
          - DECISION
          - SWITCH
          - JOIN
          - DO_WHILE
          - SUB_WORKFLOW
          - EVENT
          - WAIT
          - HUMAN
          - HTTP
          - INLINE
          - JSON_JQ_TRANSFORM
          - SET_VARIABLE
          - TERMINATE
        inputParameters:
          type: object
        dynamicTaskNameParam:
          type: string
        caseValueParam:
          type: string
        caseExpression:
          type: string
        decisionCases:
          type: object
        defaultCase:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowTask'
        forkTasks:
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/WorkflowTask'
        joinOn:
          type: array
          items:
            type: string
        subWorkflowParam:
          type: object
        optional:
          type: boolean
        startDelay:
          type: integer
        retryCount:
          type: integer
    WorkflowDef:
      type: object
      required:
      - name
      - tasks
      properties:
        name:
          type: string
        description:
          type: string
        version:
          type: integer
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowTask'
        inputParameters:
          type: array
          items:
            type: string
        outputParameters:
          type: object
        schemaVersion:
          type: integer
        restartable:
          type: boolean
        workflowStatusListenerEnabled:
          type: boolean
        timeoutSeconds:
          type: integer
          format: int64
        timeoutPolicy:
          type: string
          enum:
          - TIME_OUT_WF
          - ALERT_ONLY
        failureWorkflow:
          type: string
        ownerEmail:
          type: string
    TaskDef:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        description:
          type: string
        retryCount:
          type: integer
        timeoutSeconds:
          type: integer
          format: int64
        inputKeys:
          type: array
          items:
            type: string
        outputKeys:
          type: array
          items:
            type: string
        timeoutPolicy:
          type: string
          enum:
          - RETRY
          - TIME_OUT_WF
          - ALERT_ONLY
        retryLogic:
          type: string
          enum:
          - FIXED
          - EXPONENTIAL_BACKOFF
          - LINEAR_BACKOFF
        retryDelaySeconds:
          type: integer
        responseTimeoutSeconds:
          type: integer
          format: int64
        concurrentExecLimit:
          type: integer
        rateLimitPerFrequency:
          type: integer
        rateLimitFrequencyInSeconds:
          type: integer
        ownerEmail:
          type: string
        pollTimeoutSeconds:
          type: integer