Conductor · Capability

Conductor API — Workflow

Conductor API — Workflow. 11 operations. Lead operation: Conductor Start a New Workflow. Self-contained Naftiko capability covering one Conductor business surface.

Run with Naftiko ConductorWorkflow

What You Can Do

POST
Startworkflow — Conductor Start a New Workflow
/v1/workflow
GET
Getrunningworkflows — Conductor Get Running Workflow Instances
/v1/workflow/running/{name}
GET
Searchworkflows — Conductor Search for Workflow Executions
/v1/workflow/search
GET
Getworkflowexecution — Conductor Get Workflow Execution Status
/v1/workflow/{workflowid}
DELETE
Deleteworkflowexecution — Conductor Delete a Workflow Execution
/v1/workflow/{workflowid}
PUT
Pauseworkflow — Conductor Pause a Running Workflow
/v1/workflow/{workflowid}/pause
POST
Restartworkflow — Conductor Restart a Completed Workflow
/v1/workflow/{workflowid}/restart
PUT
Resumeworkflow — Conductor Resume a Paused Workflow
/v1/workflow/{workflowid}/resume
POST
Retryworkflow — Conductor Retry a Failed Workflow
/v1/workflow/{workflowid}/retry
PUT
Skiptaskfromworkflow — Conductor Skip a Task in a Running Workflow
/v1/workflow/{workflowid}/skiptask/{taskreferencename}
DELETE
Terminateworkflow — Conductor Terminate a Running Workflow
/v1/workflow/{workflowid}/terminate

MCP Tools

conductor-start-new-workflow

Conductor Start a New Workflow

conductor-get-running-workflow-instances

Conductor Get Running Workflow Instances

read-only idempotent
conductor-search-workflow-executions

Conductor Search for Workflow Executions

read-only idempotent
conductor-get-workflow-execution-status

Conductor Get Workflow Execution Status

read-only idempotent
conductor-delete-workflow-execution

Conductor Delete a Workflow Execution

idempotent
conductor-pause-running-workflow

Conductor Pause a Running Workflow

idempotent
conductor-restart-completed-workflow

Conductor Restart a Completed Workflow

conductor-resume-paused-workflow

Conductor Resume a Paused Workflow

idempotent
conductor-retry-failed-workflow

Conductor Retry a Failed Workflow

conductor-skip-task-running-workflow

Conductor Skip a Task in a Running Workflow

idempotent
conductor-terminate-running-workflow

Conductor Terminate a Running Workflow

idempotent

Capability Spec

conductor-workflow.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Conductor API — Workflow
  description: 'Conductor API — Workflow. 11 operations. Lead operation: Conductor Start a New Workflow. Self-contained Naftiko
    capability covering one Conductor business surface.'
  tags:
  - Conductor
  - Workflow
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CONDUCTOR_API_KEY: CONDUCTOR_API_KEY
capability:
  consumes:
  - type: http
    namespace: conductor-workflow
    baseUri: https://localhost:8080/api
    description: Conductor API — Workflow business capability. Self-contained, no shared references.
    resources:
    - name: workflow
      path: /workflow
      operations:
      - name: startworkflow
        method: POST
        description: Conductor Start a New Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflow-running-name
      path: /workflow/running/{name}
      operations:
      - name: getrunningworkflows
        method: GET
        description: Conductor Get Running Workflow Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: The workflow name
          required: true
        - name: version
          in: query
          type: integer
          description: The workflow version
        - name: startTime
          in: query
          type: integer
          description: Start time filter (epoch milliseconds)
        - name: endTime
          in: query
          type: integer
          description: End time filter (epoch milliseconds)
    - name: workflow-search
      path: /workflow/search
      operations:
      - name: searchworkflows
        method: GET
        description: Conductor Search for Workflow Executions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start
          in: query
          type: integer
          description: Start index for pagination
        - name: size
          in: query
          type: integer
          description: Number of results to return
        - name: sort
          in: query
          type: string
          description: Sort field and order (e.g., createTime:DESC)
        - name: freeText
          in: query
          type: string
          description: Free text search across workflow data
        - name: query
          in: query
          type: string
          description: Query expression for filtering results
    - name: workflow-workflowId
      path: /workflow/{workflowId}
      operations:
      - name: getworkflowexecution
        method: GET
        description: Conductor Get Workflow Execution Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
        - name: includeTasks
          in: query
          type: boolean
          description: Whether to include task details in the response
      - name: deleteworkflowexecution
        method: DELETE
        description: Conductor Delete a Workflow Execution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
        - name: archiveWorkflow
          in: query
          type: boolean
          description: Whether to archive the workflow before deletion
    - name: workflow-workflowId-pause
      path: /workflow/{workflowId}/pause
      operations:
      - name: pauseworkflow
        method: PUT
        description: Conductor Pause a Running Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
    - name: workflow-workflowId-restart
      path: /workflow/{workflowId}/restart
      operations:
      - name: restartworkflow
        method: POST
        description: Conductor Restart a Completed Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
        - name: useLatestDefinitions
          in: query
          type: boolean
          description: Whether to use the latest workflow and task definitions
    - name: workflow-workflowId-resume
      path: /workflow/{workflowId}/resume
      operations:
      - name: resumeworkflow
        method: PUT
        description: Conductor Resume a Paused Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
    - name: workflow-workflowId-retry
      path: /workflow/{workflowId}/retry
      operations:
      - name: retryworkflow
        method: POST
        description: Conductor Retry a Failed Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
        - name: resumeSubworkflowTasks
          in: query
          type: boolean
          description: Whether to resume subworkflow tasks
    - name: workflow-workflowId-skiptask-taskReferenceName
      path: /workflow/{workflowId}/skiptask/{taskReferenceName}
      operations:
      - name: skiptaskfromworkflow
        method: PUT
        description: Conductor Skip a Task in a Running Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
        - name: taskReferenceName
          in: path
          type: string
          description: The reference name of the task to skip
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: workflow-workflowId-terminate
      path: /workflow/{workflowId}/terminate
      operations:
      - name: terminateworkflow
        method: DELETE
        description: Conductor Terminate a Running Workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          description: The workflow instance ID
          required: true
        - name: reason
          in: query
          type: string
          description: Reason for termination
  exposes:
  - type: rest
    namespace: conductor-workflow-rest
    port: 8080
    description: REST adapter for Conductor API — Workflow. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/workflow
      name: workflow
      description: REST surface for workflow.
      operations:
      - method: POST
        name: startworkflow
        description: Conductor Start a New Workflow
        call: conductor-workflow.startworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/running/{name}
      name: workflow-running-name
      description: REST surface for workflow-running-name.
      operations:
      - method: GET
        name: getrunningworkflows
        description: Conductor Get Running Workflow Instances
        call: conductor-workflow.getrunningworkflows
        with:
          name: rest.name
          version: rest.version
          startTime: rest.startTime
          endTime: rest.endTime
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/search
      name: workflow-search
      description: REST surface for workflow-search.
      operations:
      - method: GET
        name: searchworkflows
        description: Conductor Search for Workflow Executions
        call: conductor-workflow.searchworkflows
        with:
          start: rest.start
          size: rest.size
          sort: rest.sort
          freeText: rest.freeText
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}
      name: workflow-workflowid
      description: REST surface for workflow-workflowId.
      operations:
      - method: GET
        name: getworkflowexecution
        description: Conductor Get Workflow Execution Status
        call: conductor-workflow.getworkflowexecution
        with:
          workflowId: rest.workflowId
          includeTasks: rest.includeTasks
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteworkflowexecution
        description: Conductor Delete a Workflow Execution
        call: conductor-workflow.deleteworkflowexecution
        with:
          workflowId: rest.workflowId
          archiveWorkflow: rest.archiveWorkflow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/pause
      name: workflow-workflowid-pause
      description: REST surface for workflow-workflowId-pause.
      operations:
      - method: PUT
        name: pauseworkflow
        description: Conductor Pause a Running Workflow
        call: conductor-workflow.pauseworkflow
        with:
          workflowId: rest.workflowId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/restart
      name: workflow-workflowid-restart
      description: REST surface for workflow-workflowId-restart.
      operations:
      - method: POST
        name: restartworkflow
        description: Conductor Restart a Completed Workflow
        call: conductor-workflow.restartworkflow
        with:
          workflowId: rest.workflowId
          useLatestDefinitions: rest.useLatestDefinitions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/resume
      name: workflow-workflowid-resume
      description: REST surface for workflow-workflowId-resume.
      operations:
      - method: PUT
        name: resumeworkflow
        description: Conductor Resume a Paused Workflow
        call: conductor-workflow.resumeworkflow
        with:
          workflowId: rest.workflowId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/retry
      name: workflow-workflowid-retry
      description: REST surface for workflow-workflowId-retry.
      operations:
      - method: POST
        name: retryworkflow
        description: Conductor Retry a Failed Workflow
        call: conductor-workflow.retryworkflow
        with:
          workflowId: rest.workflowId
          resumeSubworkflowTasks: rest.resumeSubworkflowTasks
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/skiptask/{taskreferencename}
      name: workflow-workflowid-skiptask-taskreferencename
      description: REST surface for workflow-workflowId-skiptask-taskReferenceName.
      operations:
      - method: PUT
        name: skiptaskfromworkflow
        description: Conductor Skip a Task in a Running Workflow
        call: conductor-workflow.skiptaskfromworkflow
        with:
          workflowId: rest.workflowId
          taskReferenceName: rest.taskReferenceName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/terminate
      name: workflow-workflowid-terminate
      description: REST surface for workflow-workflowId-terminate.
      operations:
      - method: DELETE
        name: terminateworkflow
        description: Conductor Terminate a Running Workflow
        call: conductor-workflow.terminateworkflow
        with:
          workflowId: rest.workflowId
          reason: rest.reason
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: conductor-workflow-mcp
    port: 9090
    transport: http
    description: MCP adapter for Conductor API — Workflow. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: conductor-start-new-workflow
      description: Conductor Start a New Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.startworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-get-running-workflow-instances
      description: Conductor Get Running Workflow Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: conductor-workflow.getrunningworkflows
      with:
        name: tools.name
        version: tools.version
        startTime: tools.startTime
        endTime: tools.endTime
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-search-workflow-executions
      description: Conductor Search for Workflow Executions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: conductor-workflow.searchworkflows
      with:
        start: tools.start
        size: tools.size
        sort: tools.sort
        freeText: tools.freeText
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-get-workflow-execution-status
      description: Conductor Get Workflow Execution Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: conductor-workflow.getworkflowexecution
      with:
        workflowId: tools.workflowId
        includeTasks: tools.includeTasks
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-delete-workflow-execution
      description: Conductor Delete a Workflow Execution
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: conductor-workflow.deleteworkflowexecution
      with:
        workflowId: tools.workflowId
        archiveWorkflow: tools.archiveWorkflow
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-pause-running-workflow
      description: Conductor Pause a Running Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: conductor-workflow.pauseworkflow
      with:
        workflowId: tools.workflowId
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-restart-completed-workflow
      description: Conductor Restart a Completed Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.restartworkflow
      with:
        workflowId: tools.workflowId
        useLatestDefinitions: tools.useLatestDefinitions
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-resume-paused-workflow
      description: Conductor Resume a Paused Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: conductor-workflow.resumeworkflow
      with:
        workflowId: tools.workflowId
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-retry-failed-workflow
      description: Conductor Retry a Failed Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.retryworkflow
      with:
        workflowId: tools.workflowId
        resumeSubworkflowTasks: tools.resumeSubworkflowTasks
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-skip-task-running-workflow
      description: Conductor Skip a Task in a Running Workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: conductor-workflow.skiptaskfromworkflow
      with:
        workflowId: tools.workflowId
        taskReferenceName: tools.taskReferenceName
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: conductor-terminate-running-workflow
      description: Conductor Terminate a Running Workflow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: conductor-workflow.terminateworkflow
      with:
        workflowId: tools.workflowId
        reason: tools.reason
      outputParameters:
      - type: object
        mapping: $.