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

The workspace API from Windmill — 96 operation(s) for workspace.

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

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

This API exposes 103 operations across 96 paths, and defines 50 schemas. It is described by OpenAPI 3.0.3, at version 1.694.0.

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

103 operations 96 paths 50 schemas 4 DELETE40 GET58 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 workspace 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 103

Across 96 paths, the API surfaces 103 operations — 4 DELETE, 40 GET, 58 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

workspace 103
GET
/workspaces/list
List All Workspaces Visible to Me
listWorkspaces → 200
GET
/workspaces/allowed_domain_auto_invite
Is Domain Allowed for Auto Invi
isDomainAllowed → 200
GET
/workspaces/users
List All Workspaces Visible to Me with User Info
listUserWorkspaces → 200
GET
/w/{workspace}/workspaces/get_as_superadmin
Get Workspace as Super Admin (require to be Super Admin)
getWorkspaceAsSuperAdmin 1 param → 200
GET
/workspaces/list_as_superadmin
List All Workspaces as Super Admin (require to be Super Admin)
listWorkspacesAsSuperAdmin 2 params → 200
POST
/workspaces/create
Create Workspace
createWorkspace body → 201
POST
/w/{workspace}/workspaces/create_workspace_fork_branch
Create Forked Workspace Branch with Git Sync
createWorkspaceForkGitBranch 1 param body → 201
POST
/w/{workspace}/workspaces/create_fork
Create Forked Workspace
createWorkspaceFork 1 param body → 201
POST
/workspaces/exists
Exists Workspace
existsWorkspace body → 200
POST
/workspaces/exists_username
Exists Username
existsUsername body → 200
POST
/w/{workspace}/github_app/token
Get Github App Token
getGithubAppToken 1 param body → 200
POST
/w/{workspace}/workspaces/invite_user
Invite User to Workspace
inviteUser 1 param body → 200
POST
/w/{workspace}/workspaces/add_user
Add User to Workspace
addUser 1 param body → 200
POST
/w/{workspace}/workspaces/create_service_account
Create a Service Account
createServiceAccount 1 param body → 201
POST
/w/{workspace}/workspaces/delete_invite
Delete User Invite
delete invite 1 param body → 200
POST
/w/{workspace}/workspaces/archive
Archive Workspace
archiveWorkspace 1 param → 200
POST
/workspaces/unarchive/{workspace}
Unarchive Workspace
unarchiveWorkspace 1 param → 200
DELETE
/workspaces/delete/{workspace}
Delete Workspace (require Super Admin)
deleteWorkspace 2 params → 200
POST
/w/{workspace}/workspaces/leave
Leave Workspace
leaveWorkspace 1 param → 200
GET
/w/{workspace}/workspaces/get_workspace_name
Get Workspace Name
getWorkspaceName 1 param → 200
POST
/w/{workspace}/workspaces/change_workspace_name
Change Workspace Name
changeWorkspaceName 1 param body → 200
POST
/w/{workspace}/workspaces/change_workspace_id
Change Workspace Id
changeWorkspaceId 1 param body → 200
POST
/w/{workspace}/workspaces/change_workspace_color
Change Workspace Id
changeWorkspaceColor 1 param body → 200
POST
/w/{workspace}/workspaces/operator_settings
Update Operator Settings for a Workspace
updateOperatorSettings 1 param body → 200
GET
/w/{workspace}/workspaces/compare/{target_workspace_id}
Compare Two Workspaces
compareWorkspaces 2 params → 200
POST
/w/{workspace}/workspaces/reset_diff_tally/{fork_workspace_id}
Resets the Ahead and Behind Deployement Counter After a Deployement
resetDiffTally 2 params → 200
GET
/w/{workspace}/workspaces/list_pending_invites
List Pending Invites for a Workspace
listPendingInvites 1 param → 200
GET
/w/{workspace}/workspaces/get_public_settings
Get Public Settings
getPublicSettings 1 param → 200
GET
/w/{workspace}/workspaces/get_settings
Get Settings (admin Only)
getSettings 1 param → 200
GET
/w/{workspace}/workspaces/get_deploy_to
Get Deploy to
getDeployTo 1 param → 200
GET
/w/{workspace}/workspaces/is_premium
Get if Workspace is Premium
getIsPremium 1 param → 200
GET
/w/{workspace}/workspaces/premium_info
Get Premium Info
getPremiumInfo 2 params → 200
GET
/w/{workspace}/workspaces/threshold_alert
Get Threshold Alert Info
getThresholdAlert 1 param → 200
POST
/w/{workspace}/workspaces/threshold_alert
Set Threshold Alert Info
setThresholdAlert 1 param body → 200
POST
/w/{workspace}/workspaces/rebuild_dependency_map
Rebuild Dependency Map
rebuildDependencyMap 1 param → 200
GET
/w/{workspace}/workspaces/get_dependents/{imported_path}
Get Dependents of an Imported Path
getDependents 2 params → 200
GET
/w/{workspace}/workspaces/get_imports/{importer_path}
Get Script Imports for an Importer Path
getImports 2 params → 200
POST
/w/{workspace}/workspaces/get_dependents_amounts
Get Dependents Amounts for Multiple Imported Paths
getDependentsAmounts 1 param body → 200
GET
/w/{workspace}/workspaces/get_dependency_map
Get Dependency Map
getDependencyMap 1 param → 200
POST
/w/{workspace}/workspaces/edit_slack_command
Edit Slack Command
editSlackCommand 1 param body → 200
GET
/w/{workspace}/workspaces/slack_oauth_config
Get Workspace Slack Oauth Config
getWorkspaceSlackOauthConfig 1 param → 200
POST
/w/{workspace}/workspaces/slack_oauth_config
Set Workspace Slack Oauth Config
setWorkspaceSlackOauthConfig 1 param body → 200
DELETE
/w/{workspace}/workspaces/slack_oauth_config
Delete Workspace Slack Oauth Config
deleteWorkspaceSlackOauthConfig 1 param → 200
POST
/w/{workspace}/workspaces/edit_teams_command
Edit Teams Command
editTeamsCommand 1 param body → 200
GET
/w/{workspace}/workspaces/available_teams_ids
List Available Teams Ids
listAvailableTeamsIds 3 params → 200
GET
/w/{workspace}/workspaces/available_teams_channels
List Available Channels for a Specific Team
listAvailableTeamsChannels 2 params → 200
POST
/w/{workspace}/workspaces/connect_teams
Connect Teams
connectTeams 1 param body → 200
POST
/w/{workspace}/workspaces/connect_slack
Connect Slack (non-interactive; Pre-minted Bot Token)
connectSlack 1 param body → 200
POST
/w/{workspace}/workspaces/run_slack_message_test_job
Run a Job that Sends a Message to Slack
runSlackMessageTestJob 1 param body → 200
POST
/w/{workspace}/workspaces/run_teams_message_test_job
Run a Job that Sends a Message to Teams
runTeamsMessageTestJob 1 param body → 200
POST
/w/{workspace}/workspaces/edit_deploy_to
Edit Deploy to
editDeployTo 1 param body → 200
POST
/w/{workspace}/workspaces/edit_auto_invite
Edit Auto Invite
editAutoInvite 1 param body → 200
POST
/w/{workspace}/workspaces/edit_instance_groups
Edit Instance Groups
editInstanceGroups 1 param body → 200
POST
/w/{workspace}/workspaces/edit_webhook
Edit Webhook
editWebhook 1 param body → 200
POST
/w/{workspace}/workspaces/edit_copilot_config
Edit Copilot Config
editCopilotConfig 1 param body → 200
GET
/w/{workspace}/workspaces/get_copilot_settings_state
Get Copilot Settings State
getCopilotSettingsState 1 param → 200
GET
/w/{workspace}/workspaces/get_copilot_info
Get Copilot Info
getCopilotInfo 1 param → 200
POST
/w/{workspace}/workspaces/edit_error_handler
Edit Error Handler
editErrorHandler 1 param body → 200
POST
/w/{workspace}/workspaces/edit_success_handler
Edit Success Handler
editSuccessHandler 1 param body → 200
POST
/w/{workspace}/workspaces/edit_large_file_storage_config
Edit Large File Storage Settings
editLargeFileStorageConfig 1 param body → 200
GET
/w/{workspace}/workspaces/list_ducklakes
List Ducklakes
listDucklakes 1 param → 200
GET
/w/{workspace}/workspaces/list_datatables
List Datatables
listDataTables 1 param → 200
GET
/w/{workspace}/workspaces/list_datatable_schemas
List Schemas of All Connected Datatables
listDataTableSchemas 1 param → 200
GET
/w/{workspace}/workspaces/list_datatable_tables
List Tables of All Connected Datatables
listDataTableTables 1 param → 200
GET
/w/{workspace}/workspaces/get_datatable_table_schema
Get One Datatable Table Schema
getDataTableTableSchema 4 params → 200
POST
/w/{workspace}/workspaces/edit_ducklake_config
Edit Ducklake Settings
editDucklakeConfig 1 param body → 200
POST
/w/{workspace}/workspaces/edit_datatable_config
Edit Datatable Settings
editDataTableConfig 1 param body → 200
POST
/w/{workspace}/workspaces/create_pg_database
Create a New PostgreSQL Database for a Datatable
createPgDatabase 1 param body → 200
POST
/w/{workspace}/workspaces/drop_forked_datatable_databases
Drop Forked Datatable Databases
dropForkedDatatableDatabases 1 param body → 200
POST
/w/{workspace}/workspaces/import_pg_database
Import a PostgreSQL Database from Source to Target via Pgdump
importPgDatabase 1 param body → 200
POST
/w/{workspace}/workspaces/export_pg_schema
Export the Schema of a PostgreSQL Database
exportPgSchema 1 param body → 200
POST
/w/{workspace}/workspaces/get_datatable_full_schema
Get the Full Schema of a Datatable Database as TableEditorValues
getDatatableFullSchema 1 param body → 200
GET
/w/{workspace}/workspaces/git_sync_enabled
Check if Git Sync is Available for this Workspace
getGitSyncEnabled 1 param → 200
POST
/w/{workspace}/workspaces/edit_git_sync_config
Edit Workspace Git Sync Settings
editWorkspaceGitSyncConfig 1 param body → 200
POST
/w/{workspace}/workspaces/edit_git_sync_repository
Add or Update Individual Git Sync Repository
editGitSyncRepository 1 param body → 200
DELETE
/w/{workspace}/workspaces/delete_git_sync_repository
Delete Individual Git Sync Repository
deleteGitSyncRepository 1 param body → 200
POST
/w/{workspace}/workspaces/edit_deploy_ui_config
Edit Workspace Deploy Ui Settings
editWorkspaceDeployUISettings 1 param body → 200
POST
/w/{workspace}/workspaces/edit_default_app
Edit Default App for Workspace
editWorkspaceDefaultApp 1 param body → 200
POST
/w/{workspace}/workspaces/default_scripts
Edit Default Scripts for Workspace
editDefaultScripts 1 param body → 200
GET
/w/{workspace}/workspaces/default_scripts
Get Default Scripts for Workspace
get default scripts 1 param → 200
POST
/w/{workspace}/workspaces/set_environment_variable
Set Environment Variable
setEnvironmentVariable 1 param body → 200
GET
/w/{workspace}/workspaces/encryption_key
Retrieves the Encryption Key for this Workspace
getWorkspaceEncryptionKey 1 param → 200
POST
/w/{workspace}/workspaces/encryption_key
Update the Encryption Key for this Workspace
setWorkspaceEncryptionKey 1 param body → 200
GET
/w/{workspace}/workspaces/default_app
Get Default App for Workspace
getWorkspaceDefaultApp 1 param → 200
GET
/w/{workspace}/workspaces/usage
Get Usage
getWorkspaceUsage 1 param → 200
GET
/w/{workspace}/workspaces/used_triggers
Get Used Triggers
getUsedTriggers 1 param → 200
GET
/w/{workspace}/workspaces/protection_rules
List All Protection Rules for a Workspace
listProtectionRules 1 param → 200
POST
/w/{workspace}/workspaces/protection_rules
Create a New Protection Rule
createProtectionRule 1 param body → 200400
POST
/w/{workspace}/workspaces/protection_rules/{rule_name}
Update an Existing Protection Rule
updateProtectionRule 2 params body → 200404
DELETE
/w/{workspace}/workspaces/protection_rules/{rule_name}
Delete a Protection Rule
deleteProtectionRule 2 params → 200404
GET
/w/{workspace}/deployment_request/eligible_deployers
List Users Eligible to be Deployment Request Assignees
listDeploymentRequestEligibleDeployers 1 param → 200
GET
/w/{workspace}/deployment_request/open
Get the Currently Open Deployment Request for this Fork
getOpenDeploymentRequest 1 param → 200
POST
/w/{workspace}/deployment_request
Create a New Deployment Request
createDeploymentRequest 1 param body → 200400409
POST
/w/{workspace}/deployment_request/{id}/cancel
Cancel an Open Deployment Request
cancelDeploymentRequest 2 params → 200
POST
/w/{workspace}/deployment_request/{id}/close_merged
Close a Deployment Request After a Successful Merge
closeDeploymentRequestMerged 2 params → 200
POST
/w/{workspace}/deployment_request/{id}/comment
Append a Comment to an Open Deployment Request
createDeploymentRequestComment 2 params body → 200400
POST
/w/{workspace}/workspaces/log_chat
Log AI Chat Message
logAiChat 1 param body → 204
GET
/w/{workspace}/workspaces/cloud_quotas
Get Cloud Quota Usage and Limits for Workspace
getCloudQuotas 1 param → 200
POST
/w/{workspace}/workspaces/prune_versions
Prune Old Versions of Scripts, Flows, or Apps
pruneVersions 1 param body → 200
GET
/w/{workspace}/shared_ui/get
Get the Workspace Shared UI Folder (full Content)
getSharedUi 1 param → 200
GET
/w/{workspace}/shared_ui/list
List Paths/sizes of the Workspace Shared UI Folder
listSharedUi 1 param → 200
GET
/w/{workspace}/shared_ui/version
Get the Current Version of the Workspace Shared UI Folder
getSharedUiVersion 1 param → 200
PUT
/w/{workspace}/shared_ui
Replace the Workspace Shared UI Folder (admin Only)
updateSharedUi 1 param body → 200

Schemas 50

The contract defines 50 schemas that model the data the API accepts and returns. The most detailed are CompareSummary (11 properties), OperatorSettings (10 properties), DeploymentRequestComment (9 properties), DeploymentRequest (8 properties). Each schema is shown below with its type and property counts.

GitRepositorySettings
object
7 properties 1 required
WorkspaceGitSyncSettings
object
1 property
WorkspaceItemDiff
object
7 properties 7 required
WorkspaceComparison
object
5 properties 5 required
RuleBypasserUsers
array
Users that can bypass this ruleset
ErrorHandlerConfig
object
Configuration for the workspace error handler
4 properties
DataTableSchema
object
3 properties 2 required
ProtectionRules
array
Configuration of protection restrictions
SuccessHandlerConfig
object
Configuration for the workspace success handler
2 properties
CreateWorkspace
object
4 properties 2 required
EditSuccessHandler
Request body for editing the workspace success handler. Accepts both new grouped format and legacy flat format for backward compatibility.
Workspace
object
6 properties 4 required
WorkspaceDeployUISettings
object
2 properties
DataTableTableSchema
object
4 properties 4 required
CompareSummary
object
11 properties 11 required
EditSuccessHandlerLegacy
object
Legacy flat format for editing success handler (deprecated, use new format)
2 properties
InstanceAIProviderSummary
object
2 properties 2 required
DependencyMap
object
5 properties
DeploymentRequestAssignee
object
2 properties 2 required
LargeFileStorage
object
7 properties
DataTableSettings
object
1 property 1 required
QuotaInfo
object
3 properties 3 required
DeploymentRequestEligibleDeployer
object
3 properties 3 required
DependencyDependent
object
3 properties 2 required
EditErrorHandlerLegacy
object
Legacy flat format for editing error handler (deprecated, use new format)
3 properties
DeploymentRequest
object
8 properties 8 required
ProtectionRuleKind
string
AIConfig
object
5 properties
DeploymentRequestComment
object
9 properties 6 required
ScriptArgs
object
The arguments to pass to the script or flow
AIProvider
string
CreateWorkspaceFork
object
4 properties 3 required
AIProviderModel
object
2 properties 2 required
ProtectionRuleset
object
A workspace protection rule defining restrictions and bypass permissions
5 properties 4 required
DucklakeSettings
object
1 property 1 required
OperatorSettings
object
10 properties 10 required
WorkspaceInvite
object
5 properties 4 required
AutoInviteConfig
object
Configuration for auto-inviting users to the workspace
6 properties
S3PermissionRule
object
2 properties 2 required
WorkspaceDefaultScripts
object
3 properties
EditErrorHandler
Request body for editing the workspace error handler. Accepts both new grouped format and legacy flat format for backward compatibility.
DependentsAmount
object
2 properties 2 required
DataTableTables
object
3 properties 2 required
GitSyncObjectType
string
InstanceAISummary
object
3 properties 1 required
EditSuccessHandlerNew
object
New grouped format for editing success handler
2 properties
AIProviderConfig
object
2 properties 2 required
RuleBypasserGroups
array
Groups that can bypass this ruleset
UserWorkspaceList
object
2 properties 2 required
EditErrorHandlerNew
object
New grouped format for editing error handler
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

windmill-workspace-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