Windmill · Capability

Windmill API — schedule

Windmill API — schedule. 10 operations. Lead operation: Preview Schedule. Self-contained Naftiko capability covering one Windmill business surface.

Run with Naftiko Windmillschedule

What You Can Do

POST
Previewschedule — Preview Schedule
/v1/schedules/preview
POST
Createschedule — Create Schedule
/v1/w/{workspace}/schedules/create
DELETE
Deleteschedule — Delete Schedule
/v1/w/{workspace}/schedules/delete/{path}
GET
Existsschedule — Does Schedule Exists
/v1/w/{workspace}/schedules/exists/{path}
GET
Getschedule — Get Schedule
/v1/w/{workspace}/schedules/get/{path}
GET
Listschedules — List Schedules
/v1/w/{workspace}/schedules/list
GET
Listscheduleswithjobs — List Schedules with Last 20 Jobs
/v1/w/{workspace}/schedules/list-with-jobs
POST
Setdefaulterrororrecoveryhandler — Set Default Error or Recoevery Handler
/v1/w/{workspace}/schedules/setdefaulthandler
POST
Setscheduleenabled — Set Enabled Schedule
/v1/w/{workspace}/schedules/setenabled/{path}
POST
Updateschedule — Update Schedule
/v1/w/{workspace}/schedules/update/{path}

MCP Tools

preview-schedule

Preview Schedule

create-schedule

Create Schedule

delete-schedule

Delete Schedule

idempotent
does-schedule-exists

Does Schedule Exists

read-only idempotent
get-schedule

Get Schedule

read-only idempotent
list-schedules

List Schedules

read-only idempotent
list-schedules-last-20-jobs

List Schedules with Last 20 Jobs

read-only idempotent
set-default-error-recoevery-handler

Set Default Error or Recoevery Handler

set-enabled-schedule

Set Enabled Schedule

update-schedule

Update Schedule

Capability Spec

windmill-schedule.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Windmill API — schedule
  description: 'Windmill API — schedule. 10 operations. Lead operation: Preview Schedule. Self-contained Naftiko capability
    covering one Windmill business surface.'
  tags:
  - Windmill
  - schedule
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WINDMILL_API_KEY: WINDMILL_API_KEY
capability:
  consumes:
  - type: http
    namespace: windmill-schedule
    baseUri: ''
    description: Windmill API — schedule business capability. Self-contained, no shared references.
    resources:
    - name: schedules-preview
      path: /schedules/preview
      operations:
      - name: previewschedule
        method: POST
        description: Preview Schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-schedules-create
      path: /w/{workspace}/schedules/create
      operations:
      - name: createschedule
        method: POST
        description: Create Schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-schedules-delete-path
      path: /w/{workspace}/schedules/delete/{path}
      operations:
      - name: deleteschedule
        method: DELETE
        description: Delete Schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-schedules-exists-path
      path: /w/{workspace}/schedules/exists/{path}
      operations:
      - name: existsschedule
        method: GET
        description: Does Schedule Exists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-schedules-get-path
      path: /w/{workspace}/schedules/get/{path}
      operations:
      - name: getschedule
        method: GET
        description: Get Schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-schedules-list
      path: /w/{workspace}/schedules/list
      operations:
      - name: listschedules
        method: GET
        description: List Schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: filter by path (script path)
        - name: is_flow
          in: query
          type: boolean
          description: filter schedules by whether they target a flow
        - name: path_start
          in: query
          type: string
          description: filter schedules by path prefix
        - name: schedule_path
          in: query
          type: string
          description: exact match on the schedule's path
        - name: description
          in: query
          type: string
          description: pattern match filter for description field (case-insensitive)
        - name: summary
          in: query
          type: string
          description: pattern match filter for summary field (case-insensitive)
        - name: broad_filter
          in: query
          type: string
          description: broad search across multiple fields (case-insensitive substring match)
        - name: label
          in: query
          type: string
          description: Filter by label
    - name: w-workspace-schedules-list_with_jobs
      path: /w/{workspace}/schedules/list_with_jobs
      operations:
      - name: listscheduleswithjobs
        method: GET
        description: List Schedules with Last 20 Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-schedules-setdefaulthandler
      path: /w/{workspace}/schedules/setdefaulthandler
      operations:
      - name: setdefaulterrororrecoveryhandler
        method: POST
        description: Set Default Error or Recoevery Handler
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-schedules-setenabled-path
      path: /w/{workspace}/schedules/setenabled/{path}
      operations:
      - name: setscheduleenabled
        method: POST
        description: Set Enabled Schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-schedules-update-path
      path: /w/{workspace}/schedules/update/{path}
      operations:
      - name: updateschedule
        method: POST
        description: Update Schedule
        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.WINDMILL_API_KEY}}'
  exposes:
  - type: rest
    namespace: windmill-schedule-rest
    port: 8080
    description: REST adapter for Windmill API — schedule. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/schedules/preview
      name: schedules-preview
      description: REST surface for schedules-preview.
      operations:
      - method: POST
        name: previewschedule
        description: Preview Schedule
        call: windmill-schedule.previewschedule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/create
      name: w-workspace-schedules-create
      description: REST surface for w-workspace-schedules-create.
      operations:
      - method: POST
        name: createschedule
        description: Create Schedule
        call: windmill-schedule.createschedule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/delete/{path}
      name: w-workspace-schedules-delete-path
      description: REST surface for w-workspace-schedules-delete-path.
      operations:
      - method: DELETE
        name: deleteschedule
        description: Delete Schedule
        call: windmill-schedule.deleteschedule
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/exists/{path}
      name: w-workspace-schedules-exists-path
      description: REST surface for w-workspace-schedules-exists-path.
      operations:
      - method: GET
        name: existsschedule
        description: Does Schedule Exists
        call: windmill-schedule.existsschedule
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/get/{path}
      name: w-workspace-schedules-get-path
      description: REST surface for w-workspace-schedules-get-path.
      operations:
      - method: GET
        name: getschedule
        description: Get Schedule
        call: windmill-schedule.getschedule
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/list
      name: w-workspace-schedules-list
      description: REST surface for w-workspace-schedules-list.
      operations:
      - method: GET
        name: listschedules
        description: List Schedules
        call: windmill-schedule.listschedules
        with:
          path: rest.path
          is_flow: rest.is_flow
          path_start: rest.path_start
          schedule_path: rest.schedule_path
          description: rest.description
          summary: rest.summary
          broad_filter: rest.broad_filter
          label: rest.label
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/list-with-jobs
      name: w-workspace-schedules-list-with-jobs
      description: REST surface for w-workspace-schedules-list_with_jobs.
      operations:
      - method: GET
        name: listscheduleswithjobs
        description: List Schedules with Last 20 Jobs
        call: windmill-schedule.listscheduleswithjobs
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/setdefaulthandler
      name: w-workspace-schedules-setdefaulthandler
      description: REST surface for w-workspace-schedules-setdefaulthandler.
      operations:
      - method: POST
        name: setdefaulterrororrecoveryhandler
        description: Set Default Error or Recoevery Handler
        call: windmill-schedule.setdefaulterrororrecoveryhandler
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/setenabled/{path}
      name: w-workspace-schedules-setenabled-path
      description: REST surface for w-workspace-schedules-setenabled-path.
      operations:
      - method: POST
        name: setscheduleenabled
        description: Set Enabled Schedule
        call: windmill-schedule.setscheduleenabled
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/schedules/update/{path}
      name: w-workspace-schedules-update-path
      description: REST surface for w-workspace-schedules-update-path.
      operations:
      - method: POST
        name: updateschedule
        description: Update Schedule
        call: windmill-schedule.updateschedule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: windmill-schedule-mcp
    port: 9090
    transport: http
    description: MCP adapter for Windmill API — schedule. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: preview-schedule
      description: Preview Schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: windmill-schedule.previewschedule
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-schedule
      description: Create Schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: windmill-schedule.createschedule
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-schedule
      description: Delete Schedule
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: windmill-schedule.deleteschedule
      outputParameters:
      - type: object
        mapping: $.
    - name: does-schedule-exists
      description: Does Schedule Exists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-schedule.existsschedule
      outputParameters:
      - type: object
        mapping: $.
    - name: get-schedule
      description: Get Schedule
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-schedule.getschedule
      outputParameters:
      - type: object
        mapping: $.
    - name: list-schedules
      description: List Schedules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-schedule.listschedules
      with:
        path: tools.path
        is_flow: tools.is_flow
        path_start: tools.path_start
        schedule_path: tools.schedule_path
        description: tools.description
        summary: tools.summary
        broad_filter: tools.broad_filter
        label: tools.label
      outputParameters:
      - type: object
        mapping: $.
    - name: list-schedules-last-20-jobs
      description: List Schedules with Last 20 Jobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: windmill-schedule.listscheduleswithjobs
      outputParameters:
      - type: object
        mapping: $.
    - name: set-default-error-recoevery-handler
      description: Set Default Error or Recoevery Handler
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: windmill-schedule.setdefaulterrororrecoveryhandler
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-enabled-schedule
      description: Set Enabled Schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: windmill-schedule.setscheduleenabled
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-schedule
      description: Update Schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: windmill-schedule.updateschedule
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.