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

The user API from Windmill — 53 operation(s) for user.

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

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

This API exposes 54 operations across 53 paths, and defines 23 schemas. It is described by OpenAPI 3.0.3, at version 1.694.0.

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

54 operations 53 paths 23 schemas 3 DELETE25 GET26 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 user 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 54

Across 53 paths, the API surfaces 54 operations — 3 DELETE, 25 GET, 26 POST. Each is listed below with its method, path, parameters, and response codes.

user 54
POST
/auth/login
Login with Password
login body → 200
POST
/auth/logout
Logout
logout → 200
GET
/auth/is_smtp_configured
Check if SMTP is Configured for Password Reset
isSmtpConfigured → 200
GET
/auth/is_password_login_disabled
Check if Password Login is Disabled Instance-wide
isPasswordLoginDisabled → 200
POST
/auth/request_password_reset
Request Password Reset Email
requestPasswordReset body → 200400
POST
/auth/reset_password
Reset Password Using Token
resetPassword body → 200400
GET
/w/{workspace}/users/get/{username}
Get User (require Admin Privilege)
getUser 2 params → 200
POST
/w/{workspace}/users/update/{username}
Update User (require Admin Privilege)
updateUser 2 params body → 200
GET
/w/{workspace}/users/is_owner/{path}
Is Owner of Path
isOwnerOfPath 2 params → 200
POST
/users/setpassword
Set Password
setPassword body → 200
POST
/users/set_password_of/{user}
Set Password for a Specific User (require Super Admin)
setPasswordForUser 1 param body → 200
POST
/users/set_login_type/{user}
Set Login Type for a Specific User (require Super Admin)
setLoginTypeForUser 1 param body → 200
POST
/users/create
Create User
createUserGlobally body → 201
POST
/users/update/{email}
Global Update User (require Super Admin)
globalUserUpdate 1 param body → 200
GET
/users/username_info/{email}
Global Username Info (require Super Admin)
globalUsernameInfo 1 param → 200
POST
/users/rename/{email}
Global Rename User (require Super Admin)
globalUserRename 1 param body → 200
DELETE
/users/delete/{email}
Global Delete User (require Super Admin)
globalUserDelete 1 param → 200
POST
/users/overwrite
Global Overwrite Users (require Super Admin and EE)
globalUsersOverwrite body → 200
GET
/users/export
Global Export Users (require Super Admin and EE)
globalUsersExport → 200
GET
/users/ext_jwt_tokens
List External JWT Tokens (ee Only)
listExtJwtTokens 3 params → 200
POST
/users/onboarding
Submit User Onboarding Data
submitOnboardingData body → 200
DELETE
/w/{workspace}/users/delete/{username}
Delete User (require Admin Privilege)
deleteUser 2 params → 200
GET
/w/{workspace}/users/offboard_preview/{username}
Preview Offboarding for a Workspace User (require Admin Privilege)
offboardPreview 2 params → 200
POST
/w/{workspace}/users/offboard/{username}
Offboard a Workspace User (reassign Objects, Optionally Delete User)
offboardWorkspaceUser 2 params body → 200
GET
/users/offboard_preview/{email}
Preview Global Offboarding for a User Across All Workspaces (require Super Admin)
globalOffboardPreview 1 param → 200
POST
/users/offboard/{email}
Offboard a User Globally (reassign Objects Across Workspaces, Optionally Delete)
offboardGlobalUser 1 param body → 200
POST
/w/{workspace}/users/convert_to_group/{username}
Convert Manual User to Group User (require Admin Privilege)
convertUserToGroup 2 params → 200
GET
/users/email
Get Current User Email (if Logged In)
getCurrentEmail → 200
GET
/users/refresh_token
Refresh the Current Token
refreshUserToken 1 param → 200
GET
/users/tutorial_progress
Get Tutorial Progress
getTutorialProgress → 200
POST
/users/tutorial_progress
Update Tutorial Progress
updateTutorialProgress body → 200
POST
/users/leave_instance
Leave Instance
leaveInstance → 200
GET
/users/usage
Get Current Usage Outside of Premium Workspaces
getUsage → 200
GET
/users/all_runnables
Get All Runnables in Every Workspace
getRunnable → 200
GET
/users/whoami
Get Current Global Whoami (if Logged In)
globalWhoami → 200
GET
/users/list_invites
List All Workspace Invites
listWorkspaceInvites → 200
GET
/w/{workspace}/users/whoami
Whoami
whoami 1 param → 200
POST
/users/accept_invite
Accept Invite to Workspace
acceptInvite body → 200
POST
/users/decline_invite
Decline Invite to Workspace
declineInvite body → 200
POST
/w/{workspace}/users/impersonate_service_account
Impersonate a Service Account
impersonateServiceAccount 1 param body → 201
POST
/w/{workspace}/users/exit_impersonation
Exit Service Account Impersonation
exitImpersonation 1 param body → 200
GET
/w/{workspace}/users/whois/{username}
Whois
whois 2 params → 200
GET
/users/exists/{email}
Exists Email
existsEmail 1 param → 200
GET
/users/list_as_super_admin
List All Users as Super Admin (require to be Super Amdin)
listUsersAsSuperAdmin 3 params → 200
GET
/w/{workspace}/users/list
List Users
listUsers 1 param → 200
GET
/w/{workspace}/users/list_usage
List Users Usage
listUsersUsage 1 param → 200
GET
/w/{workspace}/users/list_usernames
List Usernames
listUsernames 1 param → 200
GET
/w/{workspace}/users/username_to_email/{username}
Get Email from Username
usernameToEmail 2 params → 200
POST
/users/tokens/create
Create Token
createToken body → 201
POST
/users/tokens/impersonate
Create Token to Impersonate a User (require Superadmin)
createTokenImpersonate body → 201
DELETE
/users/tokens/delete/{token_prefix}
Delete Token
deleteToken 1 param → 200
POST
/users/tokens/update_scopes/{token_prefix}
Update Scopes of an Existing Token (owner Only)
updateTokenScopes 1 param body → 200
GET
/users/tokens/list
List Token
listTokens 3 params → 200
POST
/oauth/login_callback/{client_name}
Login with Oauth Authorization Flow
loginWithOauth 1 param body → 200

Schemas 23

The contract defines 23 schemas that model the data the API accepts and returns. The most detailed are User (13 properties), GlobalUserInfo (12 properties), ExternalJwtToken (9 properties), OffboardSummary (8 properties). Each schema is shown below with its type and property counts.

OffboardPreview
object
6 properties 6 required
ExportedUser
object
8 properties 4 required
UserSource
object
3 properties 1 required
PasswordResetResponse
object
1 property 1 required
ExternalJwtToken
object
9 properties 6 required
UserUsage
object
2 properties
NewToken
object
4 properties
WorkspaceReassignment
object
2 properties 1 required
TruncatedToken
object
8 properties 3 required
OffboardTokenInfo
object
3 properties 2 required
OffboardSummary
object
8 properties 8 required
EditWorkspaceUser
object
3 properties
OffboardResponse
object
2 properties
WorkspaceInvite
object
5 properties 4 required
GlobalOffboardRequest
object
2 properties
OffboardAffectedPaths
object
7 properties
User
object
13 properties 9 required
OffboardRequest
object
3 properties 1 required
GlobalOffboardPreview
object
1 property 1 required
Login
object
2 properties 2 required
GlobalUserInfo
object
12 properties 7 required
NewTokenImpersonate
object
4 properties 1 required
WorkspaceOffboardPreview
object
3 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

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