Argo Workflows API
REST API for managing Argo Workflows, workflow templates, cron workflows, archived workflow records, events, and sensors on Kubernetes clusters. Authentication uses JWT bearer tokens from Kubernetes service accounts.
REST API for managing Argo Workflows, workflow templates, cron workflows, archived workflow records, events, and sensors on Kubernetes clusters. Authentication uses JWT bearer tokens from Kubernetes service accounts.
openapi: 3.0.3
info:
title: Argo Workflows API
description: >-
REST API for Argo Workflows, a Kubernetes-native workflow engine for
orchestrating parallel jobs. Provides endpoints for managing workflows,
workflow templates, cron workflows, and related resources.
version: 3.5.0
contact:
name: Argo Project
url: https://argoproj.github.io/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://{host}:{port}/api/v1
description: Argo Workflows Server
variables:
host:
default: localhost
port:
default: '2746'
tags:
- name: Cron Workflows
description: Operations for managing scheduled cron workflows
- name: Info
description: Server information and version endpoints
- name: Workflow Archives
description: Operations for accessing archived workflow records
- name: Workflow Templates
description: Operations for managing reusable workflow templates
- name: Workflows
description: Operations for managing workflow executions
paths:
/info:
get:
operationId: getInfo
summary: Argo Workflows Argo Get Server Info
description: Returns information about the Argo Workflows server including version and managed namespace.
tags:
- Info
responses:
'200':
description: Server information
content:
application/json:
schema:
$ref: '#/components/schemas/InfoResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/version:
get:
operationId: getVersion
summary: Argo Workflows Argo Get Server Version
description: Returns the version of the Argo Workflows server.
tags:
- Info
responses:
'200':
description: Version information
content:
application/json:
schema:
$ref: '#/components/schemas/Version'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}:
get:
operationId: listWorkflows
summary: Argo Workflows Argo List Workflows
description: Returns a list of workflows in the specified namespace.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- name: listOptions.labelSelector
in: query
description: Label selector to filter workflows
schema:
type: string
- name: listOptions.fieldSelector
in: query
description: Field selector to filter workflows
schema:
type: string
- name: listOptions.limit
in: query
description: Maximum number of workflows to return
schema:
type: integer
format: int64
- name: listOptions.continue
in: query
description: Continue token for pagination
schema:
type: string
- name: fields
in: query
description: Fields to include in the response
schema:
type: string
responses:
'200':
description: List of workflows
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowList'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: createWorkflow
summary: Argo Workflows Argo Create a Workflow
description: Creates a new workflow in the specified namespace.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowCreateRequest'
responses:
'200':
description: Workflow created
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}:
get:
operationId: getWorkflow
summary: Argo Workflows Argo Get a Workflow
description: Returns a specific workflow by name in the specified namespace.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
- name: getOptions.resourceVersion
in: query
description: Resource version for optimistic concurrency
schema:
type: string
- name: fields
in: query
description: Fields to include in the response
schema:
type: string
responses:
'200':
description: Workflow details
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteWorkflow
summary: Argo Workflows Argo Delete a Workflow
description: Deletes a specific workflow by name in the specified namespace.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
- name: deleteOptions.gracePeriodSeconds
in: query
description: Grace period for deletion in seconds
schema:
type: integer
format: int64
- name: force
in: query
description: Force deletion of the workflow
schema:
type: boolean
responses:
'200':
description: Workflow deleted
content:
application/json:
schema:
type: object
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/retry:
put:
operationId: retryWorkflow
summary: Argo Workflows Argo Retry a Workflow
description: Retries a failed or errored workflow.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowRetryRequest'
responses:
'200':
description: Workflow retried
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/resubmit:
put:
operationId: resubmitWorkflow
summary: Argo Workflows Argo Resubmit a Workflow
description: Resubmits a completed workflow as a new workflow.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowResubmitRequest'
responses:
'200':
description: Workflow resubmitted
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/resume:
put:
operationId: resumeWorkflow
summary: Argo Workflows Argo Resume a Workflow
description: Resumes a suspended workflow.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowResumeRequest'
responses:
'200':
description: Workflow resumed
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/suspend:
put:
operationId: suspendWorkflow
summary: Argo Workflows Argo Suspend a Workflow
description: Suspends a running workflow.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
namespace:
type: string
name:
type: string
responses:
'200':
description: Workflow suspended
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/stop:
put:
operationId: stopWorkflow
summary: Argo Workflows Argo Stop a Workflow
description: Stops a running workflow.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowStopRequest'
responses:
'200':
description: Workflow stopped
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/terminate:
put:
operationId: terminateWorkflow
summary: Argo Workflows Argo Terminate a Workflow
description: Terminates a running workflow immediately.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
namespace:
type: string
name:
type: string
responses:
'200':
description: Workflow terminated
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflows/{namespace}/{name}/log:
get:
operationId: getWorkflowLog
summary: Argo Workflows Argo Get Workflow Logs
description: Returns logs for a specific workflow.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/WorkflowName'
- name: podName
in: query
description: Name of the pod to get logs from
schema:
type: string
- name: logOptions.container
in: query
description: Container name to get logs from
schema:
type: string
- name: logOptions.follow
in: query
description: Follow the log stream
schema:
type: boolean
- name: logOptions.sinceSeconds
in: query
description: Relative time in seconds to start streaming logs
schema:
type: integer
format: int64
- name: logOptions.tailLines
in: query
description: Number of lines from the end of the logs to show
schema:
type: integer
format: int64
- name: grep
in: query
description: Grep pattern to filter log lines
schema:
type: string
responses:
'200':
description: Workflow logs
content:
application/json:
schema:
$ref: '#/components/schemas/LogEntry'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflow-templates/{namespace}:
get:
operationId: listWorkflowTemplates
summary: Argo Workflows Argo List Workflow Templates
description: Returns a list of workflow templates in the specified namespace.
tags:
- Workflow Templates
parameters:
- $ref: '#/components/parameters/Namespace'
- name: listOptions.labelSelector
in: query
description: Label selector to filter templates
schema:
type: string
responses:
'200':
description: List of workflow templates
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTemplateList'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: createWorkflowTemplate
summary: Argo Workflows Argo Create a Workflow Template
description: Creates a new workflow template in the specified namespace.
tags:
- Workflow Templates
parameters:
- $ref: '#/components/parameters/Namespace'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTemplateCreateRequest'
responses:
'200':
description: Workflow template created
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTemplate'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workflow-templates/{namespace}/{name}:
get:
operationId: getWorkflowTemplate
summary: Argo Workflows Argo Get a Workflow Template
description: Returns a specific workflow template by name.
tags:
- Workflow Templates
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/TemplateName'
responses:
'200':
description: Workflow template details
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTemplate'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
operationId: updateWorkflowTemplate
summary: Argo Workflows Argo Update a Workflow Template
description: Updates an existing workflow template.
tags:
- Workflow Templates
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/TemplateName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTemplateUpdateRequest'
responses:
'200':
description: Workflow template updated
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTemplate'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteWorkflowTemplate
summary: Argo Workflows Argo Delete a Workflow Template
description: Deletes a specific workflow template by name.
tags:
- Workflow Templates
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/TemplateName'
responses:
'200':
description: Workflow template deleted
content:
application/json:
schema:
type: object
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cron-workflows/{namespace}:
get:
operationId: listCronWorkflows
summary: Argo Workflows Argo List Cron Workflows
description: Returns a list of cron workflows in the specified namespace.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- name: listOptions.labelSelector
in: query
description: Label selector to filter cron workflows
schema:
type: string
responses:
'200':
description: List of cron workflows
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflowList'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: createCronWorkflow
summary: Argo Workflows Argo Create a Cron Workflow
description: Creates a new cron workflow in the specified namespace.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflowCreateRequest'
responses:
'200':
description: Cron workflow created
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cron-workflows/{namespace}/{name}:
get:
operationId: getCronWorkflow
summary: Argo Workflows Argo Get a Cron Workflow
description: Returns a specific cron workflow by name.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/CronWorkflowName'
responses:
'200':
description: Cron workflow details
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
operationId: updateCronWorkflow
summary: Argo Workflows Argo Update a Cron Workflow
description: Updates an existing cron workflow.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/CronWorkflowName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflowUpdateRequest'
responses:
'200':
description: Cron workflow updated
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteCronWorkflow
summary: Argo Workflows Argo Delete a Cron Workflow
description: Deletes a specific cron workflow by name.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/CronWorkflowName'
responses:
'200':
description: Cron workflow deleted
content:
application/json:
schema:
type: object
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cron-workflows/{namespace}/{name}/resume:
put:
operationId: resumeCronWorkflow
summary: Argo Workflows Argo Resume a Cron Workflow
description: Resumes a previously suspended cron workflow.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/CronWorkflowName'
responses:
'200':
description: Cron workflow resumed
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cron-workflows/{namespace}/{name}/suspend:
put:
operationId: suspendCronWorkflow
summary: Argo Workflows Argo Suspend a Cron Workflow
description: Suspends an active cron workflow.
tags:
- Cron Workflows
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/CronWorkflowName'
responses:
'200':
description: Cron workflow suspended
content:
application/json:
schema:
$ref: '#/components/schemas/CronWorkflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/archived-workflows:
get:
operationId: listArchivedWorkflows
summary: Argo Workflows Argo List Archived Workflows
description: Returns a list of archived workflows.
tags:
- Workflow Archives
parameters:
- name: listOptions.labelSelector
in: query
description: Label selector to filter archived workflows
schema:
type: string
- name: listOptions.limit
in: query
description: Maximum number of results to return
schema:
type: integer
format: int64
- name: listOptions.continue
in: query
description: Continue token for pagination
schema:
type: string
- name: namespace
in: query
description: Namespace to filter archived workflows
schema:
type: string
responses:
'200':
description: List of archived workflows
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowList'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/archived-workflows/{uid}:
get:
operationId: getArchivedWorkflow
summary: Argo Workflows Argo Get an Archived Workflow
description: Returns a specific archived workflow by UID.
tags:
- Workflow Archives
parameters:
- name: uid
in: path
required: true
description: UID of the archived workflow
schema:
type: string
responses:
'200':
description: Archived workflow details
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteArchivedWorkflow
summary: Argo Workflows Argo Delete an Archived Workflow
description: Deletes a specific archived workflow by UID.
tags:
- Workflow Archives
parameters:
- name: uid
in: path
required: true
description: UID of the archived workflow
schema:
type: string
responses:
'200':
description: Archived workflow deleted
content:
application/json:
schema:
type: object
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Argo Workflows API token authentication
parameters:
Namespace:
name: namespace
in: path
required: true
description: Kubernetes namespace
schema:
type: string
WorkflowName:
name: name
in: path
required: true
description: Name of the workflow
schema:
type: string
TemplateName:
name: name
in: path
required: true
description: Name of the workflow template
schema:
type: string
CronWorkflowName:
name: name
in: path
required: true
description: Name of the cron workflow
schema:
type: string
schemas:
InfoResponse:
type: object
properties:
managedNamespace:
type: string
description: The namespace managed by this Argo server
links:
type: array
items:
type: object
properties:
name:
type: string
scope:
type: string
url:
type: string
Version:
type: object
properties:
version:
type: string
buildDate:
type: string
gitCommit:
type: string
gitTag:
type: string
gitTreeState:
type: string
goVersion:
type: string
compiler:
type: string
platform:
type: string
ObjectMeta:
type: object
description: Kubernetes object metadata
properties:
name:
type: string
generateName:
type: string
namespace:
type: string
uid:
type: string
resourceVersion:
type: string
generation:
type: integer
format: int64
creationTimestamp:
type: string
format: date-time
labels:
type: object
additionalProperties:
type: string
annotations:
type: object
additionalProperties:
type: string
Workflow:
type: object
description: An Argo Workflow resource
properties:
apiVersion:
type: string
default: argoproj.io/v1alpha1
kind:
type: string
default: Workflow
metadata:
$ref: '#/components/schemas/ObjectMeta'
spec:
$ref: '#/components/schemas/WorkflowSpec'
status:
$ref: '#/components/schemas/WorkflowStatus'
WorkflowSpec:
type: object
description: Specification of a workflow
properties:
entrypoint:
type: string
description: The name of the entrypoint template
arguments:
$ref: '#/components/schemas/Arguments'
templates:
type: array
description: List of workflow templates
items:
$ref: '#/components/schemas/Template'
serviceAccountName:
type: string
description: Service account to run workflow pods
volumes:
type: array
description: Volumes available to workflow steps
items:
type: object
activeDeadlineSeconds:
type: integer
format: int64
description: Duration in seconds before workflow times out
nodeSelector:
type: object
additionalProperties:
type: string
tolerations:
type: array
items:
type: object
parallelism:
type: integer
description: Maximum number of parallel running pods
ttlStrategy:
type: object
description: Strategy for cleaning up completed workflows
properties:
secondsAfterCompletion:
type: integer
secondsAfterSuccess:
type: integer
secondsAfterFailure:
type: integer
podGC:
type: object
description: Strategy for garbage collecting completed pods
properties:
strategy:
type: string
enum:
- OnPodCompletion
- OnPodSuccess
- OnWorkflowCompletion
- OnWorkflowSuccess
workflowTemplateRef:
type: object
description: Reference to a WorkflowTemplate
properties:
name:
type: string
clusterScope:
type: boolean
archiveLogs:
type: boolean
description: Whether to archive workflow logs
hooks:
type: object
description: Lifecycle hooks for the workflow
additionalProperties:
type: object
onExit:
type: string
description: Template to execute on workflow exit
retryStrategy:
$ref: '#/components/schemas/RetryStrategy'
Template:
type: object
description: A workflow template definition
properties:
name:
type: string
description: Name of the template
inputs:
$ref: '#/components/schemas/Inputs'
outputs:
$ref: '#/components/schemas/Outputs'
container:
type: object
description: Container to run
properties:
image:
type: string
command:
type: array
items:
type: string
args:
type: array
items:
type: string
env:
type: array
items:
type: object
properties:
name:
type: string
value:
type: string
resources:
type: object
properties:
limits:
type: object
additionalProperties:
type: string
requests:
type: object
additionalProperties:
type: string
volumeMounts:
type: array
items:
type: object
script:
type: object
description: Script to run in a container
properties:
image:
type: string
command:
type: array
items:
type: string
source:
type: string
resource:
type: object
description: Kubernetes resource to create/patch/delete
properties:
action:
type: string
enum:
- get
- create
- apply
- delete
- replace
- patch
manifest:
type: string
successCondition:
type: string
failureCondition:
type: string
dag:
type: object
description: DAG template definition
properties:
tasks:
type: array
items:
$ref: '#/components/schemas/DAGTask'
steps:
type: array
description: Steps template definition (list of parallel step groups)
items:
type: array
items:
$ref: '#/components/schemas/WorkflowStep'
suspend:
type: object
description: Suspend template for manual approval
properties:
duration:
type: string
activeDeadlineSeconds:
type: integer
format: int64
retryStrategy:
$ref: '#/components/schemas/RetryStrategy'
nodeSelector:
type: object
additionalProperties:
type: string
metadata:
type: object
description: Metadata to set on step pods
properties:
labels:
type: object
additionalProperties:
type: string
annotations:
type: object
additionalProperties:
type: string
DAGTask:
type: object
description: A task in a DAG template
properties:
name:
type: string
template:
type: string
arguments:
$ref: '#/components/schemas/Arguments'
dependencies:
type: array
items:
type: string
when:
type: string
description: Conditional expression for task execution
withItems:
type: array
items: {}
withParam:
type: string
continueOn:
type: object
properties:
error:
type: boolean
failed:
type: boolean
WorkflowStep:
type: object
description: A step in a steps template
properties:
name:
type: string
template:
type: string
arguments:
$ref: '#/components/schemas/Arguments'
when:
type: string
withItems:
type: array
items: {}
withParam:
type: string
continueOn:
type: object
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/argo/refs/heads/main/openapi/argo-workflows-openapi.yml