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 setting API

The setting API from Windmill — 43 operation(s) for setting.

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

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

This API exposes 46 operations across 43 paths, and defines 13 schemas. It is described by OpenAPI 3.0.3, at version 1.694.0.

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

46 operations 43 paths 13 schemas 14 GET31 POST1 PUT

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 setting 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 46

Across 43 paths, the API surfaces 46 operations — 14 GET, 31 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

setting 46
POST
/settings/refresh_custom_instance_user_pwd
Refreshes the Password for the Custominstanceuser
refreshCustomInstanceUserPwd → 200
POST
/settings/list_custom_instance_pg_databases
Returns the Set-up Statuses of Custom Instance Pg Databases
listCustomInstanceDbs → 200
POST
/settings/setup_custom_instance_pg_database/{name}
Runs CREATE DATABASE on the Windmill Postgres and Grants Access to the Custominstanceuser
setupCustomInstanceDb 1 param body → 200
POST
/settings/drop_custom_instance_pg_database/{name}
Drops a Custom Instance Database (superadmin Only, Irreversible)
dropCustomInstanceDb 1 param → 200
GET
/settings/global/{key}
Get Global Settings
getGlobal 1 param → 200
POST
/settings/global/{key}
Post Global Settings
setGlobal 1 param body → 200
GET
/settings_u/ruff_config
Get Instance Ruff Config (unauthenticated)
getRuffConfig → 200
GET
/settings/local
Get Local Settings
getLocal → 200
POST
/settings/test_smtp
Test Smtp
testSmtp body → 200
POST
/settings/test_critical_channels
Test Critical Channels
testCriticalChannels body → 200
GET
/settings/critical_alerts
Get All Critical Alerts
getCriticalAlerts 3 params → 200
POST
/settings/critical_alerts/{id}/acknowledge
Acknowledge a Critical Alert
acknowledgeCriticalAlert 1 param → 200
POST
/settings/critical_alerts/acknowledge_all
Acknowledge All Unacknowledged Critical Alerts
acknowledgeAllCriticalAlerts → 200
POST
/settings/test_license_key
Test License Key
testLicenseKey body → 200
POST
/settings/test_object_storage_config
Test Object Storage Config
testObjectStorageConfig body → 200
GET
/settings/object_storage_usage
Get Current or Last Object Storage Usage Computation (null if Never Run)
getObjectStorageUsage → 200
POST
/settings/object_storage_usage
Start a Background Computation of Object Storage Usage by Top-level Folder
computeObjectStorageUsage → 202
POST
/settings/run_log_cleanup
Start a Manual Cleanup of Expired Logs from Object Storage
runLogCleanup → 202
GET
/settings/log_cleanup_status
Get Status of the Manual Log Cleanup Task
getLogCleanupStatus → 200
POST
/settings/send_stats
Send Stats
sendStats → 200
POST
/settings/restart_worker_group/{worker_group}
Restart Worker Group
restartWorkerGroup 1 param → 200
GET
/settings/get_stats
Get Telemetry Stats with HMAC Signature (EE Only)
getStats → 200
GET
/settings/latest_key_renewal_attempt
Get Latest Key Renewal Attempt
getLatestKeyRenewalAttempt → 200
POST
/settings/renew_license_key
Renew License Key
renewLicenseKey 1 param → 200
POST
/settings/customer_portal
Create Customer Portal Session
createCustomerPortalSession 1 param → 200
POST
/saml/test_metadata
Test Metadata
testMetadata body → 200
GET
/settings/list_global
List Global Settings
listGlobalSettings → 200
GET
/settings/instance_config
Get Full Instance Config (global Settings + Worker Configs)
getInstanceConfig → 200
PUT
/settings/instance_config
Update Instance Config (bulk Upsert, No Deletes). Empty or Missing Globalsettings/workerconfigs are Skipped.
setInstanceConfig body → 200
GET
/min_keep_alive_version
Get Minimum Worker Versions Required to Stay Alive
getMinKeepAliveVersion → 200
GET
/.well-known/jwks.json
Get JWKS for Vault JWT Authentication
getJwks → 200
POST
/settings/test_secret_backend
Test Secret Backend Connection (HashiCorp Vault)
testSecretBackend body → 200
POST
/settings/migrate_secrets_to_vault
Migrate Secrets from Database to HashiCorp Vault
migrateSecretsToVault body → 200
POST
/settings/migrate_secrets_to_database
Migrate Secrets from HashiCorp Vault to Database
migrateSecretsToDatabase body → 200
POST
/settings/test_azure_kv_backend
Test Azure Key Vault Connection
testAzureKvBackend body → 200
POST
/settings/migrate_secrets_to_azure_kv
Migrate Secrets from Database to Azure Key Vault
migrateSecretsToAzureKv body → 200
POST
/settings/migrate_secrets_from_azure_kv
Migrate Secrets from Azure Key Vault to Database
migrateSecretsFromAzureKv body → 200
POST
/settings/test_aws_sm_backend
Test Connection to AWS Secrets Manager
testAwsSmBackend body → 200
POST
/settings/migrate_secrets_to_aws_sm
Migrate Secrets from Database to AWS Secrets Manager
migrateSecretsToAwsSm body → 200
POST
/settings/migrate_secrets_from_aws_sm
Migrate Secrets from AWS Secrets Manager to Database
migrateSecretsFromAwsSm body → 200
GET
/w/{workspace}/workspaces/get_secondary_storage_names
Get Secondary Storage Names
getSecondaryStorageNames 2 params → 200
GET
/w/{workspace}/workspaces/critical_alerts
Get All Critical Alerts for this Workspace
workspaceGetCriticalAlerts 4 params → 200
POST
/w/{workspace}/workspaces/critical_alerts/{id}/acknowledge
Acknowledge a Critical Alert for this Workspace
workspaceAcknowledgeCriticalAlert 2 params → 200
POST
/w/{workspace}/workspaces/critical_alerts/acknowledge_all
Acknowledge All Unacknowledged Critical Alerts for this Workspace
workspaceAcknowledgeAllCriticalAlerts 1 param → 200
POST
/w/{workspace}/workspaces/critical_alerts/mute
Mute Critical Alert UI for this Workspace
workspaceMuteCriticalAlertsUI 1 param body → 200
POST
/w/{workspace}/workspaces/public_app_rate_limit
Set Public App Rate Limit for this Workspace
setPublicAppRateLimit 1 param body → 200

Schemas 13

The contract defines 13 schemas that model the data the API accepts and returns. The most detailed are CriticalAlert (6 properties), CustomInstanceDbLogs (6 properties), VaultSettings (6 properties), AzureKeyVaultSettings (5 properties). Each schema is shown below with its type and property counts.

InstanceConfig
object
Unified instance configuration combining global settings and worker group configs
2 properties
CustomInstanceDb
object
4 properties 2 required
CustomInstanceDbLogs
object
6 properties
JwksResponse
object
1 property 1 required
SecretMigrationReport
object
4 properties 4 required
VaultSettings
object
6 properties 2 required
SecretMigrationFailure
object
3 properties 3 required
AwsSecretsManagerSettings
object
5 properties 1 required
CustomInstanceDbTag
string
LoggedWizardStatus
string
GlobalSetting
object
2 properties 2 required
CriticalAlert
object
6 properties
AzureKeyVaultSettings
object
5 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

windmill-setting-api-openapi.yml Raw ↑

Other APIs Windmill publishes across the network.

Windmill admin API
Windmill agent_workers API
Windmill app 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