Windmill · Capability

Windmill API — script

Windmill API — script. 34 operations. Lead operation: Query Hub Scripts by Similarity. Self-contained Naftiko capability covering one Windmill business surface.

Run with Naftiko Windmillscript

What You Can Do

GET
Queryhubscripts — Query Hub Scripts by Similarity
/v1/embeddings/query-hub-scripts
GET
Gethubscriptcontentbypath — Get Hub Script Content by Path
/v1/scripts/hub/get/{path}
GET
Gethubscriptbypath — Get Full Hub Script by Path
/v1/scripts/hub/get-full/{path}
GET
Pickhubscriptbypath — Record Hub Script Pick
/v1/scripts/hub/pick/{path}
GET
Gettophubscripts — Get Top Hub Scripts
/v1/scripts/hub/top
GET
Rawscriptbypathtokened — raw script by path with a token (mostly used by lsp to be used with import maps to resolve scripts)
/v1/scripts-u/tokened-raw/{workspace}/{token}/{path}
POST
Archivescriptbyhash — Archive Script by Hash
/v1/w/{workspace}/scripts/archive/h/{hash}
POST
Archivescriptbypath — Archive Script by Path
/v1/w/{workspace}/scripts/archive/p/{path}
GET
Getcitestresults — Get CI Test Results for a Script, Flow, or Resource
/v1/w/{workspace}/scripts/ci-test-results/{kind}/{path}
POST
Getcitestresultsbatch — Get CI Test Results for Multiple Items
/v1/w/{workspace}/scripts/ci-test-results-batch
POST
Createscript — Create Script
/v1/w/{workspace}/scripts/create
POST
Deletescriptbyhash — Delete Script by Hash (erase Content but Keep Hash, Require Admin)
/v1/w/{workspace}/scripts/delete/h/{hash}
POST
Deletescriptbypath — Delete Script at a Given Path (require Admin)
/v1/w/{workspace}/scripts/delete/p/{path}
DELETE
Deletescriptsbulk — Delete Scripts in Bulk
/v1/w/{workspace}/scripts/delete-bulk
GET
Getscriptdeploymentstatus — Get Script Deployment Status
/v1/w/{workspace}/scripts/deployment-status/h/{hash}
GET
Existsscriptbypath — Exists Script by Path
/v1/w/{workspace}/scripts/exists/p/{path}
GET
Getscriptbypathwithdraft — Get Script by Path with Draft
/v1/w/{workspace}/scripts/get/draft/{path}
GET
Getscriptbyhash — Get Script by Hash
/v1/w/{workspace}/scripts/get/h/{hash}
GET
Getscriptbypath — Get Script by Path
/v1/w/{workspace}/scripts/get/p/{path}
GET
Getscriptlatestversion — Get Scripts's Latest Version (hash)
/v1/w/{workspace}/scripts/get-latest-version/{path}
GET
Gettriggerscountofscript — Get Triggers Count of Script
/v1/w/{workspace}/scripts/get-triggers-count/{path}
GET
Getscripthistorybypath — Get History of a Script by Path
/v1/w/{workspace}/scripts/history/p/{path}
POST
Updatescripthistory — Update History of a Script
/v1/w/{workspace}/scripts/history-update/h/{hash}/p/{path}
GET
Listscripts — List All Scripts
/v1/w/{workspace}/scripts/list
GET
Listdedicatedwithdeps — List Dedicated Worker Scripts with Workspace Dependency Annotations
/v1/w/{workspace}/scripts/list-dedicated-with-deps
GET
Listscriptpaths — List All Scripts Paths
/v1/w/{workspace}/scripts/list-paths
GET
Listscriptpathsfromworkspacerunnable — List Script Paths Using Provided Script as a Relative Import
/v1/w/{workspace}/scripts/list-paths-from-workspace-runnable/{path}
GET
Listsearchscript — List Scripts for Search
/v1/w/{workspace}/scripts/list-search
GET
Listtokensofscript — Get Tokens with Script Scope
/v1/w/{workspace}/scripts/list-tokens/{path}
GET
Rawscriptbyhash — Raw Script by Hash
/v1/w/{workspace}/scripts/raw/h/{path}
GET
Rawscriptbypath — Raw Script by Path
/v1/w/{workspace}/scripts/raw/p/{path}
POST
Diffrawscriptswithdeployed — Diff Local Script Hashes Against Deployed Versions
/v1/w/{workspace}/scripts/raw-temp/diff
POST
Storerawscripttemp — Store Raw Script Content Temporarily for CLI Lock Generation
/v1/w/{workspace}/scripts/raw-temp/store
POST
Toggleworkspaceerrorhandlerforscript — Toggle ON and OFF the Workspace Error Handler for a Given Script
/v1/w/{workspace}/scripts/toggle-workspace-error-handler/p/{path}

MCP Tools

query-hub-scripts-similarity

Query Hub Scripts by Similarity

read-only idempotent
get-hub-script-content-path

Get Hub Script Content by Path

read-only idempotent
get-full-hub-script-path

Get Full Hub Script by Path

read-only idempotent
record-hub-script-pick

Record Hub Script Pick

read-only idempotent
get-top-hub-scripts

Get Top Hub Scripts

read-only idempotent
raw-script-path-token-mostly

raw script by path with a token (mostly used by lsp to be used with import maps to resolve scripts)

read-only idempotent
archive-script-hash

Archive Script by Hash

archive-script-path

Archive Script by Path

get-ci-test-results-script

Get CI Test Results for a Script, Flow, or Resource

read-only idempotent
get-ci-test-results-multiple

Get CI Test Results for Multiple Items

read-only
create-script

Create Script

delete-script-hash-erase-content

Delete Script by Hash (erase Content but Keep Hash, Require Admin)

delete-script-given-path-require

Delete Script at a Given Path (require Admin)

delete-scripts-bulk

Delete Scripts in Bulk

idempotent
get-script-deployment-status

Get Script Deployment Status

read-only idempotent
exists-script-path

Exists Script by Path

read-only idempotent
get-script-path-draft

Get Script by Path with Draft

read-only idempotent
get-script-hash

Get Script by Hash

read-only idempotent
get-script-path

Get Script by Path

read-only idempotent
get-scripts-s-latest-version-hash

Get Scripts's Latest Version (hash)

read-only idempotent
get-triggers-count-script

Get Triggers Count of Script

read-only idempotent
get-history-script-path

Get History of a Script by Path

read-only idempotent
update-history-script

Update History of a Script

list-all-scripts

List All Scripts

read-only idempotent
list-dedicated-worker-scripts-workspace

List Dedicated Worker Scripts with Workspace Dependency Annotations

read-only idempotent
list-all-scripts-paths

List All Scripts Paths

read-only idempotent
list-script-paths-using-provided

List Script Paths Using Provided Script as a Relative Import

read-only idempotent
list-scripts-search

List Scripts for Search

read-only idempotent
get-tokens-script-scope

Get Tokens with Script Scope

read-only idempotent
raw-script-hash

Raw Script by Hash

read-only idempotent
raw-script-path

Raw Script by Path

read-only idempotent
diff-local-script-hashes-against

Diff Local Script Hashes Against Deployed Versions

store-raw-script-content-temporarily

Store Raw Script Content Temporarily for CLI Lock Generation

toggle-and-off-workspace-error

Toggle ON and OFF the Workspace Error Handler for a Given Script

Capability Spec

windmill-script.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Windmill API — script
  description: 'Windmill API — script. 34 operations. Lead operation: Query Hub Scripts by Similarity. Self-contained Naftiko
    capability covering one Windmill business surface.'
  tags:
  - Windmill
  - script
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WINDMILL_API_KEY: WINDMILL_API_KEY
capability:
  consumes:
  - type: http
    namespace: windmill-script
    baseUri: ''
    description: Windmill API — script business capability. Self-contained, no shared references.
    resources:
    - name: embeddings-query_hub_scripts
      path: /embeddings/query_hub_scripts
      operations:
      - name: queryhubscripts
        method: GET
        description: Query Hub Scripts by Similarity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: text
          in: query
          type: string
          description: query text
          required: true
        - name: kind
          in: query
          type: string
          description: query scripts kind
        - name: limit
          in: query
          type: number
          description: query limit
        - name: app
          in: query
          type: string
          description: query scripts app
    - name: scripts-hub-get-path
      path: /scripts/hub/get/{path}
      operations:
      - name: gethubscriptcontentbypath
        method: GET
        description: Get Hub Script Content by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: scripts-hub-get_full-path
      path: /scripts/hub/get_full/{path}
      operations:
      - name: gethubscriptbypath
        method: GET
        description: Get Full Hub Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: scripts-hub-pick-path
      path: /scripts/hub/pick/{path}
      operations:
      - name: pickhubscriptbypath
        method: GET
        description: Record Hub Script Pick
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: scripts-hub-top
      path: /scripts/hub/top
      operations:
      - name: gettophubscripts
        method: GET
        description: Get Top Hub Scripts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: number
          description: query limit
        - name: app
          in: query
          type: string
          description: query scripts app
        - name: kind
          in: query
          type: string
          description: query scripts kind
    - name: scripts_u-tokened_raw-workspace-token-path
      path: /scripts_u/tokened_raw/{workspace}/{token}/{path}
      operations:
      - name: rawscriptbypathtokened
        method: GET
        description: raw script by path with a token (mostly used by lsp to be used with import maps to resolve scripts)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-archive-h-hash
      path: /w/{workspace}/scripts/archive/h/{hash}
      operations:
      - name: archivescriptbyhash
        method: POST
        description: Archive Script by Hash
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-archive-p-path
      path: /w/{workspace}/scripts/archive/p/{path}
      operations:
      - name: archivescriptbypath
        method: POST
        description: Archive Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-ci_test_results-kind-path
      path: /w/{workspace}/scripts/ci_test_results/{kind}/{path}
      operations:
      - name: getcitestresults
        method: GET
        description: Get CI Test Results for a Script, Flow, or Resource
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kind
          in: path
          type: string
          required: true
        - name: path
          in: path
          type: string
          required: true
    - name: w-workspace-scripts-ci_test_results_batch
      path: /w/{workspace}/scripts/ci_test_results_batch
      operations:
      - name: getcitestresultsbatch
        method: POST
        description: Get CI Test Results for Multiple Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-scripts-create
      path: /w/{workspace}/scripts/create
      operations:
      - name: createscript
        method: POST
        description: Create Script
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-scripts-delete-h-hash
      path: /w/{workspace}/scripts/delete/h/{hash}
      operations:
      - name: deletescriptbyhash
        method: POST
        description: Delete Script by Hash (erase Content but Keep Hash, Require Admin)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-delete-p-path
      path: /w/{workspace}/scripts/delete/p/{path}
      operations:
      - name: deletescriptbypath
        method: POST
        description: Delete Script at a Given Path (require Admin)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: keep_captures
          in: query
          type: boolean
          description: keep captures
    - name: w-workspace-scripts-delete_bulk
      path: /w/{workspace}/scripts/delete_bulk
      operations:
      - name: deletescriptsbulk
        method: DELETE
        description: Delete Scripts in Bulk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-scripts-deployment_status-h-hash
      path: /w/{workspace}/scripts/deployment_status/h/{hash}
      operations:
      - name: getscriptdeploymentstatus
        method: GET
        description: Get Script Deployment Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-exists-p-path
      path: /w/{workspace}/scripts/exists/p/{path}
      operations:
      - name: existsscriptbypath
        method: GET
        description: Exists Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-get-draft-path
      path: /w/{workspace}/scripts/get/draft/{path}
      operations:
      - name: getscriptbypathwithdraft
        method: GET
        description: Get Script by Path with Draft
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-get-h-hash
      path: /w/{workspace}/scripts/get/h/{hash}
      operations:
      - name: getscriptbyhash
        method: GET
        description: Get Script by Hash
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_starred_info
          in: query
          type: boolean
        - name: authed
          in: query
          type: boolean
    - name: w-workspace-scripts-get-p-path
      path: /w/{workspace}/scripts/get/p/{path}
      operations:
      - name: getscriptbypath
        method: GET
        description: Get Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_starred_info
          in: query
          type: boolean
    - name: w-workspace-scripts-get_latest_version-path
      path: /w/{workspace}/scripts/get_latest_version/{path}
      operations:
      - name: getscriptlatestversion
        method: GET
        description: Get Scripts's Latest Version (hash)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-get_triggers_count-path
      path: /w/{workspace}/scripts/get_triggers_count/{path}
      operations:
      - name: gettriggerscountofscript
        method: GET
        description: Get Triggers Count of Script
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-history-p-path
      path: /w/{workspace}/scripts/history/p/{path}
      operations:
      - name: getscripthistorybypath
        method: GET
        description: Get History of a Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-history_update-h-hash-p-path
      path: /w/{workspace}/scripts/history_update/h/{hash}/p/{path}
      operations:
      - name: updatescripthistory
        method: POST
        description: Update History of a Script
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-scripts-list
      path: /w/{workspace}/scripts/list
      operations:
      - name: listscripts
        method: GET
        description: List All Scripts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path_start
          in: query
          type: string
          description: mask to filter matching starting path
        - name: path_exact
          in: query
          type: string
          description: mask to filter exact matching path
        - name: first_parent_hash
          in: query
          type: string
          description: mask to filter scripts whom first direct parent has exact hash
        - name: last_parent_hash
          in: query
          type: string
          description: mask to filter scripts whom last parent in the chain has exact hash.
        - name: parent_hash
          in: query
          type: string
          description: is the hash present in the array of stored parent hashes for this script.
        - name: show_archived
          in: query
          type: boolean
          description: (default false)
        - name: include_without_main
          in: query
          type: boolean
          description: (default false)
        - name: include_draft_only
          in: query
          type: boolean
          description: (default false)
        - name: is_template
          in: query
          type: boolean
          description: (default regardless)
        - name: kinds
          in: query
          type: string
          description: (default regardless)
        - name: starred_only
          in: query
          type: boolean
          description: (default false)
        - name: with_deployment_msg
          in: query
          type: boolean
          description: (default false)
        - name: languages
          in: query
          type: string
          description: Filter to only include scripts written in the given languages.
        - name: without_description
          in: query
          type: boolean
          description: (default false)
        - name: dedicated_worker
          in: query
          type: boolean
          description: (default regardless)
        - name: label
          in: query
          type: string
          description: Filter by label
    - name: w-workspace-scripts-list_dedicated_with_deps
      path: /w/{workspace}/scripts/list_dedicated_with_deps
      operations:
      - name: listdedicatedwithdeps
        method: GET
        description: List Dedicated Worker Scripts with Workspace Dependency Annotations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-list_paths
      path: /w/{workspace}/scripts/list_paths
      operations:
      - name: listscriptpaths
        method: GET
        description: List All Scripts Paths
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-list_paths_from_workspace_runnable-path
      path: /w/{workspace}/scripts/list_paths_from_workspace_runnable/{path}
      operations:
      - name: listscriptpathsfromworkspacerunnable
        method: GET
        description: List Script Paths Using Provided Script as a Relative Import
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-list_search
      path: /w/{workspace}/scripts/list_search
      operations:
      - name: listsearchscript
        method: GET
        description: List Scripts for Search
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-list_tokens-path
      path: /w/{workspace}/scripts/list_tokens/{path}
      operations:
      - name: listtokensofscript
        method: GET
        description: Get Tokens with Script Scope
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-raw-h-path
      path: /w/{workspace}/scripts/raw/h/{path}
      operations:
      - name: rawscriptbyhash
        method: GET
        description: Raw Script by Hash
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-raw-p-path
      path: /w/{workspace}/scripts/raw/p/{path}
      operations:
      - name: rawscriptbypath
        method: GET
        description: Raw Script by Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: w-workspace-scripts-raw_temp-diff
      path: /w/{workspace}/scripts/raw_temp/diff
      operations:
      - name: diffrawscriptswithdeployed
        method: POST
        description: Diff Local Script Hashes Against Deployed Versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-scripts-raw_temp-store
      path: /w/{workspace}/scripts/raw_temp/store
      operations:
      - name: storerawscripttemp
        method: POST
        description: Store Raw Script Content Temporarily for CLI Lock Generation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: w-workspace-scripts-toggle_workspace_error_handler-p-path
      path: /w/{workspace}/scripts/toggle_workspace_error_handler/p/{path}
      operations:
      - name: toggleworkspaceerrorhandlerforscript
        method: POST
        description: Toggle ON and OFF the Workspace Error Handler for a Given Script
        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-script-rest
    port: 8080
    description: REST adapter for Windmill API — script. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/embeddings/query-hub-scripts
      name: embeddings-query-hub-scripts
      description: REST surface for embeddings-query_hub_scripts.
      operations:
      - method: GET
        name: queryhubscripts
        description: Query Hub Scripts by Similarity
        call: windmill-script.queryhubscripts
        with:
          text: rest.text
          kind: rest.kind
          limit: rest.limit
          app: rest.app
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scripts/hub/get/{path}
      name: scripts-hub-get-path
      description: REST surface for scripts-hub-get-path.
      operations:
      - method: GET
        name: gethubscriptcontentbypath
        description: Get Hub Script Content by Path
        call: windmill-script.gethubscriptcontentbypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scripts/hub/get-full/{path}
      name: scripts-hub-get-full-path
      description: REST surface for scripts-hub-get_full-path.
      operations:
      - method: GET
        name: gethubscriptbypath
        description: Get Full Hub Script by Path
        call: windmill-script.gethubscriptbypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scripts/hub/pick/{path}
      name: scripts-hub-pick-path
      description: REST surface for scripts-hub-pick-path.
      operations:
      - method: GET
        name: pickhubscriptbypath
        description: Record Hub Script Pick
        call: windmill-script.pickhubscriptbypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scripts/hub/top
      name: scripts-hub-top
      description: REST surface for scripts-hub-top.
      operations:
      - method: GET
        name: gettophubscripts
        description: Get Top Hub Scripts
        call: windmill-script.gettophubscripts
        with:
          limit: rest.limit
          app: rest.app
          kind: rest.kind
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scripts-u/tokened-raw/{workspace}/{token}/{path}
      name: scripts-u-tokened-raw-workspace-token-path
      description: REST surface for scripts_u-tokened_raw-workspace-token-path.
      operations:
      - method: GET
        name: rawscriptbypathtokened
        description: raw script by path with a token (mostly used by lsp to be used with import maps to resolve scripts)
        call: windmill-script.rawscriptbypathtokened
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/archive/h/{hash}
      name: w-workspace-scripts-archive-h-hash
      description: REST surface for w-workspace-scripts-archive-h-hash.
      operations:
      - method: POST
        name: archivescriptbyhash
        description: Archive Script by Hash
        call: windmill-script.archivescriptbyhash
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/archive/p/{path}
      name: w-workspace-scripts-archive-p-path
      description: REST surface for w-workspace-scripts-archive-p-path.
      operations:
      - method: POST
        name: archivescriptbypath
        description: Archive Script by Path
        call: windmill-script.archivescriptbypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/ci-test-results/{kind}/{path}
      name: w-workspace-scripts-ci-test-results-kind-path
      description: REST surface for w-workspace-scripts-ci_test_results-kind-path.
      operations:
      - method: GET
        name: getcitestresults
        description: Get CI Test Results for a Script, Flow, or Resource
        call: windmill-script.getcitestresults
        with:
          kind: rest.kind
          path: rest.path
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/ci-test-results-batch
      name: w-workspace-scripts-ci-test-results-batch
      description: REST surface for w-workspace-scripts-ci_test_results_batch.
      operations:
      - method: POST
        name: getcitestresultsbatch
        description: Get CI Test Results for Multiple Items
        call: windmill-script.getcitestresultsbatch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/create
      name: w-workspace-scripts-create
      description: REST surface for w-workspace-scripts-create.
      operations:
      - method: POST
        name: createscript
        description: Create Script
        call: windmill-script.createscript
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/delete/h/{hash}
      name: w-workspace-scripts-delete-h-hash
      description: REST surface for w-workspace-scripts-delete-h-hash.
      operations:
      - method: POST
        name: deletescriptbyhash
        description: Delete Script by Hash (erase Content but Keep Hash, Require Admin)
        call: windmill-script.deletescriptbyhash
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/delete/p/{path}
      name: w-workspace-scripts-delete-p-path
      description: REST surface for w-workspace-scripts-delete-p-path.
      operations:
      - method: POST
        name: deletescriptbypath
        description: Delete Script at a Given Path (require Admin)
        call: windmill-script.deletescriptbypath
        with:
          keep_captures: rest.keep_captures
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/delete-bulk
      name: w-workspace-scripts-delete-bulk
      description: REST surface for w-workspace-scripts-delete_bulk.
      operations:
      - method: DELETE
        name: deletescriptsbulk
        description: Delete Scripts in Bulk
        call: windmill-script.deletescriptsbulk
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/deployment-status/h/{hash}
      name: w-workspace-scripts-deployment-status-h-hash
      description: REST surface for w-workspace-scripts-deployment_status-h-hash.
      operations:
      - method: GET
        name: getscriptdeploymentstatus
        description: Get Script Deployment Status
        call: windmill-script.getscriptdeploymentstatus
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/exists/p/{path}
      name: w-workspace-scripts-exists-p-path
      description: REST surface for w-workspace-scripts-exists-p-path.
      operations:
      - method: GET
        name: existsscriptbypath
        description: Exists Script by Path
        call: windmill-script.existsscriptbypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/get/draft/{path}
      name: w-workspace-scripts-get-draft-path
      description: REST surface for w-workspace-scripts-get-draft-path.
      operations:
      - method: GET
        name: getscriptbypathwithdraft
        description: Get Script by Path with Draft
        call: windmill-script.getscriptbypathwithdraft
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/get/h/{hash}
      name: w-workspace-scripts-get-h-hash
      description: REST surface for w-workspace-scripts-get-h-hash.
      operations:
      - method: GET
        name: getscriptbyhash
        description: Get Script by Hash
        call: windmill-script.getscriptbyhash
        with:
          with_starred_info: rest.with_starred_info
          authed: rest.authed
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/get/p/{path}
      name: w-workspace-scripts-get-p-path
      description: REST surface for w-workspace-scripts-get-p-path.
      operations:
      - method: GET
        name: getscriptbypath
        description: Get Script by Path
        call: windmill-script.getscriptbypath
        with:
          with_starred_info: rest.with_starred_info
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/get-latest-version/{path}
      name: w-workspace-scripts-get-latest-version-path
      description: REST surface for w-workspace-scripts-get_latest_version-path.
      operations:
      - method: GET
        name: getscriptlatestversion
        description: Get Scripts's Latest Version (hash)
        call: windmill-script.getscriptlatestversion
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/get-triggers-count/{path}
      name: w-workspace-scripts-get-triggers-count-path
      description: REST surface for w-workspace-scripts-get_triggers_count-path.
      operations:
      - method: GET
        name: gettriggerscountofscript
        description: Get Triggers Count of Script
        call: windmill-script.gettriggerscountofscript
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/history/p/{path}
      name: w-workspace-scripts-history-p-path
      description: REST surface for w-workspace-scripts-history-p-path.
      operations:
      - method: GET
        name: getscripthistorybypath
        description: Get History of a Script by Path
        call: windmill-script.getscripthistorybypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/history-update/h/{hash}/p/{path}
      name: w-workspace-scripts-history-update-h-hash-p-path
      description: REST surface for w-workspace-scripts-history_update-h-hash-p-path.
      operations:
      - method: POST
        name: updatescripthistory
        description: Update History of a Script
        call: windmill-script.updatescripthistory
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/list
      name: w-workspace-scripts-list
      description: REST surface for w-workspace-scripts-list.
      operations:
      - method: GET
        name: listscripts
        description: List All Scripts
        call: windmill-script.listscripts
        with:
          path_start: rest.path_start
          path_exact: rest.path_exact
          first_parent_hash: rest.first_parent_hash
          last_parent_hash: rest.last_parent_hash
          parent_hash: rest.parent_hash
          show_archived: rest.show_archived
          include_without_main: rest.include_without_main
          include_draft_only: rest.include_draft_only
          is_template: rest.is_template
          kinds: rest.kinds
          starred_only: rest.starred_only
          with_deployment_msg: rest.with_deployment_msg
          languages: rest.languages
          without_description: rest.without_description
          dedicated_worker: rest.dedicated_worker
          label: rest.label
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/list-dedicated-with-deps
      name: w-workspace-scripts-list-dedicated-with-deps
      description: REST surface for w-workspace-scripts-list_dedicated_with_deps.
      operations:
      - method: GET
        name: listdedicatedwithdeps
        description: List Dedicated Worker Scripts with Workspace Dependency Annotations
        call: windmill-script.listdedicatedwithdeps
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/list-paths
      name: w-workspace-scripts-list-paths
      description: REST surface for w-workspace-scripts-list_paths.
      operations:
      - method: GET
        name: listscriptpaths
        description: List All Scripts Paths
        call: windmill-script.listscriptpaths
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/list-paths-from-workspace-runnable/{path}
      name: w-workspace-scripts-list-paths-from-workspace-runnable-path
      description: REST surface for w-workspace-scripts-list_paths_from_workspace_runnable-path.
      operations:
      - method: GET
        name: listscriptpathsfromworkspacerunnable
        description: List Script Paths Using Provided Script as a Relative Import
        call: windmill-script.listscriptpathsfromworkspacerunnable
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/list-search
      name: w-workspace-scripts-list-search
      description: REST surface for w-workspace-scripts-list_search.
      operations:
      - method: GET
        name: listsearchscript
        description: List Scripts for Search
        call: windmill-script.listsearchscript
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/list-tokens/{path}
      name: w-workspace-scripts-list-tokens-path
      description: REST surface for w-workspace-scripts-list_tokens-path.
      operations:
      - method: GET
        name: listtokensofscript
        description: Get Tokens with Script Scope
        call: windmill-script.listtokensofscript
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/raw/h/{path}
      name: w-workspace-scripts-raw-h-path
      description: REST surface for w-workspace-scripts-raw-h-path.
      operations:
      - method: GET
        name: rawscriptbyhash
        description: Raw Script by Hash
        call: windmill-script.rawscriptbyhash
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/raw/p/{path}
      name: w-workspace-scripts-raw-p-path
      description: REST surface for w-workspace-scripts-raw-p-path.
      operations:
      - method: GET
        name: rawscriptbypath
        description: Raw Script by Path
        call: windmill-script.rawscriptbypath
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/raw-temp/diff
      name: w-workspace-scripts-raw-temp-diff
      description: REST surface for w-workspace-scripts-raw_temp-diff.
      operations:
      - method: POST
        name: diffrawscriptswithdeployed
        description: Diff Local Script Hashes Against Deployed Versions
        call: windmill-script.diffrawscriptswithdeployed
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/w/{workspace}/scripts/raw-temp/store
      name: w-workspace-scripts-raw-temp-store
      description: REST surface for w-workspace-scripts-raw_temp-store.
      operations:
      - method: POST
        name: storerawscripttemp
        description: Store Raw Script Content Temporarily for CLI Lock Generation
        call: windmill-script.storerawscripttemp
        with:
          body: rest.body
        outputParameters:
        - t

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