Netflix Conductor · Capability

Netflix Conductor REST API — Workflow

Netflix Conductor REST API — Workflow. 10 operations. Lead operation: Start a workflow. Self-contained Naftiko capability covering one Netflix Conductor business surface.

Run with Naftiko Netflix ConductorWorkflow

What You Can Do

POST
Startworkflow — Start a workflow
/v1/workflow
GET
Searchworkflows — Search workflows
/v1/workflow/search
GET
Getworkflow — Get workflow execution
/v1/workflow/{workflowid}
DELETE
Terminateworkflow — Terminate a workflow
/v1/workflow/{workflowid}
PUT
Pauseworkflow — Pause a workflow
/v1/workflow/{workflowid}/pause
POST
Rerunworkflow — Rerun a workflow
/v1/workflow/{workflowid}/rerun
POST
Restartworkflow — Restart a workflow
/v1/workflow/{workflowid}/restart
PUT
Resumeworkflow — Resume a workflow
/v1/workflow/{workflowid}/resume
POST
Retryworkflow — Retry a workflow
/v1/workflow/{workflowid}/retry
PUT
Skiptask — Skip a task
/v1/workflow/{workflowid}/skiptask/{taskreferencename}

MCP Tools

start-workflow

Start a workflow

search-workflows

Search workflows

read-only idempotent
get-workflow-execution

Get workflow execution

read-only idempotent
terminate-workflow

Terminate a workflow

idempotent
pause-workflow

Pause a workflow

idempotent
rerun-workflow

Rerun a workflow

restart-workflow

Restart a workflow

resume-workflow

Resume a workflow

idempotent
retry-workflow

Retry a workflow

skip-task

Skip a task

idempotent

Capability Spec

conductor-workflow.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Netflix Conductor REST API — Workflow
  description: 'Netflix Conductor REST API — Workflow. 10 operations. Lead operation: Start a workflow. Self-contained Naftiko
    capability covering one Netflix Conductor business surface.'
  tags:
  - Netflix Conductor
  - Workflow
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NETFLIX_CONDUCTOR_API_KEY: NETFLIX_CONDUCTOR_API_KEY
capability:
  consumes:
  - type: http
    namespace: conductor-workflow
    baseUri: ''
    description: Netflix Conductor REST API — Workflow business capability. Self-contained, no shared references.
    resources:
    - name: workflow
      path: /workflow
      operations:
      - name: startworkflow
        method: POST
        description: Start a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflow-search
      path: /workflow/search
      operations:
      - name: searchworkflows
        method: GET
        description: Search workflows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start
          in: query
          type: integer
        - name: size
          in: query
          type: integer
        - name: sort
          in: query
          type: string
        - name: freeText
          in: query
          type: string
        - name: query
          in: query
          type: string
    - name: workflow-workflowId
      path: /workflow/{workflowId}
      operations:
      - name: getworkflow
        method: GET
        description: Get workflow execution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
        - name: includeTasks
          in: query
          type: boolean
      - name: terminateworkflow
        method: DELETE
        description: Terminate a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
        - name: reason
          in: query
          type: string
    - name: workflow-workflowId-pause
      path: /workflow/{workflowId}/pause
      operations:
      - name: pauseworkflow
        method: PUT
        description: Pause a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
    - name: workflow-workflowId-rerun
      path: /workflow/{workflowId}/rerun
      operations:
      - name: rerunworkflow
        method: POST
        description: Rerun a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: workflow-workflowId-restart
      path: /workflow/{workflowId}/restart
      operations:
      - name: restartworkflow
        method: POST
        description: Restart a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
        - name: useLatestDefinitions
          in: query
          type: boolean
    - name: workflow-workflowId-resume
      path: /workflow/{workflowId}/resume
      operations:
      - name: resumeworkflow
        method: PUT
        description: Resume a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
    - name: workflow-workflowId-retry
      path: /workflow/{workflowId}/retry
      operations:
      - name: retryworkflow
        method: POST
        description: Retry a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
        - name: resumeSubworkflowTasks
          in: query
          type: boolean
    - name: workflow-workflowId-skiptask-taskReferenceName
      path: /workflow/{workflowId}/skiptask/{taskReferenceName}
      operations:
      - name: skiptask
        method: PUT
        description: Skip a task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflowId
          in: path
          type: string
          required: true
        - name: taskReferenceName
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: conductor-workflow-rest
    port: 8080
    description: REST adapter for Netflix Conductor REST 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: Start a workflow
        call: conductor-workflow.startworkflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/search
      name: workflow-search
      description: REST surface for workflow-search.
      operations:
      - method: GET
        name: searchworkflows
        description: Search workflows
        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: getworkflow
        description: Get workflow execution
        call: conductor-workflow.getworkflow
        with:
          workflowId: rest.workflowId
          includeTasks: rest.includeTasks
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: terminateworkflow
        description: Terminate a workflow
        call: conductor-workflow.terminateworkflow
        with:
          workflowId: rest.workflowId
          reason: rest.reason
        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: Pause a workflow
        call: conductor-workflow.pauseworkflow
        with:
          workflowId: rest.workflowId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflow/{workflowid}/rerun
      name: workflow-workflowid-rerun
      description: REST surface for workflow-workflowId-rerun.
      operations:
      - method: POST
        name: rerunworkflow
        description: Rerun a workflow
        call: conductor-workflow.rerunworkflow
        with:
          workflowId: rest.workflowId
          body: rest.body
        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: Restart a 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: Resume a 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: Retry a 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: skiptask
        description: Skip a task
        call: conductor-workflow.skiptask
        with:
          workflowId: rest.workflowId
          taskReferenceName: rest.taskReferenceName
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: conductor-workflow-mcp
    port: 9090
    transport: http
    description: MCP adapter for Netflix Conductor REST API — Workflow. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: start-workflow
      description: Start a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.startworkflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: search-workflows
      description: Search workflows
      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: get-workflow-execution
      description: Get workflow execution
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: conductor-workflow.getworkflow
      with:
        workflowId: tools.workflowId
        includeTasks: tools.includeTasks
      outputParameters:
      - type: object
        mapping: $.
    - name: terminate-workflow
      description: Terminate a workflow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: conductor-workflow.terminateworkflow
      with:
        workflowId: tools.workflowId
        reason: tools.reason
      outputParameters:
      - type: object
        mapping: $.
    - name: pause-workflow
      description: Pause a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: conductor-workflow.pauseworkflow
      with:
        workflowId: tools.workflowId
      outputParameters:
      - type: object
        mapping: $.
    - name: rerun-workflow
      description: Rerun a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.rerunworkflow
      with:
        workflowId: tools.workflowId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: restart-workflow
      description: Restart a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.restartworkflow
      with:
        workflowId: tools.workflowId
        useLatestDefinitions: tools.useLatestDefinitions
      outputParameters:
      - type: object
        mapping: $.
    - name: resume-workflow
      description: Resume a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: conductor-workflow.resumeworkflow
      with:
        workflowId: tools.workflowId
      outputParameters:
      - type: object
        mapping: $.
    - name: retry-workflow
      description: Retry a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: conductor-workflow.retryworkflow
      with:
        workflowId: tools.workflowId
        resumeSubworkflowTasks: tools.resumeSubworkflowTasks
      outputParameters:
      - type: object
        mapping: $.
    - name: skip-task
      description: Skip a task
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: conductor-workflow.skiptask
      with:
        workflowId: tools.workflowId
        taskReferenceName: tools.taskReferenceName
      outputParameters:
      - type: object
        mapping: $.