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.

OpenAPI Specification

argo-workflows-openapi.yml Raw ↑
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