Windmill is an open-source developer platform and workflow engine for turning scripts into webhooks, workflows, and internal apps. It supports TypeScript, Python, Go, PHP, Bash, C#, SQL, and Rust, and serves as an open-source alternative to Retool, Airflow, and Temporal for building comprehensive internal tools including endpoints, workflows, and UIs.
1 APIs0 Features
AutomationInternal ToolsOpen SourceProCode API CompositionScriptsWebhooksWorkflow EngineWorkflows
The Windmill API provides programmatic access to the Windmill developer platform, enabling management of scripts, flows, apps, resources, variables, schedules, jobs, users, work...
aid: windmill
name: Windmill
segments:
- ProCode API Composition
- Workflows
description: >-
Windmill is an open-source developer platform and workflow engine for turning scripts into webhooks, workflows, and
internal apps. It supports TypeScript, Python, Go, PHP, Bash, C#, SQL, and Rust, and serves as an open-source
alternative to Retool, Airflow, and Temporal for building comprehensive internal tools including endpoints, workflows,
and UIs.
type: Index
position: Consumer
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Automation
- Internal Tools
- Open Source
- ProCode API Composition
- Scripts
- Webhooks
- Workflow Engine
- Workflows
created: '2026-03-03'
modified: '2026-05-19'
url: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
- aid: windmill:windmill-api
name: Windmill API
description: >-
The Windmill API provides programmatic access to the Windmill developer platform, enabling management of scripts,
flows, apps, resources, variables, schedules, jobs, users, workspaces, and webhooks. It follows the OpenAPI 3.0.3
specification and powers all interactions with the Windmill platform.
humanURL: https://www.windmill.dev/docs/intro
baseURL: https://app.windmill.dev/api
tags:
- Automation
- Internal Tools
- ProCode_API_Composition
- Scripts
- Webhooks
- Workflows
properties:
- type: Documentation
url: https://www.windmill.dev/docs/intro
- type: OpenAPI
url: https://raw.githubusercontent.com/windmill-labs/windmill/main/backend/windmill-api/openapi.yaml
- type: APIReferenceDocumentation
url: https://app.windmill.dev/openapi.html
- type: GettingStarted
url: https://www.windmill.dev/docs/getting_started/how_to_use_windmill
- type: Authentication
url: https://www.windmill.dev/docs/core_concepts/authentification
- type: HTTPRoutes
url: https://www.windmill.dev/docs/core_concepts/http_routing
- type: CLI
url: https://www.windmill.dev/docs/advanced/cli
- type: SelfHosting
url: https://www.windmill.dev/docs/advanced/self_host
- type: TypeScriptSDK
url: https://www.windmill.dev/docs/advanced/clients/ts_client
- type: PythonSDK
url: https://www.windmill.dev/docs/advanced/clients/python_client
- type: OpenAPI
url: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/openapi/windmill-api-openapi.yml
- type: SpectralRules
url: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/rules/windmill-api-rules.yml
common:
- type: ArazzoWorkflows
url: arazzo/
workflows:
- url: arazzo/windmill-bootstrap-workspace-workflow.yml
name: Windmill Bootstrap a Workspace
summary: Create a workspace, confirm it exists, then read back its display name.
- url: arazzo/windmill-create-and-run-script-workflow.yml
name: Windmill Create and Run a Script
summary: Deploy a new script from source, confirm it deployed, then run it.
- url: arazzo/windmill-provision-resource-and-run-script-workflow.yml
name: Windmill Provision a Resource and Run a Consuming Script
summary: Create a typed resource, verify its value, then run a script that consumes it.
- url: arazzo/windmill-provision-variable-and-run-script-workflow.yml
name: Windmill Provision a Variable and Run a Consuming Script
summary: Create a variable, verify its value, then run a script that reads it.
- url: arazzo/windmill-run-flow-and-await-result-workflow.yml
name: Windmill Run a Flow and Await its Result
summary: Trigger a flow by path, poll job updates until completion, then read the result.
- url: arazzo/windmill-run-script-and-await-result-workflow.yml
name: Windmill Run a Script and Await its Result
summary: Trigger a script by path, poll the job until it completes, then read the result.
- url: arazzo/windmill-run-script-and-cleanup-job-workflow.yml
name: Windmill Run a Script and Clean up its Job
summary: Run a script, await its result, capture it, then delete the completed job record.
- url: arazzo/windmill-run-script-with-timeout-cancel-workflow.yml
name: Windmill Run a Script with a Cancel Guard
summary: Run a script, inspect the job, and cancel it if it is still queued or running.
- url: arazzo/windmill-schedule-flow-workflow.yml
name: Windmill Schedule a Flow
summary: Resolve a flow, create a cron schedule for it, then read the schedule back.
- url: arazzo/windmill-schedule-script-workflow.yml
name: Windmill Schedule a Script
summary: Resolve a script, create a cron schedule for it, then read the schedule back.
- type: LinkedIn
url: https://www.linkedin.com/company/windmill-dev
- type: Portal
url: https://www.windmill.dev
- type: Documentation
url: https://www.windmill.dev/docs/intro
- type: GettingStarted
url: https://www.windmill.dev/docs/getting_started/how_to_use_windmill
- type: Pricing
url: https://www.windmill.dev/pricing
- type: Plans
url: https://www.windmill.dev/docs/misc/plans_details
- type: Blog
url: https://www.windmill.dev/blog
- type: ChangeLog
url: https://www.windmill.dev/changelog
- type: RoadMap
url: https://www.windmill.dev/roadmap
- type: Login
url: https://app.windmill.dev/user/login
- type: GitHubOrg
url: https://github.com/windmill-labs
- type: GitHubRepo
url: https://github.com/windmill-labs/windmill
- type: IntegrationHub
url: https://hub.windmill.dev
- type: StatusPage
url: https://windmill.betteruptime.com/
- type: Discord
url: https://discord.com/invite/V7PM2YHsPB
- type: CommunityForum
url: https://questions.windmill.dev/
- type: OpenAPI
url: https://raw.githubusercontent.com/windmill-labs/windmill/main/backend/windmill-api/openapi.yaml
- type: TermsOfService
url: https://www.windmill.dev/terms_of_service
- type: PrivacyPolicy
url: https://www.windmill.dev/privacy_policy
- type: LicenseTerms
url: https://www.windmill.dev/terms
- type: TrustCenter
url: https://trust.windmill.dev
- type: Careers
url: https://www.windmill.dev/careers
- type: Partners
url: https://www.windmill.dev/partners
- type: CaseStudies
url: https://www.windmill.dev/case-studies
- type: Brand
url: https://www.windmill.dev/brand
- type: JSONLDContext
url: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/json-ld/windmill-context.jsonld
- type: Vocabulary
url: https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/vocabulary/windmill-vocabulary.yml
- type: Integrations
url: https://www.windmill.dev/integrations
integrations:
- name: More details Airtable
- name: More details Discord
- name: More details GitHub
- name: More details Google Sheets
- name: More details Hubspot
- name: More details Notion
- name: More details OpenAI
- name: More details Slack
- name: More details Stripe
- name: More details Supabase
- name: More details S3
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com