Argo Workflow Archives API

Operations for accessing archived workflow records

OpenAPI Specification

argo-workflow-archives-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Argo CD Applications Workflow Archives API
  description: The Argo CD API provides REST endpoints for managing GitOps continuous delivery on Kubernetes. It enables creating and managing applications, projects, repositories, clusters, and certificates. The API supports syncing application state to match the desired state declared in Git, querying health and sync status, managing access control, and configuring notifications. All operations require authentication via bearer token obtained from the session endpoint.
  version: v2.x
  contact:
    name: Argo CD Community
    url: https://argo-cd.readthedocs.io/en/stable/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://localhost/api/v1
  description: Argo CD Server (default in-cluster address)
security:
- bearerAuth: []
tags:
- name: Workflow Archives
  description: Operations for accessing archived workflow records
paths:
  /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:
  schemas:
    Outputs:
      type: object
      description: Outputs from a template
      properties:
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
        artifacts:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
        result:
          type: string
          description: Result output from a script template
        exitCode:
          type: string
          description: Exit code of the container
    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
    Arguments:
      type: object
      description: Arguments to pass to a template
      properties:
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
        artifacts:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
    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
    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
          properties:
            error:
              type: boolean
            failed:
              type: boolean
    NodeStatus:
      type: object
      description: Status of a workflow node
      properties:
        id:
          type: string
        name:
          type: string
        displayName:
          type: string
        type:
          type: string
          enum:
          - Pod
          - Steps
          - StepGroup
          - DAG
          - TaskGroup
          - Retry
          - Skipped
          - Suspend
        templateName:
          type: string
        phase:
          type: string
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type: string
          format: date-time
        message:
          type: string
        children:
          type: array
          items:
            type: string
        inputs:
          $ref: '#/components/schemas/Inputs'
        outputs:
          $ref: '#/components/schemas/Outputs'
    Inputs:
      type: object
      description: Inputs for a template
      properties:
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
        artifacts:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
    WorkflowList:
      type: object
      properties:
        apiVersion:
          type: string
        metadata:
          type: object
          properties:
            resourceVersion:
              type: string
            continue:
              type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/Workflow'
    Artifact:
      type: object
      description: A workflow artifact
      properties:
        name:
          type: string
        path:
          type: string
          description: Path in the container where artifact is placed
        from:
          type: string
          description: Source artifact reference
        s3:
          type: object
          properties:
            bucket:
              type: string
            key:
              type: string
            endpoint:
              type: string
        git:
          type: object
          properties:
            repo:
              type: string
            revision:
              type: string
            depth:
              type: integer
        http:
          type: object
          properties:
            url:
              type: string
            headers:
              type: array
              items:
                type: object
        archive:
          type: object
          properties:
            none:
              type: object
            tar:
              type: object
              properties:
                compressionLevel:
                  type: integer
            zip:
              type: object
    Parameter:
      type: object
      description: A workflow parameter
      properties:
        name:
          type: string
        value:
          type: string
        default:
          type: string
        enum:
          type: array
          items:
            type: string
        description:
          type: string
        globalName:
          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'
    RetryStrategy:
      type: object
      description: Strategy for retrying failed steps
      properties:
        limit:
          type: integer
          description: Maximum number of retries
        retryPolicy:
          type: string
          enum:
          - Always
          - OnFailure
          - OnError
          - OnTransientError
        backoff:
          type: object
          properties:
            duration:
              type: string
            factor:
              type: integer
            maxDuration:
              type: string
    WorkflowStatus:
      type: object
      description: Status of a workflow execution
      properties:
        phase:
          type: string
          enum:
          - Pending
          - Running
          - Succeeded
          - Failed
          - Error
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type: string
          format: date-time
        progress:
          type: string
          description: Progress of the workflow (e.g. 2/4)
        message:
          type: string
        estimatedDuration:
          type: integer
        nodes:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/NodeStatus'
        conditions:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              status:
                type: string
              message:
                type: string
        outputs:
          $ref: '#/components/schemas/Outputs'
        storedTemplates:
          type: object
        artifactRepositoryRef:
          type: object
          properties:
            configMap:
              type: string
            key:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token obtained from the POST /session endpoint using username/password or from an external OIDC provider configured in Argo CD.
externalDocs:
  description: Argo CD API Documentation
  url: https://argo-cd.readthedocs.io/en/stable/developer-guide/api-docs/