Windmill Users API

Users, authentication, tokens, and service accounts.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/windmill-dev-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

windmill-dev-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Windmill Apps Users API
  description: 'Windmill is an open-source developer platform that turns scripts into internal tools, UIs, workflows, and cron jobs, executed by a distributed worker fleet. This is a representative subset of the Windmill REST API - the same surface used by the Windmill CLI and web UI. The authoritative, machine-generated specification is served live at GET /openapi.yaml (see https://app.windmill.dev/openapi.html); this document curates the most commonly used, stable endpoints for discovery.

    Almost every resource is scoped under a workspace at the /w/{workspace} path prefix. Windmill runs as Windmill Cloud (base https://app.windmill.dev/api) or self-hosted (base http(s)://your-host/api). Requests are authenticated with a Bearer token created in the Windmill UI under account settings, or with a session cookie.'
  version: 1.745.0
  contact:
    name: Windmill
    url: https://www.windmill.dev
  license:
    name: AGPL-3.0 (community) / Windmill Enterprise License
    url: https://github.com/windmill-labs/windmill/blob/main/LICENSE
servers:
- url: https://app.windmill.dev/api
  description: Windmill Cloud
- url: http://localhost:8000/api
  description: Local development (self-hosted)
security:
- bearerAuth: []
- cookieAuth: []
tags:
- name: Users
  description: Users, authentication, tokens, and service accounts.
paths:
  /users/whoami:
    get:
      operationId: globalWhoami
      tags:
      - Users
      summary: Get current global user
      description: Returns the globally authenticated user.
      responses:
        '200':
          description: The current user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /w/{workspace}/users/whoami:
    parameters:
    - $ref: '#/components/parameters/Workspace'
    get:
      operationId: whoami
      tags:
      - Users
      summary: Get current workspace user
      description: Returns the current user within the workspace context.
      responses:
        '200':
          description: The current workspace user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /w/{workspace}/users/list:
    parameters:
    - $ref: '#/components/parameters/Workspace'
    get:
      operationId: listWorkspaceUsers
      tags:
      - Users
      summary: List workspace users
      description: Lists users who are members of the workspace.
      responses:
        '200':
          description: A list of users.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /users/tokens/create:
    post:
      operationId: createToken
      tags:
      - Users
      summary: Create an API token
      description: Creates a new API token for the authenticated user.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                expiration:
                  type: string
                  format: date-time
      responses:
        '201':
          description: The created token string.
          content:
            application/json:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Missing or invalid Bearer token or session cookie.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            name:
              type: string
            message:
              type: string
    User:
      type: object
      properties:
        email:
          type: string
          format: email
        username:
          type: string
        is_admin:
          type: boolean
        operator:
          type: boolean
  parameters:
    Workspace:
      name: workspace
      in: path
      required: true
      description: The workspace id (tenant) the resource belongs to.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token created in the Windmill UI under account settings, passed as Authorization: Bearer YOUR_TOKEN.'
    cookieAuth:
      type: apiKey
      in: cookie
      name: token
      description: Session cookie set by the Windmill web UI after login.