Windmill · Capability

Windmill API — job

Windmill API — job. 86 operations. Lead operation: Count Jobs by Tag. Self-contained Naftiko capability covering one Windmill business surface.

Run with Naftiko Windmilljob

What You Can Do

GET
Countjobsbytag — Count Jobs by Tag
/v1/jobs/completed/count-by-tag
GET
Getdbclock — Get Db Clock
/v1/jobs/db-clock
GET
Listextendedjobs — Get Intervals of Job Runtime Concurrency
/v1/w/{workspace}/concurrency-groups/list-jobs
GET
Getcompletedcount — Get Completed Count
/v1/w/{workspace}/jobs/completed/count
GET
Countcompletedjobs — Count Number of Completed Jobs with Filter
/v1/w/{workspace}/jobs/completed/count-jobs
POST
Deletecompletedjob — Delete Completed Job (erase Content but Keep Run Id)
/v1/w/{workspace}/jobs/completed/delete/{id}
GET
Exportcompletedjobs — Export All Completed Jobs for Backup/migration
/v1/w/{workspace}/jobs/completed/export
POST
Importcompletedjobs — Import Completed Jobs from Backup/migration
/v1/w/{workspace}/jobs/completed/import
GET
Listcompletedjobs — List All Completed Jobs
/v1/w/{workspace}/jobs/completed/list
POST
Deletejobs — Delete Jobs by IDs from All Related Tables
/v1/w/{workspace}/jobs/delete
POST
Resumesuspendedflowasowner — Resume a Job for a Suspended Flow as an Owner
/v1/w/{workspace}/jobs/flow/resume/{id}
POST
Setflowuserstate — Set Flow User State at a Given Key
/v1/w/{workspace}/jobs/flow/user-states/{id}/{key}
GET
Getflowuserstate — Get Flow User State at a Given Key
/v1/w/{workspace}/jobs/flow/user-states/{id}/{key}
GET
Getjoboteltraces — Get OpenTelemetry Traces for a Job
/v1/w/{workspace}/jobs/get-otel-traces/{id}
GET
Createjobsignature — Create an HMac Signature Given a Job Id and a Resume Id
/v1/w/{workspace}/jobs/job-signature/{id}/{resume-id}
GET
Listjobs — List All Jobs
/v1/w/{workspace}/jobs/list
GET
Listfilteredjobsuuids — Get the Ids of All Jobs Matching the Given Filters
/v1/w/{workspace}/jobs/list-filtered-uuids
POST
Listselectedjobgroups — List Selected Jobs Script/flow Schemas Grouped by (kind, Path)
/v1/w/{workspace}/jobs/list-selected-job-groups
POST
Cancelselection — Cancel Jobs Based on the Given Uuids
/v1/w/{workspace}/jobs/queue/cancel-selection
GET
Getqueuecount — Get Queue Count
/v1/w/{workspace}/jobs/queue/count
GET
Exportqueuedjobs — Export All Queued Jobs for Backup/migration
/v1/w/{workspace}/jobs/queue/export
POST
Importqueuedjobs — Import Queued Jobs from Backup/migration
/v1/w/{workspace}/jobs/queue/import
GET
Listqueue — List All Queued Jobs
/v1/w/{workspace}/jobs/queue/list
GET
Listfilteredqueueuuids — Get the Ids of All Queued Jobs Matching the Given Filters
/v1/w/{workspace}/jobs/queue/list-filtered-uuids
GET
Getqueueposition — Get Queue Position for a Job
/v1/w/{workspace}/jobs/queue/position/{scheduled-for}
GET
Getscheduledfor — Get Scheduled for Timestamp for a Job
/v1/w/{workspace}/jobs/queue/scheduled-for/{id}
POST
Restartflowatstep — Restart a Completed Flow at a Given Step
/v1/w/{workspace}/jobs/restart/f/{id}
GET
Resultbyid — Get Job Result by Id
/v1/w/{workspace}/jobs/result-by-id/{flow-job-id}/{node-id}
GET
Getresumeurls — Get Resume Urls Given a Job_id, Resume_id and a Nonce to Resume a Flow
/v1/w/{workspace}/jobs/resume-urls/{id}/{resume-id}
POST
Batchrerunjobs — Re-run Multiple Jobs
/v1/w/{workspace}/jobs/run/batch-rerun-jobs
POST
Runrawscriptdependencies — Run a One-off Dependencies Job
/v1/w/{workspace}/jobs/run/dependencies
POST
Runrawscriptdependenciesasync — Queue a One-off Dependencies Job and Return the Job Uuid
/v1/w/{workspace}/jobs/run/dependencies-async
POST
Rundynamicselect — Run Dynamic Select Helper Function
/v1/w/{workspace}/jobs/run/dynamic-select
POST
Runflowbypath — Run Flow by Path
/v1/w/{workspace}/jobs/run/f/{path}
POST
Runflowdependenciesasync — Queue a One-off Flow Dependencies Job and Return the Job Uuid
/v1/w/{workspace}/jobs/run/flow-dependencies-async
POST
Runflowbyversion — Run Flow by Version
/v1/w/{workspace}/jobs/run/fv/{version}
POST
Runscriptbyhash — Run Script by Hash
/v1/w/{workspace}/jobs/run/h/{hash}
POST
Runscriptbypath — Run Script by Path
/v1/w/{workspace}/jobs/run/p/{path}
POST
Runscriptpreview — Run Script Preview
/v1/w/{workspace}/jobs/run/preview
POST
Runflowpreview — Run Flow Preview
/v1/w/{workspace}/jobs/run/preview-flow
POST
Runandstreamflowbypath — Run Flow by Path and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/f/{path}
GET
Runandstreamflowbypathget — Run Flow by Path with GET and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/f/{path}
POST
Runandstreamflowbyversion — Run Flow by Version and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/fv/{version}
GET
Runandstreamflowbyversionget — Run Flow by Version with GET and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/fv/{version}
POST
Runandstreamscriptbyhash — Run Script by Hash and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/h/{hash}
GET
Runandstreamscriptbyhashget — Run Script by Hash with GET and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/h/{hash}
POST
Runandstreamscriptbypath — Run Script by Path and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/p/{path}
GET
Runandstreamscriptbypathget — Run Script by Path with GET and Stream Updates via SSE
/v1/w/{workspace}/jobs/run-and-stream/p/{path}
POST
Runscriptbyhashinline — Run Script by Hash Without Starting a New Job
/v1/w/{workspace}/jobs/run-inline/h/{hash}
POST
Runscriptbypathinline — Run Script by Path Without Starting a New Job
/v1/w/{workspace}/jobs/run-inline/p/{path}
POST
Runscriptpreviewinline — Run Script Preview Without Starting a New Job
/v1/w/{workspace}/jobs/run-inline/preview
POST
Runwaitresultflowbypath — Run Flow by Path and Wait Until Completion
/v1/w/{workspace}/jobs/run-wait-result/f/{path}
POST
Runwaitresultflowbyversion — Run Flow by Version and Wait Until Completion
/v1/w/{workspace}/jobs/run-wait-result/fv/{version}
GET
Runwaitresultflowbyversionget — Run Flow by Version with GET and Wait Until Completion
/v1/w/{workspace}/jobs/run-wait-result/fv/{version}
POST
Runwaitresultscriptbypath — Run Script by Path
/v1/w/{workspace}/jobs/run-wait-result/p/{path}
GET
Runwaitresultscriptbypathget — Run Script by Path with Get
/v1/w/{workspace}/jobs/run-wait-result/p/{path}
POST
Runscriptpreviewandwaitresult — Run Script Preview and Wait for Result
/v1/w/{workspace}/jobs/run-wait-result/preview
POST
Runflowpreviewandwaitresult — Run Flow Preview and Wait for Result
/v1/w/{workspace}/jobs/run-wait-result/preview-flow
GET
Getslackapprovalpayload — Generate Interactive Slack Approval for Suspended Job
/v1/w/{workspace}/jobs/slack-approval/{id}
GET
Getteamsapprovalpayload — Generate Interactive Teams Approval for Suspended Job
/v1/w/{workspace}/jobs/teams-approval/{id}
POST
Runcodeworkflowtask — Run Code-workflow Task
/v1/w/{workspace}/jobs/workflow-as-code/{job-id}/{entrypoint}
GET
Cancelsuspendedjobget — Cancel a Job for a Suspended Flow
/v1/w/{workspace}/jobs-u/cancel/{id}/{resume-id}/{signature}
POST
Cancelsuspendedjobpost — Cancel a Job for a Suspended Flow
/v1/w/{workspace}/jobs-u/cancel/{id}/{resume-id}/{signature}
GET
Getcompletedjob — Get Completed Job
/v1/w/{workspace}/jobs-u/completed/get/{id}
GET
Getcompletedjobresult — Get Completed Job Result
/v1/w/{workspace}/jobs-u/completed/get-result/{id}
GET
Getcompletedjobresultmaybe — Get Completed Job Result if Job is Completed
/v1/w/{workspace}/jobs-u/completed/get-result-maybe/{id}
GET
Getcompletedjobtiming — Get Completed Job Timing
/v1/w/{workspace}/jobs-u/completed/get-timing/{id}
GET
Getapprovalinfo — Get Approval Info for a Suspended Flow/WAC Job
/v1/w/{workspace}/jobs-u/flow/approval-info/{job-id}
POST
Resumesuspended — Resume or Cancel a Suspended Flow/WAC Job
/v1/w/{workspace}/jobs-u/flow/resume-suspended/{job-id}
GET
Getjob — Get Job
/v1/w/{workspace}/jobs-u/get/{id}
GET
Getjobargs — Get Job Args
/v1/w/{workspace}/jobs-u/get-args/{id}
GET
Getcompletedjoblogstail — Get Completed Job Logs Tail
/v1/w/{workspace}/jobs-u/get-completed-logs-tail/{id}
GET
Getsuspendedjobflow — Get Parent Flow Job of Suspended Job
/v1/w/{workspace}/jobs-u/get-flow/{id}/{resume-id}/{signature}
GET
Getflowalllogs — Get All Logs for a Flow Job
/v1/w/{workspace}/jobs-u/get-flow-all-logs/{id}
GET
Getflowdebuginfo — Get Flow Debug Info
/v1/w/{workspace}/jobs-u/get-flow-debug-info/{id}
GET
Getlogfilefromstore — Get Log File from Object Store
/v1/w/{workspace}/jobs-u/get-log-file/{path}
GET
Getjoblogs — Get Job Logs
/v1/w/{workspace}/jobs-u/get-logs/{id}
GET
Getrootjobid — Get Root Job Id
/v1/w/{workspace}/jobs-u/get-root-job-id/{id}
GET
Getjobupdates — Get Job Updates
/v1/w/{workspace}/jobs-u/getupdate/{id}
GET
Getjobupdatessse — Get Job Updates via Server-sent Events
/v1/w/{workspace}/jobs-u/getupdate-sse/{id}
POST
Cancelqueuedjob — Cancel Queued or Running Job
/v1/w/{workspace}/jobs-u/queue/cancel/{id}
POST
Cancelpersistentqueuedjobs — Cancel All Queued Jobs for Persistent Script
/v1/w/{workspace}/jobs-u/queue/cancel-persistent/{path}
POST
Forcecancelqueuedjob — Force Cancel Queued Job
/v1/w/{workspace}/jobs-u/queue/force-cancel/{id}
POST
Getstartedatbyids — Get Started at by Ids
/v1/w/{workspace}/jobs-u/queue/get-started-at-by-ids
GET
Resumesuspendedjobget — Resume a Job for a Suspended Flow
/v1/w/{workspace}/jobs-u/resume/{id}/{resume-id}/{signature}
POST
Resumesuspendedjobpost — Resume a Job for a Suspended Flow
/v1/w/{workspace}/jobs-u/resume/{id}/{resume-id}/{signature}

MCP Tools

count-jobs-tag

Count Jobs by Tag

read-only idempotent
get-db-clock

Get Db Clock

read-only idempotent
get-intervals-job-runtime-concurrency

Get Intervals of Job Runtime Concurrency

read-only idempotent
get-completed-count

Get Completed Count

read-only idempotent
count-number-completed-jobs-filter

Count Number of Completed Jobs with Filter

read-only idempotent
delete-completed-job-erase-content

Delete Completed Job (erase Content but Keep Run Id)

export-all-completed-jobs-backup

Export All Completed Jobs for Backup/migration

read-only idempotent
import-completed-jobs-backup-migration

Import Completed Jobs from Backup/migration

list-all-completed-jobs

List All Completed Jobs

read-only idempotent
delete-jobs-ids-all-related

Delete Jobs by IDs from All Related Tables

resume-job-suspended-flow-owner

Resume a Job for a Suspended Flow as an Owner

set-flow-user-state-given

Set Flow User State at a Given Key

get-flow-user-state-given

Get Flow User State at a Given Key

read-only idempotent
get-opentelemetry-traces-job

Get OpenTelemetry Traces for a Job

read-only idempotent
create-hmac-signature-given-job

Create an HMac Signature Given a Job Id and a Resume Id

read-only idempotent
list-all-jobs

List All Jobs

read-only idempotent
get-ids-all-jobs-matching

Get the Ids of All Jobs Matching the Given Filters

read-only idempotent
list-selected-jobs-script-flow

List Selected Jobs Script/flow Schemas Grouped by (kind, Path)

read-only
cancel-jobs-based-given-uuids

Cancel Jobs Based on the Given Uuids

get-queue-count

Get Queue Count

read-only idempotent
export-all-queued-jobs-backup

Export All Queued Jobs for Backup/migration

read-only idempotent
import-queued-jobs-backup-migration

Import Queued Jobs from Backup/migration

list-all-queued-jobs

List All Queued Jobs

read-only idempotent
get-ids-all-queued-jobs

Get the Ids of All Queued Jobs Matching the Given Filters

read-only idempotent
get-queue-position-job

Get Queue Position for a Job

read-only idempotent
get-scheduled-timestamp-job

Get Scheduled for Timestamp for a Job

read-only idempotent
restart-completed-flow-given-step

Restart a Completed Flow at a Given Step

get-job-result-id

Get Job Result by Id

read-only idempotent
get-resume-urls-given-job

Get Resume Urls Given a Job_id, Resume_id and a Nonce to Resume a Flow

read-only idempotent
re-run-multiple-jobs

Re-run Multiple Jobs

run-one-off-dependencies-job

Run a One-off Dependencies Job

queue-one-off-dependencies-job

Queue a One-off Dependencies Job and Return the Job Uuid

run-dynamic-select-helper-function

Run Dynamic Select Helper Function

run-flow-path

Run Flow by Path

queue-one-off-flow-dependencies

Queue a One-off Flow Dependencies Job and Return the Job Uuid

run-flow-version

Run Flow by Version

run-script-hash

Run Script by Hash

run-script-path

Run Script by Path

run-script-preview

Run Script Preview

run-flow-preview

Run Flow Preview

run-flow-path-and-stream

Run Flow by Path and Stream Updates via SSE

run-flow-path-get-and

Run Flow by Path with GET and Stream Updates via SSE

read-only idempotent
run-flow-version-and-stream

Run Flow by Version and Stream Updates via SSE

run-flow-version-get-and

Run Flow by Version with GET and Stream Updates via SSE

read-only idempotent
run-script-hash-and-stream

Run Script by Hash and Stream Updates via SSE

run-script-hash-get-and

Run Script by Hash with GET and Stream Updates via SSE

read-only idempotent
run-script-path-and-stream

Run Script by Path and Stream Updates via SSE

run-script-path-get-and

Run Script by Path with GET and Stream Updates via SSE

read-only idempotent
run-script-hash-without-starting

Run Script by Hash Without Starting a New Job

run-script-path-without-starting

Run Script by Path Without Starting a New Job

run-script-preview-without-starting

Run Script Preview Without Starting a New Job

run-flow-path-and-wait

Run Flow by Path and Wait Until Completion

run-flow-version-and-wait

Run Flow by Version and Wait Until Completion

run-flow-version-get-and-2

Run Flow by Version with GET and Wait Until Completion

read-only idempotent
run-script-path-2

Run Script by Path

run-script-path-get

Run Script by Path with Get

read-only idempotent
run-script-preview-and-wait

Run Script Preview and Wait for Result

run-flow-preview-and-wait

Run Flow Preview and Wait for Result

generate-interactive-slack-approval-suspended

Generate Interactive Slack Approval for Suspended Job

read-only idempotent
generate-interactive-teams-approval-suspended

Generate Interactive Teams Approval for Suspended Job

read-only idempotent
run-code-workflow-task

Run Code-workflow Task

cancel-job-suspended-flow

Cancel a Job for a Suspended Flow

read-only idempotent
cancel-job-suspended-flow-2

Cancel a Job for a Suspended Flow

get-completed-job

Get Completed Job

read-only idempotent
get-completed-job-result

Get Completed Job Result

read-only idempotent
get-completed-job-result-if

Get Completed Job Result if Job is Completed

read-only idempotent
get-completed-job-timing

Get Completed Job Timing

read-only idempotent
get-approval-info-suspended-flow

Get Approval Info for a Suspended Flow/WAC Job

read-only idempotent
resume-cancel-suspended-flow-wac

Resume or Cancel a Suspended Flow/WAC Job

get-job

Get Job

read-only idempotent
get-job-args

Get Job Args

read-only idempotent
get-completed-job-logs-tail

Get Completed Job Logs Tail

read-only idempotent
get-parent-flow-job-suspended

Get Parent Flow Job of Suspended Job

read-only idempotent
get-all-logs-flow-job

Get All Logs for a Flow Job

read-only idempotent
get-flow-debug-info

Get Flow Debug Info

read-only idempotent
get-log-file-object-store

Get Log File from Object Store

read-only idempotent
get-job-logs

Get Job Logs

read-only idempotent
get-root-job-id

Get Root Job Id

read-only idempotent
get-job-updates

Get Job Updates

read-only idempotent
get-job-updates-server-sent

Get Job Updates via Server-sent Events

read-only idempotent
cancel-queued-running-job

Cancel Queued or Running Job

cancel-all-queued-jobs-persistent

Cancel All Queued Jobs for Persistent Script

force-cancel-queued-job

Force Cancel Queued Job

get-started-ids

Get Started at by Ids

read-only
resume-job-suspended-flow

Resume a Job for a Suspended Flow

read-only idempotent
resume-job-suspended-flow-2

Resume a Job for a Suspended Flow

Capability Spec

windmill-job.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Windmill API — job
  description: 'Windmill API — job. 86 operations. Lead operation: Count Jobs by Tag. Self-contained Naftiko capability covering
    one Windmill business surface.'
  tags:
  - Windmill
  - job
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WINDMILL_API_KEY: WINDMILL_API_KEY
capability:
  consumes:
  - type: http
    namespace: windmill-job
    baseUri: ''
    description: Windmill API — job business capability. Self-contained, no shared references.
    resources:
    - name: jobs-completed-count_by_tag
      path: /jobs/completed/count_by_tag
      operations:
      - name: countjobsbytag
        method: GET
        description: Count Jobs by Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: horizon_secs
          in: query
          type: integer
          description: Past Time horizon in seconds (when to start the count = now - horizon) (default is 3600)
        - name: workspace_id
          in: query
          type: string
          description: Specific workspace ID to filter results (optional)
    - name: jobs-db_clock
      path: /jobs/db_clock
      operations:
      - name: getdbclock
        method: GET
        description: Get Db Clock
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-concurrency_groups-list_jobs
      path: /w/{workspace}/concurrency_groups/list_jobs
      operations:
      - name: listextendedjobs
        method: GET
        description: Get Intervals of Job Runtime Concurrency
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: concurrency_key
          in: query
          type: string
        - name: row_limit
          in: query
          type: number
        - name: is_skipped
          in: query
          type: boolean
          description: is the job skipped
        - name: is_flow_step
          in: query
          type: boolean
          description: is the job a flow step
        - name: has_null_parent
          in: query
          type: boolean
          description: has null parent
        - name: success
          in: query
          type: boolean
          description: filter on successful jobs
        - name: all_workspaces
          in: query
          type: boolean
          description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
        - name: is_not_schedule
          in: query
          type: boolean
          description: is not a scheduled job
    - name: w-workspace-jobs-completed-count
      path: /w/{workspace}/jobs/completed/count
      operations:
      - name: getcompletedcount
        method: GET
        description: Get Completed Count
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-jobs-completed-count_jobs
      path: /w/{workspace}/jobs/completed/count_jobs
      operations:
      - name: countcompletedjobs
        method: GET
        description: Count Number of Completed Jobs with Filter
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: completed_after_s_ago
          in: query
          type: integer
        - name: success
          in: query
          type: boolean
        - name: tags
          in: query
          type: string
        - name: all_workspaces
          in: query
          type: boolean
    - name: w-workspace-jobs-completed-delete-id
      path: /w/{workspace}/jobs/completed/delete/{id}
      operations:
      - name: deletecompletedjob
        method: POST
        description: Delete Completed Job (erase Content but Keep Run Id)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-jobs-completed-export
      path: /w/{workspace}/jobs/completed/export
      operations:
      - name: exportcompletedjobs
        method: GET
        description: Export All Completed Jobs for Backup/migration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-jobs-completed-import
      path: /w/{workspace}/jobs/completed/import
      operations:
      - name: importcompletedjobs
        method: POST
        description: Import Completed Jobs from Backup/migration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-completed-list
      path: /w/{workspace}/jobs/completed/list
      operations:
      - name: listcompletedjobs
        method: GET
        description: List All Completed Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: is_skipped
          in: query
          type: boolean
          description: is the job skipped
        - name: is_flow_step
          in: query
          type: boolean
          description: is the job a flow step
        - name: has_null_parent
          in: query
          type: boolean
          description: has null parent
        - name: is_not_schedule
          in: query
          type: boolean
          description: is not a scheduled job
    - name: w-workspace-jobs-delete
      path: /w/{workspace}/jobs/delete
      operations:
      - name: deletejobs
        method: POST
        description: Delete Jobs by IDs from All Related Tables
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-flow-resume-id
      path: /w/{workspace}/jobs/flow/resume/{id}
      operations:
      - name: resumesuspendedflowasowner
        method: POST
        description: Resume a Job for a Suspended Flow as an Owner
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-flow-user_states-id-key
      path: /w/{workspace}/jobs/flow/user_states/{id}/{key}
      operations:
      - name: setflowuserstate
        method: POST
        description: Set Flow User State at a Given Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: getflowuserstate
        method: GET
        description: Get Flow User State at a Given Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
    - name: w-workspace-jobs-get_otel_traces-id
      path: /w/{workspace}/jobs/get_otel_traces/{id}
      operations:
      - name: getjoboteltraces
        method: GET
        description: Get OpenTelemetry Traces for a Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-jobs-job_signature-id-resume_id
      path: /w/{workspace}/jobs/job_signature/{id}/{resume_id}
      operations:
      - name: createjobsignature
        method: GET
        description: Create an HMac Signature Given a Job Id and a Resume Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: resume_id
          in: path
          type: integer
          required: true
        - name: approver
          in: query
          type: string
    - name: w-workspace-jobs-list
      path: /w/{workspace}/jobs/list
      operations:
      - name: listjobs
        method: GET
        description: List All Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: is_skipped
          in: query
          type: boolean
          description: is the job skipped
        - name: is_flow_step
          in: query
          type: boolean
          description: is the job a flow step
        - name: has_null_parent
          in: query
          type: boolean
          description: has null parent
        - name: success
          in: query
          type: boolean
          description: filter on successful jobs
        - name: all_workspaces
          in: query
          type: boolean
          description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
        - name: is_not_schedule
          in: query
          type: boolean
          description: is not a scheduled job
        - name: broad_filter
          in: query
          type: string
          description: broad search across multiple fields (case-insensitive substring match on path, tag, schedule path,
            trigger kind, label)
    - name: w-workspace-jobs-list_filtered_uuids
      path: /w/{workspace}/jobs/list_filtered_uuids
      operations:
      - name: listfilteredjobsuuids
        method: GET
        description: Get the Ids of All Jobs Matching the Given Filters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: is_skipped
          in: query
          type: boolean
          description: is the job skipped
        - name: is_flow_step
          in: query
          type: boolean
          description: is the job a flow step
        - name: has_null_parent
          in: query
          type: boolean
          description: has null parent
        - name: success
          in: query
          type: boolean
          description: filter on successful jobs
        - name: all_workspaces
          in: query
          type: boolean
          description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
        - name: is_not_schedule
          in: query
          type: boolean
          description: is not a scheduled job
    - name: w-workspace-jobs-list_selected_job_groups
      path: /w/{workspace}/jobs/list_selected_job_groups
      operations:
      - name: listselectedjobgroups
        method: POST
        description: List Selected Jobs Script/flow Schemas Grouped by (kind, Path)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-queue-cancel_selection
      path: /w/{workspace}/jobs/queue/cancel_selection
      operations:
      - name: cancelselection
        method: POST
        description: Cancel Jobs Based on the Given Uuids
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: force_cancel
          in: query
          type: boolean
        - name: all_workspaces
          in: query
          type: boolean
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-queue-count
      path: /w/{workspace}/jobs/queue/count
      operations:
      - name: getqueuecount
        method: GET
        description: Get Queue Count
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: all_workspaces
          in: query
          type: boolean
          description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
    - name: w-workspace-jobs-queue-export
      path: /w/{workspace}/jobs/queue/export
      operations:
      - name: exportqueuedjobs
        method: GET
        description: Export All Queued Jobs for Backup/migration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-jobs-queue-import
      path: /w/{workspace}/jobs/queue/import
      operations:
      - name: importqueuedjobs
        method: POST
        description: Import Queued Jobs from Backup/migration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-queue-list
      path: /w/{workspace}/jobs/queue/list
      operations:
      - name: listqueue
        method: GET
        description: List All Queued Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: all_workspaces
          in: query
          type: boolean
          description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
        - name: is_not_schedule
          in: query
          type: boolean
          description: is not a scheduled job
    - name: w-workspace-jobs-queue-list_filtered_uuids
      path: /w/{workspace}/jobs/queue/list_filtered_uuids
      operations:
      - name: listfilteredqueueuuids
        method: GET
        description: Get the Ids of All Queued Jobs Matching the Given Filters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: concurrency_key
          in: query
          type: string
        - name: all_workspaces
          in: query
          type: boolean
          description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
        - name: is_not_schedule
          in: query
          type: boolean
          description: is not a scheduled job
    - name: w-workspace-jobs-queue-position-scheduled_for
      path: /w/{workspace}/jobs/queue/position/{scheduled_for}
      operations:
      - name: getqueueposition
        method: GET
        description: Get Queue Position for a Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scheduled_for
          in: path
          type: integer
          required: true
    - name: w-workspace-jobs-queue-scheduled_for-id
      path: /w/{workspace}/jobs/queue/scheduled_for/{id}
      operations:
      - name: getscheduledfor
        method: GET
        description: Get Scheduled for Timestamp for a Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-jobs-restart-f-id
      path: /w/{workspace}/jobs/restart/f/{id}
      operations:
      - name: restartflowatstep
        method: POST
        description: Restart a Completed Flow at a Given Step
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scheduled_for
          in: query
          type: string
          description: when to schedule this job (leave empty for immediate run)
        - name: scheduled_in_secs
          in: query
          type: integer
          description: schedule the script to execute in the number of seconds starting now
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the flow owner (default false)
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-result_by_id-flow_job_id-node_id
      path: /w/{workspace}/jobs/result_by_id/{flow_job_id}/{node_id}
      operations:
      - name: resultbyid
        method: GET
        description: Get Job Result by Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: flow_job_id
          in: path
          type: string
          required: true
        - name: node_id
          in: path
          type: string
          required: true
    - name: w-workspace-jobs-resume_urls-id-resume_id
      path: /w/{workspace}/jobs/resume_urls/{id}/{resume_id}
      operations:
      - name: getresumeurls
        method: GET
        description: Get Resume Urls Given a Job_id, Resume_id and a Nonce to Resume a Flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: resume_id
          in: path
          type: integer
          required: true
        - name: approver
          in: query
          type: string
        - name: flow_level
          in: query
          type: boolean
          description: 'If true, generate resume URLs for the parent flow instead of the specific step. This allows pre-approvals
            that can be consumed by any later suspend step in the '
    - name: w-workspace-jobs-run-batch_rerun_jobs
      path: /w/{workspace}/jobs/run/batch_rerun_jobs
      operations:
      - name: batchrerunjobs
        method: POST
        description: Re-run Multiple Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-dependencies
      path: /w/{workspace}/jobs/run/dependencies
      operations:
      - name: runrawscriptdependencies
        method: POST
        description: Run a One-off Dependencies Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-dependencies_async
      path: /w/{workspace}/jobs/run/dependencies_async
      operations:
      - name: runrawscriptdependenciesasync
        method: POST
        description: Queue a One-off Dependencies Job and Return the Job Uuid
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-dynamic_select
      path: /w/{workspace}/jobs/run/dynamic_select
      operations:
      - name: rundynamicselect
        method: POST
        description: Run Dynamic Select Helper Function
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-f-path
      path: /w/{workspace}/jobs/run/f/{path}
      operations:
      - name: runflowbypath
        method: POST
        description: Run Flow by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scheduled_for
          in: query
          type: string
          description: when to schedule this job (leave empty for immediate run)
        - name: scheduled_in_secs
          in: query
          type: integer
          description: schedule the script to execute in the number of seconds starting now
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the flow owner (default false)
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-flow_dependencies_async
      path: /w/{workspace}/jobs/run/flow_dependencies_async
      operations:
      - name: runflowdependenciesasync
        method: POST
        description: Queue a One-off Flow Dependencies Job and Return the Job Uuid
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-fv-version
      path: /w/{workspace}/jobs/run/fv/{version}
      operations:
      - name: runflowbyversion
        method: POST
        description: Run Flow by Version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: version
          in: path
          type: integer
          description: flow version ID
          required: true
        - name: scheduled_for
          in: query
          type: string
          description: when to schedule this job (leave empty for immediate run)
        - name: scheduled_in_secs
          in: query
          type: integer
          description: schedule the script to execute in the number of seconds starting now
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the flow owner (default false)
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-h-hash
      path: /w/{workspace}/jobs/run/h/{hash}
      operations:
      - name: runscriptbyhash
        method: POST
        description: Run Script by Hash
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scheduled_for
          in: query
          type: string
          description: when to schedule this job (leave empty for immediate run)
        - name: scheduled_in_secs
          in: query
          type: integer
          description: schedule the script to execute in the number of seconds starting now
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the script owner (default false)
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-p-path
      path: /w/{workspace}/jobs/run/p/{path}
      operations:
      - name: runscriptbypath
        method: POST
        description: Run Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scheduled_for
          in: query
          type: string
          description: when to schedule this job (leave empty for immediate run)
        - name: scheduled_in_secs
          in: query
          type: integer
          description: schedule the script to execute in the number of seconds starting now
        - name: skip_preprocessor
          in: query
          type: boolean
          description: skip the preprocessor
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the script owner (default false)
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-preview
      path: /w/{workspace}/jobs/run/preview
      operations:
      - name: runscriptpreview
        method: POST
        description: Run Script Preview
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the script owner (default false)
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run-preview_flow
      path: /w/{workspace}/jobs/run/preview_flow
      operations:
      - name: runflowpreview
        method: POST
        description: Run Flow Preview
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invisible_to_owner
          in: query
          type: boolean
          description: make the run invisible to the the script owner (default false)
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-jobs-run_and_stream-f-path
      path: /w/{workspace}/jobs/run_and_stream/f/{path}
      operations:
      - name: runandstreamflowbypath
        method: POST
        description: Run Flow by Path and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: runandstreamflowbypathget
        method: GET
        description: Run Flow by Path with GET and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
    - name: w-workspace-jobs-run_and_stream-fv-version
      path: /w/{workspace}/jobs/run_and_stream/fv/{version}
      operations:
      - name: runandstreamflowbyversion
        method: POST
        description: Run Flow by Version and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: version
          in: path
          type: integer
          description: flow version ID
          required: true
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: runandstreamflowbyversionget
        method: GET
        description: Run Flow by Version with GET and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: version
          in: path
          type: integer
          description: flow version ID
          required: true
        - name: memory_id
          in: query
          type: string
          description: memory ID for chat-enabled flows
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
    - name: w-workspace-jobs-run_and_stream-h-hash
      path: /w/{workspace}/jobs/run_and_stream/h/{hash}
      operations:
      - name: runandstreamscriptbyhash
        method: POST
        description: Run Script by Hash and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: hash
          in: path
          type: string
          required: true
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: runandstreamscriptbyhashget
        method: GET
        description: Run Script by Hash with GET and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: hash
          in: path
          type: string
          required: true
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
    - name: w-workspace-jobs-run_and_stream-p-path
      path: /w/{workspace}/jobs/run_and_stream/p/{path}
      operations:
      - name: runandstreamscriptbypath
        method: POST
        description: Run Script by Path and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: runandstreamscriptbypathget
        method: GET
        description: Run Script by Path with GET and Stream Updates via SSE
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: poll_delay_ms
          in: query
          type: integer
          description: delay between polling for job updates in milliseconds
    - name: w-workspace-jobs-run_inline-h-hash
      path: /w/{workspace}/jobs/run_inline/h/{hash}
      operations:
      - name: runscriptbyhashinline
        method: POST
        description: Run Script by Hash Without Starting a New Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: t

# --- truncated at 32 KB (127 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/capabilities/windmill-job.yaml