How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Windmill app API

The app API from Windmill — 30 operation(s) for app.

Windmill app API is one of 59 APIs that Windmill publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include App. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a getting-started guide, and authentication docs.

This API exposes 30 operations across 30 paths, and defines 6 schemas. It is described by OpenAPI 3.2.0, at version 1.694.0.

Requests are made against a single base URL, /api.

30 operations 30 paths 6 schemas 2 DELETE20 GET8 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.694.0
Base URL
https://app.windmill.dev/api
Authentication
HTTP Bearer, API Key
License
Resource Areas
1

Authentication & Security 2

Windmill app API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). An API key is passed in the cookie as token (cookieAuth). By default, every request must be authenticated.

Paths & Operations 30

Across 30 paths, the API surfaces 30 operations — 2 DELETE, 20 GET, 8 POST. Each is listed below with its method, path, parameters, and response codes.

app 30
GET
/apps/hub/list
List All Hub Apps
listHubApps → 200
GET
/apps/hub/get/{id}
Get Hub App by Id
getHubAppById 1 param → 200
GET
/apps/hub/get_raw/{id}
Get Hub Raw App by Id
getHubRawAppById 1 param → 200
GET
/apps_u/public_app_by_custom_path/{custom_path}
Get Public App by Custom Path
getPublicAppByCustomPath 1 param → 200
GET
/w/{workspace}/apps/get_data/v/{secretWithExtension}
Get Raw App Data by
getRawAppData 2 params → 200
GET
/w/{workspace}/apps/list_search
List Apps for Search
listSearchApp 1 param → 200
GET
/w/{workspace}/apps/list
List All Apps
listApps 11 params → 200
POST
/w/{workspace}/apps/create
Create App
createApp 1 param body → 201
POST
/w/{workspace}/apps/create_raw
Create App Raw
createAppRaw 1 param body → 201
GET
/w/{workspace}/apps/exists/{path}
Does an App Exisst at Path
existsApp 2 params → 200
GET
/w/{workspace}/apps/get/p/{path}
Get App by Path
getAppByPath 3 params → 200
GET
/w/{workspace}/apps/get/lite/{path}
Get App Lite by Path
getAppLiteByPath 2 params → 200
GET
/w/{workspace}/apps/get/draft/{path}
Get App by Path with Draft
getAppByPathWithDraft 2 params → 200
GET
/w/{workspace}/apps/history/p/{path}
Get App History by Path
getAppHistoryByPath 2 params → 200
GET
/w/{workspace}/apps/get_latest_version/{path}
Get Apps's Latest Version
getAppLatestVersion 2 params → 200
GET
/w/{workspace}/apps/list_paths_from_workspace_runnable/{runnable_kind}/{path}
List App Paths from Workspace Runnable
listAppPathsFromWorkspaceRunnable 3 params → 200
POST
/w/{workspace}/apps/history_update/a/{id}/v/{version}
Update App History
updateAppHistory 3 params body → 200
GET
/w/{workspace}/apps_u/public_app/{path}
Get Public App by Secret
getPublicAppBySecret 2 params → 200
GET
/w/{workspace}/apps_u/public_resource/{path}
Get Public Resource
get public resource 2 params → 200
GET
/w/{workspace}/apps/secret_of/{path}
Get Public Secret of App
getPublicSecretOfApp 2 params → 200
GET
/w/{workspace}/apps/secret_of_latest_version/{path}
Get Public Secret of Latest Version of an App Bundle
getPublicSecretOfLatestVersionOfApp 2 params → 200
GET
/w/{workspace}/apps/get/v/{id}
Get App by Version
getAppByVersion 2 params → 200
DELETE
/w/{workspace}/apps/delete/{path}
Delete App
deleteApp 2 params → 200
POST
/w/{workspace}/apps/update/{path}
Update App
updateApp 2 params body → 200
POST
/w/{workspace}/apps/update_raw/{path}
Update App
updateAppRaw 2 params body → 200
GET
/w/{workspace}/apps/custom_path_exists/{custom_path}
Check if Custom Path Exists
customPathExists 2 params → 200
POST
/w/{workspace}/apps/sign_s3_objects
Sign S3 Objects, to be Used by Anonymous Users in Public Apps
signS3Objects 1 param body → 200
POST
/w/{workspace}/apps_u/execute_component/{path}
ExecuteComponent
executeComponent 2 params body → 200
POST
/w/{workspace}/apps_u/upload_s3_file/{path}
Upload S3 File from App
uploadS3FileFromApp 9 params body → 200
DELETE
/w/{workspace}/apps_u/delete_s3_file
Delete S3 File from App
deleteS3FileFromApp 2 params → 200

Schemas 6

The contract defines 6 schemas that model the data the API accepts and returns. The most detailed are AppWithLastVersion (15 properties), ListableApp (11 properties), Policy (7 properties), S3Object (4 properties). Each schema is shown below with its type and property counts.

AppHistory
object
2 properties 1 required
S3Object
object
4 properties 1 required
ListableApp
object
11 properties 8 required
AppWithLastVersion
object
15 properties 12 required
AppWithLastVersionWDraft
Policy
object
7 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

windmill-app-api-openapi.yml Raw ↑

Other APIs Windmill publishes across the network.

Windmill admin API
Windmill agent_workers API
Windmill asset API
Windmill audit API
Windmill azure_trigger API
Windmill capture API
Windmill concurrencyGroups API
Windmill config API
Windmill documentation API
Windmill draft API
Windmill email_trigger API
Windmill favorite API
Where this information came from

This is an independent, third-party profile of Windmill app API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.