Argo · Capability

Argo Workflows API — Workflows

Argo Workflows API — Workflows. 11 operations. Lead operation: Argo Workflows Argo List Workflows. Self-contained Naftiko capability covering one Argo business surface.

Run with Naftiko ArgoWorkflows

What You Can Do

GET
Listworkflows — Argo Workflows Argo List Workflows
/v1/workflows/{namespace}
POST
Createworkflow — Argo Workflows Argo Create a Workflow
/v1/workflows/{namespace}
GET
Getworkflow — Argo Workflows Argo Get a Workflow
/v1/workflows/{namespace}/{name}
DELETE
Deleteworkflow — Argo Workflows Argo Delete a Workflow
/v1/workflows/{namespace}/{name}
GET
Getworkflowlog — Argo Workflows Argo Get Workflow Logs
/v1/workflows/{namespace}/{name}/log
PUT
Resubmitworkflow — Argo Workflows Argo Resubmit a Workflow
/v1/workflows/{namespace}/{name}/resubmit
PUT
Resumeworkflow — Argo Workflows Argo Resume a Workflow
/v1/workflows/{namespace}/{name}/resume
PUT
Retryworkflow — Argo Workflows Argo Retry a Workflow
/v1/workflows/{namespace}/{name}/retry
PUT
Stopworkflow — Argo Workflows Argo Stop a Workflow
/v1/workflows/{namespace}/{name}/stop
PUT
Suspendworkflow — Argo Workflows Argo Suspend a Workflow
/v1/workflows/{namespace}/{name}/suspend
PUT
Terminateworkflow — Argo Workflows Argo Terminate a Workflow
/v1/workflows/{namespace}/{name}/terminate

MCP Tools

argo-workflows-argo-list-workflows

Argo Workflows Argo List Workflows

read-only idempotent
argo-workflows-argo-create-workflow

Argo Workflows Argo Create a Workflow

argo-workflows-argo-get-workflow

Argo Workflows Argo Get a Workflow

read-only idempotent
argo-workflows-argo-delete-workflow

Argo Workflows Argo Delete a Workflow

idempotent
argo-workflows-argo-get-workflow-2

Argo Workflows Argo Get Workflow Logs

read-only idempotent
argo-workflows-argo-resubmit-workflow

Argo Workflows Argo Resubmit a Workflow

idempotent
argo-workflows-argo-resume-workflow

Argo Workflows Argo Resume a Workflow

idempotent
argo-workflows-argo-retry-workflow

Argo Workflows Argo Retry a Workflow

idempotent
argo-workflows-argo-stop-workflow

Argo Workflows Argo Stop a Workflow

idempotent
argo-workflows-argo-suspend-workflow

Argo Workflows Argo Suspend a Workflow

idempotent
argo-workflows-argo-terminate-workflow

Argo Workflows Argo Terminate a Workflow

idempotent

Capability Spec

workflows-workflows.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Argo Workflows API — Workflows
  description: 'Argo Workflows API — Workflows. 11 operations. Lead operation: Argo Workflows Argo List Workflows. Self-contained
    Naftiko capability covering one Argo business surface.'
  tags:
  - Argo
  - Workflows
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ARGO_API_KEY: ARGO_API_KEY
capability:
  consumes:
  - type: http
    namespace: workflows-workflows
    baseUri: https://{host}:{port}/api/v1
    description: Argo Workflows API — Workflows business capability. Self-contained, no shared references.
    resources:
    - name: workflows-namespace
      path: /workflows/{namespace}
      operations:
      - name: listworkflows
        method: GET
        description: Argo Workflows Argo List Workflows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: listOptions.labelSelector
          in: query
          type: string
          description: Label selector to filter workflows
        - name: listOptions.fieldSelector
          in: query
          type: string
          description: Field selector to filter workflows
        - name: listOptions.limit
          in: query
          type: integer
          description: Maximum number of workflows to return
        - name: listOptions.continue
          in: query
          type: string
          description: Continue token for pagination
        - name: fields
          in: query
          type: string
          description: Fields to include in the response
      - name: createworkflow
        method: POST
        description: Argo Workflows Argo Create a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflows-namespace-name
      path: /workflows/{namespace}/{name}
      operations:
      - name: getworkflow
        method: GET
        description: Argo Workflows Argo Get a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: getOptions.resourceVersion
          in: query
          type: string
          description: Resource version for optimistic concurrency
        - name: fields
          in: query
          type: string
          description: Fields to include in the response
      - name: deleteworkflow
        method: DELETE
        description: Argo Workflows Argo Delete a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deleteOptions.gracePeriodSeconds
          in: query
          type: integer
          description: Grace period for deletion in seconds
        - name: force
          in: query
          type: boolean
          description: Force deletion of the workflow
    - name: workflows-namespace-name-log
      path: /workflows/{namespace}/{name}/log
      operations:
      - name: getworkflowlog
        method: GET
        description: Argo Workflows Argo Get Workflow Logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: podName
          in: query
          type: string
          description: Name of the pod to get logs from
        - name: logOptions.container
          in: query
          type: string
          description: Container name to get logs from
        - name: logOptions.follow
          in: query
          type: boolean
          description: Follow the log stream
        - name: logOptions.sinceSeconds
          in: query
          type: integer
          description: Relative time in seconds to start streaming logs
        - name: logOptions.tailLines
          in: query
          type: integer
          description: Number of lines from the end of the logs to show
        - name: grep
          in: query
          type: string
          description: Grep pattern to filter log lines
    - name: workflows-namespace-name-resubmit
      path: /workflows/{namespace}/{name}/resubmit
      operations:
      - name: resubmitworkflow
        method: PUT
        description: Argo Workflows Argo Resubmit a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflows-namespace-name-resume
      path: /workflows/{namespace}/{name}/resume
      operations:
      - name: resumeworkflow
        method: PUT
        description: Argo Workflows Argo Resume a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflows-namespace-name-retry
      path: /workflows/{namespace}/{name}/retry
      operations:
      - name: retryworkflow
        method: PUT
        description: Argo Workflows Argo Retry a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflows-namespace-name-stop
      path: /workflows/{namespace}/{name}/stop
      operations:
      - name: stopworkflow
        method: PUT
        description: Argo Workflows Argo Stop a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflows-namespace-name-suspend
      path: /workflows/{namespace}/{name}/suspend
      operations:
      - name: suspendworkflow
        method: PUT
        description: Argo Workflows Argo Suspend a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflows-namespace-name-terminate
      path: /workflows/{namespace}/{name}/terminate
      operations:
      - name: terminateworkflow
        method: PUT
        description: Argo Workflows Argo Terminate a Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.ARGO_API_KEY}}'
  exposes:
  - type: rest
    namespace: workflows-workflows-rest
    port: 8080
    description: REST adapter for Argo Workflows API — Workflows. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/workflows/{namespace}
      name: workflows-namespace
      description: REST surface for workflows-namespace.
      operations:
      - method: GET
        name: listworkflows
        description: Argo Workflows Argo List Workflows
        call: workflows-workflows.listworkflows
        with:
          listOptions.labelSelector: rest.listOptions.labelSelector
          listOptions.fieldSelector: rest.listOptions.fieldSelector
          listOptions.limit: rest.listOptions.limit
          listOptions.continue: rest.listOptions.continue
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createworkflow
        description: Argo Workflows Argo Create a Workflow
        call: workflows-workflows.createworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}
      name: workflows-namespace-name
      description: REST surface for workflows-namespace-name.
      operations:
      - method: GET
        name: getworkflow
        description: Argo Workflows Argo Get a Workflow
        call: workflows-workflows.getworkflow
        with:
          getOptions.resourceVersion: rest.getOptions.resourceVersion
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteworkflow
        description: Argo Workflows Argo Delete a Workflow
        call: workflows-workflows.deleteworkflow
        with:
          deleteOptions.gracePeriodSeconds: rest.deleteOptions.gracePeriodSeconds
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/log
      name: workflows-namespace-name-log
      description: REST surface for workflows-namespace-name-log.
      operations:
      - method: GET
        name: getworkflowlog
        description: Argo Workflows Argo Get Workflow Logs
        call: workflows-workflows.getworkflowlog
        with:
          podName: rest.podName
          logOptions.container: rest.logOptions.container
          logOptions.follow: rest.logOptions.follow
          logOptions.sinceSeconds: rest.logOptions.sinceSeconds
          logOptions.tailLines: rest.logOptions.tailLines
          grep: rest.grep
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/resubmit
      name: workflows-namespace-name-resubmit
      description: REST surface for workflows-namespace-name-resubmit.
      operations:
      - method: PUT
        name: resubmitworkflow
        description: Argo Workflows Argo Resubmit a Workflow
        call: workflows-workflows.resubmitworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/resume
      name: workflows-namespace-name-resume
      description: REST surface for workflows-namespace-name-resume.
      operations:
      - method: PUT
        name: resumeworkflow
        description: Argo Workflows Argo Resume a Workflow
        call: workflows-workflows.resumeworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/retry
      name: workflows-namespace-name-retry
      description: REST surface for workflows-namespace-name-retry.
      operations:
      - method: PUT
        name: retryworkflow
        description: Argo Workflows Argo Retry a Workflow
        call: workflows-workflows.retryworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/stop
      name: workflows-namespace-name-stop
      description: REST surface for workflows-namespace-name-stop.
      operations:
      - method: PUT
        name: stopworkflow
        description: Argo Workflows Argo Stop a Workflow
        call: workflows-workflows.stopworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/suspend
      name: workflows-namespace-name-suspend
      description: REST surface for workflows-namespace-name-suspend.
      operations:
      - method: PUT
        name: suspendworkflow
        description: Argo Workflows Argo Suspend a Workflow
        call: workflows-workflows.suspendworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{namespace}/{name}/terminate
      name: workflows-namespace-name-terminate
      description: REST surface for workflows-namespace-name-terminate.
      operations:
      - method: PUT
        name: terminateworkflow
        description: Argo Workflows Argo Terminate a Workflow
        call: workflows-workflows.terminateworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: workflows-workflows-mcp
    port: 9090
    transport: http
    description: MCP adapter for Argo Workflows API — Workflows. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: argo-workflows-argo-list-workflows
      description: Argo Workflows Argo List Workflows
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: workflows-workflows.listworkflows
      with:
        listOptions.labelSelector: tools.listOptions.labelSelector
        listOptions.fieldSelector: tools.listOptions.fieldSelector
        listOptions.limit: tools.listOptions.limit
        listOptions.continue: tools.listOptions.continue
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-create-workflow
      description: Argo Workflows Argo Create a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: workflows-workflows.createworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-get-workflow
      description: Argo Workflows Argo Get a Workflow
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: workflows-workflows.getworkflow
      with:
        getOptions.resourceVersion: tools.getOptions.resourceVersion
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-delete-workflow
      description: Argo Workflows Argo Delete a Workflow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: workflows-workflows.deleteworkflow
      with:
        deleteOptions.gracePeriodSeconds: tools.deleteOptions.gracePeriodSeconds
        force: tools.force
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-get-workflow-2
      description: Argo Workflows Argo Get Workflow Logs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: workflows-workflows.getworkflowlog
      with:
        podName: tools.podName
        logOptions.container: tools.logOptions.container
        logOptions.follow: tools.logOptions.follow
        logOptions.sinceSeconds: tools.logOptions.sinceSeconds
        logOptions.tailLines: tools.logOptions.tailLines
        grep: tools.grep
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-resubmit-workflow
      description: Argo Workflows Argo Resubmit a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: workflows-workflows.resubmitworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-resume-workflow
      description: Argo Workflows Argo Resume a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: workflows-workflows.resumeworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-retry-workflow
      description: Argo Workflows Argo Retry a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: workflows-workflows.retryworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-stop-workflow
      description: Argo Workflows Argo Stop a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: workflows-workflows.stopworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-suspend-workflow
      description: Argo Workflows Argo Suspend a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: workflows-workflows.suspendworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: argo-workflows-argo-terminate-workflow
      description: Argo Workflows Argo Terminate a Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: workflows-workflows.terminateworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.