Netflix Conductor Metadata API
The Metadata API from Netflix Conductor — 4 operation(s) for metadata.
The Metadata API from Netflix Conductor — 4 operation(s) for metadata.
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