Windmill job API

The job API from Windmill — 77 operation(s) for job.

OpenAPI Specification

windmill-job-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 1.694.0
  title: Windmill admin job API
  contact:
    name: Windmill Team
    email: contact@windmill.dev
    url: https://windmill.dev
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://windmill.dev/img/windmill.svg
servers:
- url: /api
security:
- bearerAuth: []
- cookieAuth: []
tags:
- name: job
paths:
  /w/{workspace}/jobs/list_selected_job_groups:
    post:
      summary: List Selected Jobs Script/flow Schemas Grouped by (kind, Path)
      operationId: listSelectedJobGroups
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
      responses:
        '200':
          description: result
          content:
            text/plain:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                      - script
                      - flow
                    script_path:
                      type: string
                    latest_schema:
                      type: object
                    schemas:
                      type: array
                      items:
                        type: object
                        properties:
                          schema:
                            type: object
                          script_hash:
                            type: string
                          job_ids:
                            type: array
                            items:
                              type: string
                        required:
                        - schema
                        - script_hash
                        - job_ids
                  required:
                  - kind
                  - script_path
                  - latest_schema
                  - schemas
  /w/{workspace}/jobs/run/p/{path}:
    post:
      summary: Run Script by Path
      operationId: runScriptByPath
      x-mcp-tool: true
      x-mcp-instructions: You should first use getScriptByPath to retrieve the script's schema and understand what arguments are expected.
      x-mcp-tool-include-query-params: []
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - name: scheduled_for
        description: when to schedule this job (leave empty for immediate run)
        in: query
        schema:
          type: string
          format: date-time
      - name: scheduled_in_secs
        description: schedule the script to execute in the number of seconds starting now
        in: query
        schema:
          type: integer
      - name: skip_preprocessor
        description: skip the preprocessor
        in: query
        schema:
          type: boolean
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - name: invisible_to_owner
        description: make the run invisible to the the script owner (default false)
        in: query
        schema:
          type: boolean
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '201':
          description: job created
          content:
            text/plain:
              schema:
                type: string
                format: uuid
  /w/{workspace}/jobs/run_wait_result/p/{path}:
    post:
      summary: Run Script by Path
      operationId: runWaitResultScriptByPath
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/SkipPreprocessor'
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
    get:
      summary: Run Script by Path with Get
      operationId: runWaitResultScriptByPathGet
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/Payload'
      - $ref: '#/components/parameters/SkipPreprocessor'
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run_wait_result/f/{path}:
    post:
      summary: Run Flow by Path and Wait Until Completion
      operationId: runWaitResultFlowByPath
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run_wait_result/fv/{version}:
    post:
      summary: Run Flow by Version and Wait Until Completion
      operationId: runWaitResultFlowByVersion
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: version
        description: flow version ID
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
    get:
      summary: Run Flow by Version with GET and Wait Until Completion
      operationId: runWaitResultFlowByVersionGet
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: version
        description: flow version ID
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/Payload'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run_and_stream/f/{path}:
    post:
      summary: Run Flow by Path and Stream Updates via SSE
      operationId: runAndStreamFlowByPath
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      requestBody:
        description: flow args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
    get:
      summary: Run Flow by Path with GET and Stream Updates via SSE
      operationId: runAndStreamFlowByPathGet
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/Payload'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
  /w/{workspace}/jobs/run_and_stream/fv/{version}:
    post:
      summary: Run Flow by Version and Stream Updates via SSE
      operationId: runAndStreamFlowByVersion
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: version
        description: flow version ID
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      requestBody:
        description: flow args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
    get:
      summary: Run Flow by Version with GET and Stream Updates via SSE
      operationId: runAndStreamFlowByVersionGet
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: version
        description: flow version ID
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/Payload'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
  /w/{workspace}/jobs/run_and_stream/p/{path}:
    post:
      summary: Run Script by Path and Stream Updates via SSE
      operationId: runAndStreamScriptByPath
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
    get:
      summary: Run Script by Path with GET and Stream Updates via SSE
      operationId: runAndStreamScriptByPathGet
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/Payload'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
  /w/{workspace}/jobs/run_and_stream/h/{hash}:
    post:
      summary: Run Script by Hash and Stream Updates via SSE
      operationId: runAndStreamScriptByHash
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: hash
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
    get:
      summary: Run Script by Hash with GET and Stream Updates via SSE
      operationId: runAndStreamScriptByHashGet
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: hash
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - $ref: '#/components/parameters/QueueLimit'
      - $ref: '#/components/parameters/Payload'
      - $ref: '#/components/parameters/SkipPreprocessor'
      - name: poll_delay_ms
        description: delay between polling for job updates in milliseconds
        in: query
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: server-sent events stream of job updates
          content:
            text/event-stream:
              schema:
                type: string
  /w/{workspace}/jobs/result_by_id/{flow_job_id}/{node_id}:
    get:
      summary: Get Job Result by Id
      operationId: resultById
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: flow_job_id
        in: path
        required: true
        schema:
          type: string
      - name: node_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run/f/{path}:
    post:
      summary: Run Flow by Path
      operationId: runFlowByPath
      x-mcp-tool: true
      x-mcp-instructions: You should first use getFlowByPath to retrieve the flow's schema and understand what arguments are expected.
      x-mcp-tool-include-query-params: []
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      - name: scheduled_for
        description: when to schedule this job (leave empty for immediate run)
        in: query
        schema:
          type: string
          format: date-time
      - name: scheduled_in_secs
        description: schedule the script to execute in the number of seconds starting now
        in: query
        schema:
          type: integer
      - $ref: '#/components/parameters/SkipPreprocessor'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - name: invisible_to_owner
        description: make the run invisible to the the flow owner (default false)
        in: query
        schema:
          type: boolean
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      requestBody:
        description: flow args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '201':
          description: job created
          content:
            text/plain:
              schema:
                type: string
                format: uuid
  /w/{workspace}/jobs/run/fv/{version}:
    post:
      summary: Run Flow by Version
      operationId: runFlowByVersion
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: version
        description: flow version ID
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: scheduled_for
        description: when to schedule this job (leave empty for immediate run)
        in: query
        schema:
          type: string
          format: date-time
      - name: scheduled_in_secs
        description: schedule the script to execute in the number of seconds starting now
        in: query
        schema:
          type: integer
      - $ref: '#/components/parameters/SkipPreprocessor'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - name: invisible_to_owner
        description: make the run invisible to the the flow owner (default false)
        in: query
        schema:
          type: boolean
      - name: memory_id
        description: memory ID for chat-enabled flows
        in: query
        schema:
          type: string
          format: uuid
      requestBody:
        description: flow args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptArgs'
      responses:
        '201':
          description: job created
          content:
            text/plain:
              schema:
                type: string
                format: uuid
  /w/{workspace}/jobs/run/batch_rerun_jobs:
    post:
      summary: Re-run Multiple Jobs
      operationId: batchReRunJobs
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        description: list of job ids to re run and arg tranforms
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - job_ids
              - script_options_by_path
              - flow_options_by_path
              properties:
                job_ids:
                  type: array
                  items:
                    type: string
                script_options_by_path:
                  type: object
                  additionalProperties:
                    type: object
                    properties:
                      input_transforms:
                        type: object
                        additionalProperties:
                          $ref: '#/components/schemas/InputTransform'
                      use_latest_version:
                        type: boolean
                flow_options_by_path:
                  type: object
                  additionalProperties:
                    type: object
                    properties:
                      input_transforms:
                        type: object
                        additionalProperties:
                          $ref: '#/components/schemas/InputTransform'
                      use_latest_version:
                        type: boolean
      responses:
        '201':
          description: stream of created job uuids separated by \n. Lines may start with 'Error:'
          content:
            text/event-stream:
              schema:
                type: string
  /w/{workspace}/jobs/restart/f/{id}:
    post:
      summary: Restart a Completed Flow at a Given Step
      operationId: restartFlowAtStep
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/JobId'
      - name: scheduled_for
        description: when to schedule this job (leave empty for immediate run)
        in: query
        schema:
          type: string
          format: date-time
      - name: scheduled_in_secs
        description: schedule the script to execute in the number of seconds starting now
        in: query
        schema:
          type: integer
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - name: invisible_to_owner
        description: make the run invisible to the the flow owner (default false)
        in: query
        schema:
          type: boolean
      requestBody:
        description: restart flow parameters
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - step_id
              properties:
                step_id:
                  type: string
                  description: top-level step id to restart the flow from (or the outermost container when restarting at a nested step)
                branch_or_iteration_n:
                  type: integer
                  description: for branchall or loop at the top level, the iteration at which the flow should restart (optional)
                flow_version:
                  type: integer
                  description: specific flow version to use for restart (optional, uses current version if not specified)
                nested_path:
                  type: array
                  description: path of additional steps to descend into AFTER `step_id`. Each entry represents one level of nesting inside the spawned child of the previous level's container (BranchOne / sequential ForLoop iteration / Subflow). When non-empty, the actual restart point is the LAST entry's step_id.
                  items:
                    type: object
                    required:
                    - step_id
                    properties:
                      step_id:
                        type: string
                        description: step id at this nesting level
                      branch_or_iteration_n:
                        type: integer
                        description: for ForLoop containers, the iteration to restart at (0-based; iterations 0..n-1 are preserved)
      responses:
        '201':
          description: job created
          content:
            text/plain:
              schema:
                type: string
                format: uuid
  /w/{workspace}/jobs/run/h/{hash}:
    post:
      summary: Run Script by Hash
      operationId: runScriptByHash
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptHash'
      - name: scheduled_for
        description: when to schedule this job (leave empty for immediate run)
        in: query
        schema:
          type: string
          format: date-time
      - name: scheduled_in_secs
        description: schedule the script to execute in the number of seconds starting now
        in: query
        schema:
          type: integer
      - $ref: '#/components/parameters/SkipPreprocessor'
      - $ref: '#/components/parameters/ParentJob'
      - $ref: '#/components/parameters/WorkerTag'
      - $ref: '#/components/parameters/CacheTtl'
      - $ref: '#/components/parameters/NewJobId'
      - $ref: '#/components/parameters/IncludeHeader'
      - name: invisible_to_owner
        description: make the run invisible to the the script owner (default false)
        in: query
        schema:
          type: boolean
      requestBody:
        description: Partially filled args
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: job created
          content:
            text/plain:
              schema:
                type: string
                format: uuid
  /w/{workspace}/jobs/run/preview:
    post:
      summary: Run Script Preview
      operationId: runScriptPreview
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/IncludeHeader'
      - name: invisible_to_owner
        description: make the run invisible to the the script owner (default false)
        in: query
        schema:
          type: boolean
      - $ref: '#/components/parameters/NewJobId'
      requestBody:
        description: preview
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Preview'
      responses:
        '201':
          description: job created
          content:
            text/plain:
              schema:
                type: string
                format: uuid
  /w/{workspace}/jobs/run_inline/preview:
    post:
      summary: Run Script Preview Without Starting a New Job
      operationId: runScriptPreviewInline
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        description: preview
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewInline'
      responses:
        '200':
          description: script result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run_inline/p/{path}:
    post:
      summary: Run Script by Path Without Starting a New Job
      operationId: runScriptByPathInline
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptPath'
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InlineScriptArgs'
      responses:
        '200':
          description: script result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run_inline/h/{hash}:
    post:
      summary: Run Script by Hash Without Starting a New Job
      operationId: runScriptByHashInline
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/ScriptHash'
      requestBody:
        description: script args
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InlineScriptArgs'
      responses:
        '200':
          description: script result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/run_wait_result/preview:
    post:
      summary: Run Script Preview and Wait for Result
      operationId: runScriptPreviewAndWaitResult
      x-mcp-tool: true
      x-mcp-instructions: Allows testing a script before deploying it. For typescript code, the language to send is either bun or deno. By default, send bun if no deno specific code is detected.
      x-mcp-required-fields:
      - content
      - language
      - args
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        description: preview
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Preview'
      responses:
        '200':
          description: job result
          content:
            application/json:
              schema: {}
  /w/{workspace}/jobs/workflow_as_code/{job_id}/{entrypoint}:
    post:
      summary: Run Code-workflow Task
      operationId: runCodeWorkflowTask
      tags:
      - job
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      - name: entrypoint
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: preview
       

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