Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
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.0.3, 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.0.3
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.

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

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