Windmill audit API

The audit API from Windmill — 2 operation(s) for audit.

OpenAPI Specification

windmill-audit-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 1.694.0
  title: Windmill admin audit API
  contact:
    name: Windmill Team
    email: contact@windmill.dev
    url: https://windmill.dev
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://windmill.dev/img/windmill.svg
servers:
- url: /api
security:
- bearerAuth: []
- cookieAuth: []
tags:
- name: audit
paths:
  /w/{workspace}/audit/get/{id}:
    get:
      summary: Get Audit Log (requires Admin Privilege)
      operationId: getAuditLog
      tags:
      - audit
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/PathId'
      responses:
        '200':
          description: an audit log
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLog'
  /w/{workspace}/audit/list:
    get:
      summary: List Audit Logs (requires Admin Privilege)
      operationId: listAuditLogs
      tags:
      - audit
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/Before'
      - $ref: '#/components/parameters/After'
      - $ref: '#/components/parameters/Username'
      - $ref: '#/components/parameters/Operation'
      - name: operations
        in: query
        description: comma separated list of exact operations to include
        schema:
          type: string
      - name: exclude_operations
        in: query
        description: comma separated list of operations to exclude
        schema:
          type: string
      - $ref: '#/components/parameters/ResourceName'
      - $ref: '#/components/parameters/ActionKind'
      - name: all_workspaces
        in: query
        description: get audit logs for all workspaces
        schema:
          type: boolean
      responses:
        '200':
          description: a list of audit logs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuditLog'
components:
  parameters:
    WorkspaceId:
      name: workspace
      in: path
      required: true
      schema:
        type: string
    Before:
      name: before
      description: filter on started before (inclusive) timestamp
      in: query
      schema:
        type: string
        format: date-time
    ActionKind:
      name: action_kind
      description: filter on type of operation
      in: query
      schema:
        type: string
        enum:
        - Create
        - Update
        - Delete
        - Execute
    PathId:
      name: id
      in: path
      required: true
      schema:
        type: integer
    Username:
      name: username
      description: filter on exact username of user
      in: query
      schema:
        type: string
    Operation:
      name: operation
      description: filter on exact or prefix name of operation
      in: query
      schema:
        type: string
    ResourceName:
      name: resource
      description: filter on exact or prefix name of resource
      in: query
      schema:
        type: string
    PerPage:
      name: per_page
      description: number of items to return for a given page (default 30, max 100)
      in: query
      schema:
        type: integer
    Page:
      name: page
      description: which page to return (start at 1, default 1)
      in: query
      schema:
        type: integer
    After:
      name: after
      description: filter on created after (exclusive) timestamp
      in: query
      schema:
        type: string
        format: date-time
  schemas:
    AuditLog:
      type: object
      properties:
        workspace_id:
          type: string
        id:
          type: integer
        timestamp:
          type: string
          format: date-time
        username:
          type: string
        operation:
          type: string
          enum:
          - jobs.run
          - jobs.run.script
          - jobs.run.preview
          - jobs.run.flow
          - jobs.run.flow_preview
          - jobs.run.script_hub
          - jobs.run.dependencies
          - jobs.run.identity
          - jobs.run.noop
          - jobs.flow_dependencies
          - jobs
          - jobs.cancel
          - jobs.force_cancel
          - jobs.disapproval
          - jobs.delete
          - account.delete
          - ai.request
          - resources.create
          - resources.update
          - resources.delete
          - resource_types.create
          - resource_types.update
          - resource_types.delete
          - schedule.create
          - schedule.setenabled
          - schedule.edit
          - schedule.delete
          - scripts.create
          - scripts.update
          - scripts.archive
          - scripts.delete
          - users.create
          - users.delete
          - users.update
          - users.login
          - users.login_failure
          - users.logout
          - users.accept_invite
          - users.decline_invite
          - users.token.create
          - users.token.delete
          - users.add_to_workspace
          - users.add_global
          - users.setpassword
          - users.impersonate
          - users.leave_workspace
          - oauth.login
          - oauth.login_failure
          - oauth.signup
          - variables.create
          - variables.delete
          - variables.update
          - flows.create
          - flows.update
          - flows.delete
          - flows.archive
          - apps.create
          - apps.update
          - apps.delete
          - folder.create
          - folder.update
          - folder.delete
          - folder.add_owner
          - folder.remove_owner
          - group.create
          - group.delete
          - group.edit
          - group.adduser
          - group.removeuser
          - igroup.create
          - igroup.delete
          - igroup.adduser
          - igroup.removeuser
          - variables.decrypt_secret
          - workspaces.edit_command_script
          - workspaces.edit_deploy_to
          - workspaces.edit_auto_invite_domain
          - workspaces.edit_webhook
          - workspaces.edit_copilot_config
          - workspaces.edit_error_handler
          - workspaces.create
          - workspaces.update
          - workspaces.archive
          - workspaces.unarchive
          - workspaces.delete
        action_kind:
          type: string
          enum:
          - Created
          - Updated
          - Delete
          - Execute
        resource:
          type: string
        parameters:
          type: object
        span:
          type: string
      required:
      - workspace_id
      - id
      - timestamp
      - username
      - operation
      - action_kind
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    cookieAuth:
      type: apiKey
      in: cookie
      name: token
externalDocs:
  description: documentation portal
  url: https://windmill.dev