openapi: 3.1.0 info: title: Argo CD Applications Workflow Templates 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 Templates description: Operations for managing reusable workflow templates paths: /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 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' WorkflowTemplateUpdateRequest: type: object properties: namespace: type: string name: type: string template: $ref: '#/components/schemas/WorkflowTemplate' 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 WorkflowTemplateCreateRequest: type: object properties: namespace: type: string template: $ref: '#/components/schemas/WorkflowTemplate' createOptions: type: object 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 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' WorkflowTemplate: type: object description: A reusable workflow template resource properties: apiVersion: type: string default: argoproj.io/v1alpha1 kind: type: string default: WorkflowTemplate metadata: $ref: '#/components/schemas/ObjectMeta' spec: $ref: '#/components/schemas/WorkflowSpec' 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 WorkflowTemplateList: type: object properties: apiVersion: type: string metadata: type: object items: type: array items: $ref: '#/components/schemas/WorkflowTemplate' 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 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 parameters: Namespace: name: namespace in: path required: true description: Kubernetes namespace schema: type: string TemplateName: name: name in: path required: true description: Name of the workflow template schema: 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/