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: $.