openapi: 3.1.0 info: title: Netflix Conductor REST Events Metadata API description: The Conductor REST API provides endpoints for managing workflow definitions, executing workflows, handling tasks, and managing metadata in the Conductor microservices orchestration engine. 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