Netflix Conductor Workflow API
The Workflow API from Netflix Conductor — 9 operation(s) for workflow.
The Workflow API from Netflix Conductor — 9 operation(s) for workflow.
openapi: 3.1.0
info:
title: Netflix Conductor REST Events Workflow 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: 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
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
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