* feat(raw-apps): add public URL and custom path support for raw apps - Enable public URL UI in raw app editor by removing hideSecretUrl prop - Add bundle_secret field to AppWithLastVersion for raw app rendering - Compute bundle_secret in get_public_app_by_secret endpoint - Update PublicApp.svelte to render RawAppPreview for raw apps - Make get_data endpoint accessible without auth for anonymous raw apps - Use /apps_u/ endpoint for bundle loading to support anonymous access This allows raw apps to use the same public URL and custom path features as regular apps, with proper support for anonymous (no login required) execution mode. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: compute bundle_secret only once in get_public_app_by_secret Move bundle_secret computation after all authorization checks to avoid duplication between anonymous and authenticated code paths. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: add explicit error state for raw apps missing workspace Show a clear error message instead of silently falling through to render AppPreview when a raw app is loaded without workspace info. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * update sqlx --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
21960 lines
577 KiB
YAML
21960 lines
577 KiB
YAML
openapi: "3.0.3"
|
|
|
|
info:
|
|
version: 1.612.2
|
|
title: Windmill 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
|
|
externalDocs:
|
|
description: documentation portal
|
|
url: https://windmill.dev
|
|
|
|
servers:
|
|
- url: /api
|
|
|
|
security:
|
|
- bearerAuth: []
|
|
- cookieAuth: []
|
|
|
|
paths:
|
|
/version:
|
|
get:
|
|
summary: get backend version
|
|
operationId: backendVersion
|
|
tags:
|
|
- settings
|
|
responses:
|
|
"200":
|
|
description: git version of backend
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/uptodate:
|
|
get:
|
|
summary: is backend up to date
|
|
operationId: backendUptodate
|
|
tags:
|
|
- settings
|
|
responses:
|
|
"200":
|
|
description: is backend up to date
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/ee_license:
|
|
get:
|
|
summary: get license id
|
|
operationId: getLicenseId
|
|
tags:
|
|
- settings
|
|
responses:
|
|
"200":
|
|
description: get license id (empty if not ee)
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/inkeep:
|
|
post:
|
|
summary: query Windmill AI documentation assistant (EE only)
|
|
operationId: queryDocumentation
|
|
x-mcp-tool: true
|
|
tags:
|
|
- documentation
|
|
requestBody:
|
|
description: query to send to the AI documentation assistant
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
query:
|
|
type: string
|
|
description: The documentation query to send to the AI assistant
|
|
required:
|
|
- query
|
|
responses:
|
|
"200":
|
|
description: AI documentation assistant response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
description: Response from Inkeep service
|
|
"403":
|
|
description: Enterprise Edition required
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/openapi.yaml:
|
|
get:
|
|
summary: get openapi yaml spec
|
|
operationId: getOpenApiYaml
|
|
tags:
|
|
- settings
|
|
responses:
|
|
"200":
|
|
description: openapi yaml file content
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/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"
|
|
|
|
/auth/login:
|
|
post:
|
|
security: []
|
|
summary: login with password
|
|
operationId: login
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: credentials
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Login"
|
|
|
|
responses:
|
|
"200":
|
|
description: >
|
|
Successfully authenticated. The session ID is returned in a cookie
|
|
named `token` and as plaintext response. Preferred method of
|
|
authorization is through the bearer token. The cookie is only for
|
|
browser convenience.
|
|
|
|
headers:
|
|
Set-Cookie:
|
|
schema:
|
|
type: string
|
|
example: token=abcde12345; Path=/; HttpOnly
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/auth/logout:
|
|
post:
|
|
security: []
|
|
summary: logout
|
|
operationId: logout
|
|
tags:
|
|
- user
|
|
|
|
responses:
|
|
"200":
|
|
description: clear cookies and clear token (if applicable)
|
|
headers:
|
|
Set-Cookie:
|
|
schema:
|
|
type: string
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/auth/is_smtp_configured:
|
|
get:
|
|
security: []
|
|
summary: check if SMTP is configured for password reset
|
|
operationId: isSmtpConfigured
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: returns true if SMTP is configured
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/auth/request_password_reset:
|
|
post:
|
|
security: []
|
|
summary: request password reset email
|
|
operationId: requestPasswordReset
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: email to send password reset link to
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- email
|
|
properties:
|
|
email:
|
|
type: string
|
|
format: email
|
|
responses:
|
|
"200":
|
|
description: password reset email sent (if user exists)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PasswordResetResponse"
|
|
"400":
|
|
description: SMTP not configured
|
|
|
|
/auth/reset_password:
|
|
post:
|
|
security: []
|
|
summary: reset password using token
|
|
operationId: resetPassword
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: token and new password
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- token
|
|
- new_password
|
|
properties:
|
|
token:
|
|
type: string
|
|
new_password:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: password reset successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PasswordResetResponse"
|
|
"400":
|
|
description: invalid or expired token
|
|
|
|
/w/{workspace}/users/get/{username}:
|
|
get:
|
|
summary: get user (require admin privilege)
|
|
operationId: getUser
|
|
tags:
|
|
- user
|
|
- admin
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/User"
|
|
|
|
/w/{workspace}/users/update/{username}:
|
|
post:
|
|
summary: update user (require admin privilege)
|
|
operationId: updateUser
|
|
tags:
|
|
- user
|
|
- admin
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: new user
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditWorkspaceUser"
|
|
responses:
|
|
"200":
|
|
description: edited user
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/users/is_owner/{path}:
|
|
get:
|
|
summary: is owner of path
|
|
operationId: isOwnerOfPath
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: is owner
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/users/setpassword:
|
|
post:
|
|
summary: set password
|
|
operationId: setPassword
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: set password
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
password:
|
|
type: string
|
|
required:
|
|
- password
|
|
responses:
|
|
"200":
|
|
description: password set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/set_password_of/{user}:
|
|
post:
|
|
summary: set password for a specific user (require super admin)
|
|
operationId: setPasswordForUser
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: user
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: set password
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
password:
|
|
type: string
|
|
required:
|
|
- password
|
|
responses:
|
|
"200":
|
|
description: password set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/set_login_type/{user}:
|
|
post:
|
|
summary: set login type for a specific user (require super admin)
|
|
operationId: setLoginTypeForUser
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: user
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: set login type
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
login_type:
|
|
type: string
|
|
required:
|
|
- login_type
|
|
responses:
|
|
"200":
|
|
description: login type set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/create:
|
|
post:
|
|
summary: create user
|
|
operationId: createUserGlobally
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: user info
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
password:
|
|
type: string
|
|
super_admin:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
company:
|
|
type: string
|
|
skip_email:
|
|
type: boolean
|
|
description: Skip sending email notifications to the user
|
|
required:
|
|
- email
|
|
- password
|
|
- super_admin
|
|
responses:
|
|
"201":
|
|
description: user created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/update/{email}:
|
|
post:
|
|
summary: global update user (require super admin)
|
|
operationId: globalUserUpdate
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: email
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: new user info
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
is_super_admin:
|
|
type: boolean
|
|
is_devops:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/username_info/{email}:
|
|
get:
|
|
summary: global username info (require super admin)
|
|
operationId: globalUsernameInfo
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: email
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user renamed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
workspace_usernames:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- workspace_id
|
|
- username
|
|
required:
|
|
- username
|
|
- workspace_usernames
|
|
|
|
/users/rename/{email}:
|
|
post:
|
|
summary: global rename user (require super admin)
|
|
operationId: globalUserRename
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: email
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: new username
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
new_username:
|
|
type: string
|
|
required:
|
|
- new_username
|
|
responses:
|
|
"200":
|
|
description: user renamed
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/delete/{email}:
|
|
delete:
|
|
summary: global delete user (require super admin)
|
|
operationId: globalUserDelete
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: email
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
/users/overwrite:
|
|
post:
|
|
summary: global overwrite users (require super admin and EE)
|
|
operationId: globalUsersOverwrite
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: List of users
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportedUser"
|
|
responses:
|
|
"200":
|
|
description: Success message
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/export:
|
|
get:
|
|
summary: global export users (require super admin and EE)
|
|
operationId: globalUsersExport
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: exported users
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportedUser"
|
|
|
|
/users/onboarding:
|
|
post:
|
|
summary: Submit user onboarding data
|
|
operationId: submitOnboardingData
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
touch_point:
|
|
type: string
|
|
use_case:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Onboarding data submitted successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/users/delete/{username}:
|
|
delete:
|
|
summary: delete user (require admin privilege)
|
|
operationId: deleteUser
|
|
tags:
|
|
- user
|
|
- admin
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: delete user
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
/w/{workspace}/users/convert_to_group/{username}:
|
|
post:
|
|
summary: convert manual user to group user (require admin privilege)
|
|
operationId: convertUserToGroup
|
|
tags:
|
|
- user
|
|
- admin
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: convert user to group user
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/github_app/connected_repositories:
|
|
get:
|
|
summary: get connected repositories
|
|
operationId: getGlobalConnectedRepositories
|
|
tags:
|
|
- Git Sync
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
description: Page number for pagination (default 1)
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
default: 1
|
|
responses:
|
|
"200":
|
|
description: connected repositories
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GithubInstallations"
|
|
|
|
/workspaces/list:
|
|
get:
|
|
summary: list all workspaces visible to me
|
|
operationId: listWorkspaces
|
|
tags:
|
|
- workspace
|
|
responses:
|
|
"200":
|
|
description: all workspaces
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Workspace"
|
|
|
|
/workspaces/allowed_domain_auto_invite:
|
|
get:
|
|
summary: is domain allowed for auto invi
|
|
operationId: isDomainAllowed
|
|
tags:
|
|
- workspace
|
|
responses:
|
|
"200":
|
|
description: domain allowed or not
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/workspaces/users:
|
|
get:
|
|
summary: list all workspaces visible to me with user info
|
|
operationId: listUserWorkspaces
|
|
tags:
|
|
- workspace
|
|
responses:
|
|
"200":
|
|
description: workspace with associated username
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UserWorkspaceList"
|
|
|
|
/w/{workspace}/workspaces/get_as_superadmin:
|
|
get:
|
|
summary: get workspace as super admin (require to be super admin)
|
|
operationId: getWorkspaceAsSuperAdmin
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: workspace
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Workspace"
|
|
|
|
/workspaces/list_as_superadmin:
|
|
get:
|
|
summary: list all workspaces as super admin (require to be super admin)
|
|
operationId: listWorkspacesAsSuperAdmin
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: workspaces
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Workspace"
|
|
|
|
/workspaces/create:
|
|
post:
|
|
summary: create workspace
|
|
operationId: createWorkspace
|
|
tags:
|
|
- workspace
|
|
requestBody:
|
|
description: new token
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateWorkspace"
|
|
responses:
|
|
"201":
|
|
description: token created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/create_workspace_fork_branch:
|
|
post:
|
|
summary: create forked workspace branch with git sync
|
|
operationId: createWorkspaceForkGitBranch
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new forked workspace
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateWorkspaceFork"
|
|
responses:
|
|
"201":
|
|
description: forked workspace branch created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/workspaces/create_fork:
|
|
post:
|
|
summary: create forked workspace
|
|
operationId: createWorkspaceFork
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new forked workspace
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateWorkspaceFork"
|
|
responses:
|
|
"201":
|
|
description: forked workspace created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/workspaces/exists:
|
|
post:
|
|
summary: exists workspace
|
|
operationId: existsWorkspace
|
|
tags:
|
|
- workspace
|
|
requestBody:
|
|
description: id of workspace
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
required:
|
|
- id
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: boolean
|
|
|
|
/workspaces/exists_username:
|
|
post:
|
|
summary: exists username
|
|
operationId: existsUsername
|
|
tags:
|
|
- workspace
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- id
|
|
- username
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: boolean
|
|
|
|
/settings/refresh_custom_instance_user_pwd:
|
|
post:
|
|
summary: Refreshes the password for the custom_instance_user
|
|
operationId: refreshCustomInstanceUserPwd
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
|
|
/settings/list_custom_instance_pg_databases:
|
|
post:
|
|
summary: Returns the set-up statuses of custom instance pg databases
|
|
operationId: listCustomInstanceDbs
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: Statuses of all custom instance dbs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/CustomInstanceDb"
|
|
|
|
/settings/setup_custom_instance_pg_database/{name}:
|
|
post:
|
|
summary: Runs CREATE DATABASE on the Windmill Postgres and grants access to the custom_instance_user
|
|
operationId: setupCustomInstanceDb
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tag:
|
|
$ref: "#/components/schemas/CustomInstanceDbTag"
|
|
parameters:
|
|
- in: path
|
|
name: name
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The name of the database to create
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CustomInstanceDb"
|
|
|
|
/settings/global/{key}:
|
|
get:
|
|
summary: get global settings
|
|
operationId: getGlobal
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/Key"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
post:
|
|
summary: post global settings
|
|
operationId: setGlobal
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/Key"
|
|
requestBody:
|
|
description: value set
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value: {}
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/local:
|
|
get:
|
|
summary: get local settings
|
|
operationId: getLocal
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/settings/test_smtp:
|
|
post:
|
|
summary: test smtp
|
|
operationId: testSmtp
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: test smtp payload
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
to:
|
|
type: string
|
|
smtp:
|
|
type: object
|
|
properties:
|
|
host:
|
|
type: string
|
|
username:
|
|
type: string
|
|
password:
|
|
type: string
|
|
port:
|
|
type: integer
|
|
from:
|
|
type: string
|
|
tls_implicit:
|
|
type: boolean
|
|
disable_tls:
|
|
type: boolean
|
|
required:
|
|
- host
|
|
- username
|
|
- password
|
|
- port
|
|
- from
|
|
- tls_implicit
|
|
- disable_tls
|
|
required:
|
|
- to
|
|
- smtp
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/test_critical_channels:
|
|
post:
|
|
summary: test critical channels
|
|
operationId: testCriticalChannels
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: test critical channel payload
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
slack_channel:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/critical_alerts:
|
|
get:
|
|
summary: Get all critical alerts
|
|
operationId: getCriticalAlerts
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- in: query
|
|
name: page
|
|
schema:
|
|
type: integer
|
|
default: 1
|
|
description: The page number to retrieve (minimum value is 1)
|
|
- in: query
|
|
name: page_size
|
|
schema:
|
|
type: integer
|
|
default: 10
|
|
maximum: 100
|
|
description: Number of alerts per page (maximum is 100)
|
|
- in: query
|
|
name: acknowledged
|
|
schema:
|
|
type: boolean
|
|
nullable: true
|
|
description: Filter by acknowledgment status; true for acknowledged, false for unacknowledged, and omit for all alerts
|
|
responses:
|
|
"200":
|
|
description: Successfully retrieved all critical alerts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
alerts:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CriticalAlert"
|
|
total_rows:
|
|
type: integer
|
|
description: Total number of rows matching the query.
|
|
example: 100
|
|
total_pages:
|
|
type: integer
|
|
description: Total number of pages based on the page size.
|
|
example: 10
|
|
|
|
/settings/critical_alerts/{id}/acknowledge:
|
|
post:
|
|
summary: Acknowledge a critical alert
|
|
operationId: acknowledgeCriticalAlert
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: The ID of the critical alert to acknowledge
|
|
responses:
|
|
"200":
|
|
description: Successfully acknowledged the critical alert
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "Critical alert acknowledged"
|
|
|
|
/settings/critical_alerts/acknowledge_all:
|
|
post:
|
|
summary: Acknowledge all unacknowledged critical alerts
|
|
operationId: acknowledgeAllCriticalAlerts
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: Successfully acknowledged all unacknowledged critical alerts.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "All unacknowledged critical alerts acknowledged"
|
|
|
|
/settings/test_license_key:
|
|
post:
|
|
summary: test license key
|
|
operationId: testLicenseKey
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: test license key
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
license_key:
|
|
type: string
|
|
required:
|
|
- license_key
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
# pub use_ssl: Option<bool>,
|
|
# #[serde(rename = "accountName")]
|
|
# pub account_name: String,
|
|
# #[serde(rename = "tenantId")]
|
|
# pub tenant_id: Option<String>,
|
|
# #[serde(rename = "clientId")]
|
|
# pub client_id: Option<String>,
|
|
# #[serde(rename = "containerName")]
|
|
# pub container_name: String,
|
|
# #[serde(rename = "accessKey")]
|
|
# pub access_key: Option<String>,
|
|
|
|
/settings/test_object_storage_config:
|
|
post:
|
|
summary: test object storage config
|
|
operationId: testObjectStorageConfig
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: test object storage config
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties: true
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/send_stats:
|
|
post:
|
|
summary: send stats
|
|
operationId: sendStats
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/latest_key_renewal_attempt:
|
|
get:
|
|
summary: get latest key renewal attempt
|
|
operationId: getLatestKeyRenewalAttempt
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: string
|
|
attempted_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- result
|
|
- attempted_at
|
|
nullable: true
|
|
|
|
/settings/renew_license_key:
|
|
post:
|
|
summary: renew license key
|
|
operationId: renewLicenseKey
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- name: license_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/customer_portal:
|
|
post:
|
|
summary: create customer portal session
|
|
operationId: createCustomerPortalSession
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- name: license_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: url to portal
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/saml/test_metadata:
|
|
post:
|
|
summary: test metadata
|
|
operationId: testMetadata
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: test metadata
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/list_global:
|
|
get:
|
|
summary: list global settings
|
|
operationId: listGlobalSettings
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: list of settings
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GlobalSetting"
|
|
|
|
/.well-known/jwks.json:
|
|
get:
|
|
summary: get JWKS for Vault JWT authentication
|
|
operationId: getJwks
|
|
tags:
|
|
- setting
|
|
responses:
|
|
"200":
|
|
description: JSON Web Key Set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/JwksResponse"
|
|
|
|
/settings/test_secret_backend:
|
|
post:
|
|
summary: test secret backend connection (HashiCorp Vault)
|
|
operationId: testSecretBackend
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: Vault settings to test
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/VaultSettings"
|
|
responses:
|
|
"200":
|
|
description: connection successful
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/settings/migrate_secrets_to_vault:
|
|
post:
|
|
summary: migrate secrets from database to HashiCorp Vault
|
|
operationId: migrateSecretsToVault
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: Vault settings for migration target
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/VaultSettings"
|
|
responses:
|
|
"200":
|
|
description: migration report
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SecretMigrationReport"
|
|
|
|
/settings/migrate_secrets_to_database:
|
|
post:
|
|
summary: migrate secrets from HashiCorp Vault to database
|
|
operationId: migrateSecretsToDatabase
|
|
tags:
|
|
- setting
|
|
requestBody:
|
|
description: Vault settings for migration source
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/VaultSettings"
|
|
responses:
|
|
"200":
|
|
description: migration report
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SecretMigrationReport"
|
|
|
|
/users/email:
|
|
get:
|
|
summary: get current user email (if logged in)
|
|
operationId: getCurrentEmail
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: user email
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/refresh_token:
|
|
get:
|
|
summary: refresh the current token
|
|
operationId: refreshUserToken
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: if_expiring_in_less_than_s
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: new token
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/tutorial_progress:
|
|
get:
|
|
summary: get tutorial progress
|
|
operationId: getTutorialProgress
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: tutorial progress
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
progress:
|
|
type: integer
|
|
skipped_all:
|
|
type: boolean
|
|
post:
|
|
summary: update tutorial progress
|
|
operationId: updateTutorialProgress
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: progress update
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
progress:
|
|
type: integer
|
|
skipped_all:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: tutorial progress
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/leave_instance:
|
|
post:
|
|
summary: leave instance
|
|
operationId: leaveInstance
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/usage:
|
|
get:
|
|
summary: get current usage outside of premium workspaces
|
|
operationId: getUsage
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: free usage
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: number
|
|
|
|
/users/all_runnables:
|
|
get:
|
|
summary: get all runnables in every workspace
|
|
operationId: getRunnable
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: free all runnables
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
workspace:
|
|
type: string
|
|
endpoint_async:
|
|
type: string
|
|
endpoint_sync:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
required:
|
|
- workspace
|
|
- endpoint_async
|
|
- endpoint_sync
|
|
- summary
|
|
- kind
|
|
|
|
/users/whoami:
|
|
get:
|
|
summary: get current global whoami (if logged in)
|
|
operationId: globalWhoami
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: user email
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GlobalUserInfo"
|
|
|
|
/users/list_invites:
|
|
get:
|
|
summary: list all workspace invites
|
|
operationId: listWorkspaceInvites
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: list all workspace invites
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceInvite"
|
|
|
|
/w/{workspace}/users/whoami:
|
|
get:
|
|
summary: whoami
|
|
operationId: whoami
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/User"
|
|
|
|
/w/{workspace}/github_app/token:
|
|
post:
|
|
summary: get github app token
|
|
operationId: getGithubAppToken
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: jwt job token
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job_token:
|
|
type: string
|
|
required:
|
|
- job_token
|
|
responses:
|
|
"200":
|
|
description: github app token
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
required:
|
|
- token
|
|
|
|
/w/{workspace}/github_app/install_from_workspace:
|
|
post:
|
|
tags:
|
|
- Git Sync
|
|
summary: Install a GitHub installation from another workspace
|
|
operationId: installFromWorkspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
source_workspace_id:
|
|
type: string
|
|
description: The ID of the workspace containing the installation to copy
|
|
installation_id:
|
|
type: number
|
|
description: The ID of the GitHub installation to copy
|
|
required:
|
|
- source_workspace_id
|
|
- installation_id
|
|
responses:
|
|
"200":
|
|
description: Installation successfully copied
|
|
|
|
/w/{workspace}/github_app/installation/{installation_id}:
|
|
delete:
|
|
summary: Delete a GitHub installation from a workspace
|
|
operationId: deleteFromWorkspace
|
|
description: Removes a GitHub installation from the specified workspace. Requires admin privileges.
|
|
tags:
|
|
- Git Sync
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: installation_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
description: The ID of the GitHub installation to delete
|
|
responses:
|
|
"200":
|
|
description: Installation successfully deleted
|
|
|
|
/w/{workspace}/github_app/export/{installationId}:
|
|
get:
|
|
summary: Export GitHub installation JWT token
|
|
description: Exports the JWT token for a specific GitHub installation in the workspace
|
|
operationId: exportInstallation
|
|
tags:
|
|
- Git Sync
|
|
parameters:
|
|
- name: workspace
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: installationId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: Successfully exported the JWT token
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
jwt_token:
|
|
type: string
|
|
|
|
/w/{workspace}/github_app/import:
|
|
post:
|
|
summary: Import GitHub installation from JWT token
|
|
description: Imports a GitHub installation from a JWT token exported from another instance
|
|
operationId: importInstallation
|
|
tags:
|
|
- Git Sync
|
|
parameters:
|
|
- name: workspace
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- jwt_token
|
|
properties:
|
|
jwt_token:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Successfully imported the installation
|
|
|
|
/users/accept_invite:
|
|
post:
|
|
summary: accept invite to workspace
|
|
operationId: acceptInvite
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: accept invite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- workspace_id
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/decline_invite:
|
|
post:
|
|
summary: decline invite to workspace
|
|
operationId: declineInvite
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: decline invite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
required:
|
|
- workspace_id
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/invite_user:
|
|
post:
|
|
summary: invite user to workspace
|
|
operationId: inviteUser
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceInvite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
is_admin:
|
|
type: boolean
|
|
operator:
|
|
type: boolean
|
|
parent_workspace_id:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- email
|
|
- is_admin
|
|
- operator
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/add_user:
|
|
post:
|
|
summary: add user to workspace
|
|
operationId: addUser
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceInvite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
is_admin:
|
|
type: boolean
|
|
username:
|
|
type: string
|
|
operator:
|
|
type: boolean
|
|
required:
|
|
- email
|
|
- is_admin
|
|
- operator
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/delete_invite:
|
|
post:
|
|
summary: delete user invite
|
|
operationId: delete invite
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceInvite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
is_admin:
|
|
type: boolean
|
|
operator:
|
|
type: boolean
|
|
required:
|
|
- email
|
|
- is_admin
|
|
- operator
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/archive:
|
|
post:
|
|
summary: archive workspace
|
|
operationId: archiveWorkspace
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/workspaces/unarchive/{workspace}:
|
|
post:
|
|
summary: unarchive workspace
|
|
operationId: unarchiveWorkspace
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/workspaces/delete/{workspace}:
|
|
delete:
|
|
summary: delete workspace (require super admin)
|
|
operationId: deleteWorkspace
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: only_delete_forks
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/leave:
|
|
post:
|
|
summary: leave workspace
|
|
operationId: leaveWorkspace
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/get_workspace_name:
|
|
get:
|
|
summary: get workspace name
|
|
operationId: getWorkspaceName
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/change_workspace_name:
|
|
post:
|
|
summary: change workspace name
|
|
operationId: changeWorkspaceName
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
new_name:
|
|
type: string
|
|
required:
|
|
- username
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/change_workspace_id:
|
|
post:
|
|
summary: change workspace id
|
|
operationId: changeWorkspaceId
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
new_id:
|
|
type: string
|
|
new_name:
|
|
type: string
|
|
required:
|
|
- username
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/change_workspace_color:
|
|
post:
|
|
summary: change workspace id
|
|
operationId: changeWorkspaceColor
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
color:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/users/whois/{username}:
|
|
get:
|
|
summary: whois
|
|
operationId: whois
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/User"
|
|
|
|
/w/{workspace}/workspaces/operator_settings:
|
|
post:
|
|
operationId: updateOperatorSettings
|
|
summary: Update operator settings for a workspace
|
|
description: Updates the operator settings for a specific workspace. Requires workspace admin privileges.
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OperatorSettings"
|
|
responses:
|
|
"200":
|
|
description: Operator settings updated successfully
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/compare/{target_workspace_id}:
|
|
get:
|
|
operationId: compareWorkspaces
|
|
summary: Compare two workspaces
|
|
description: Compares the current workspace with a target workspace to find differences in scripts, flows, apps, resources, and variables. Returns information about items that are ahead, behind, or in conflict.
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: target_workspace_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The ID of the workspace to compare with
|
|
responses:
|
|
"200":
|
|
description: Workspace comparison results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceComparison"
|
|
|
|
/w/{workspace}/workspaces/reset_diff_tally/{fork_workspace_id}:
|
|
post:
|
|
operationId: resetDiffTally
|
|
summary: Resets the ahead and behind deployement counter after a deployement
|
|
description: This endpoint should be called after a fork deployement
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: fork_workspace_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The ID of the workspace to compare with
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/users/exists/{email}:
|
|
get:
|
|
summary: exists email
|
|
operationId: existsEmail
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: email
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/users/list_as_super_admin:
|
|
get:
|
|
summary: list all users as super admin (require to be super amdin)
|
|
operationId: listUsersAsSuperAdmin
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: active_only
|
|
in: query
|
|
description: filter only active users
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GlobalUserInfo"
|
|
|
|
/w/{workspace}/workspaces/list_pending_invites:
|
|
get:
|
|
summary: list pending invites for a workspace
|
|
operationId: listPendingInvites
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceInvite"
|
|
|
|
/w/{workspace}/workspaces/get_settings:
|
|
get:
|
|
summary: get settings
|
|
operationId: getSettings
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
slack_name:
|
|
type: string
|
|
slack_team_id:
|
|
type: string
|
|
slack_command_script:
|
|
type: string
|
|
slack_oauth_client_id:
|
|
type: string
|
|
slack_oauth_client_secret:
|
|
type: string
|
|
teams_team_id:
|
|
type: string
|
|
teams_command_script:
|
|
type: string
|
|
teams_team_name:
|
|
type: string
|
|
teams_team_guid:
|
|
type: string
|
|
auto_invite_domain:
|
|
type: string
|
|
auto_invite_operator:
|
|
type: boolean
|
|
auto_add:
|
|
type: boolean
|
|
auto_add_instance_groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
auto_add_instance_groups_roles:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
plan:
|
|
type: string
|
|
customer_id:
|
|
type: string
|
|
webhook:
|
|
type: string
|
|
deploy_to:
|
|
type: string
|
|
ai_config:
|
|
$ref: "#/components/schemas/AIConfig"
|
|
error_handler:
|
|
type: string
|
|
error_handler_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
error_handler_muted_on_cancel:
|
|
type: boolean
|
|
success_handler:
|
|
type: string
|
|
success_handler_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
large_file_storage:
|
|
$ref: "#/components/schemas/LargeFileStorage"
|
|
ducklake:
|
|
$ref: "#/components/schemas/DucklakeSettings"
|
|
datatable:
|
|
$ref: "#/components/schemas/DataTableSettings"
|
|
git_sync:
|
|
$ref: "#/components/schemas/WorkspaceGitSyncSettings"
|
|
deploy_ui:
|
|
$ref: "#/components/schemas/WorkspaceDeployUISettings"
|
|
default_app:
|
|
type: string
|
|
default_scripts:
|
|
$ref: "#/components/schemas/WorkspaceDefaultScripts"
|
|
mute_critical_alerts:
|
|
type: boolean
|
|
color:
|
|
type: string
|
|
operator_settings:
|
|
$ref: "#/components/schemas/OperatorSettings"
|
|
required:
|
|
- error_handler_muted_on_cancel
|
|
|
|
/w/{workspace}/workspaces/get_deploy_to:
|
|
get:
|
|
summary: get deploy to
|
|
operationId: getDeployTo
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
deploy_to:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/is_premium:
|
|
get:
|
|
summary: get if workspace is premium
|
|
operationId: getIsPremium
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/workspaces/premium_info:
|
|
get:
|
|
summary: get premium info
|
|
operationId: getPremiumInfo
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: skip_subscription_fetch
|
|
in: query
|
|
description: skip fetching subscription status from stripe
|
|
schema:
|
|
type: boolean
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
premium:
|
|
type: boolean
|
|
usage:
|
|
type: number
|
|
owner:
|
|
type: string
|
|
status:
|
|
type: string
|
|
is_past_due:
|
|
type: boolean
|
|
max_tolerated_executions:
|
|
type: number
|
|
required:
|
|
- premium
|
|
- owner
|
|
- is_past_due
|
|
|
|
/w/{workspace}/workspaces/threshold_alert:
|
|
get:
|
|
summary: get threshold alert info
|
|
operationId: getThresholdAlert
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
threshold_alert_amount:
|
|
type: number
|
|
last_alert_sent:
|
|
type: string
|
|
format: date-time
|
|
post:
|
|
summary: set threshold alert info
|
|
operationId: setThresholdAlert
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: threshold alert info
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
threshold_alert_amount:
|
|
type: number
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/rebuild_dependency_map:
|
|
post:
|
|
summary: rebuild dependency map
|
|
operationId: rebuildDependencyMap
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
/w/{workspace}/workspaces/get_dependents/{imported_path}:
|
|
get:
|
|
summary: get dependents of an imported path
|
|
operationId: getDependents
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: imported_path
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The imported path to get dependents for
|
|
responses:
|
|
"200":
|
|
description: list of dependents
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DependencyDependent"
|
|
|
|
/w/{workspace}/workspaces/get_dependents_amounts:
|
|
post:
|
|
summary: get dependents amounts for multiple imported paths
|
|
operationId: getDependentsAmounts
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: List of imported paths to get dependents counts for
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: list of dependents amounts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DependentsAmount"
|
|
|
|
/w/{workspace}/workspaces/get_dependency_map:
|
|
get:
|
|
summary: get dependency map
|
|
operationId: getDependencyMap
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: dmap
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DependencyMap"
|
|
|
|
/w/{workspace}/workspaces/edit_slack_command:
|
|
post:
|
|
summary: edit slack command
|
|
operationId: editSlackCommand
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceInvite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
slack_command_script:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/slack_oauth_config:
|
|
get:
|
|
summary: get workspace slack oauth config
|
|
operationId: getWorkspaceSlackOauthConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: slack oauth config
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
slack_oauth_client_id:
|
|
type: string
|
|
nullable: true
|
|
slack_oauth_client_secret:
|
|
type: string
|
|
nullable: true
|
|
description: Masked with *** if set
|
|
post:
|
|
summary: set workspace slack oauth config
|
|
operationId: setWorkspaceSlackOauthConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Slack OAuth Configuration
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- slack_oauth_client_id
|
|
- slack_oauth_client_secret
|
|
properties:
|
|
slack_oauth_client_id:
|
|
type: string
|
|
slack_oauth_client_secret:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
delete:
|
|
summary: delete workspace slack oauth config
|
|
operationId: deleteWorkspaceSlackOauthConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_teams_command:
|
|
post:
|
|
summary: edit teams command
|
|
operationId: editTeamsCommand
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceInvite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
slack_command_script:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/available_teams_ids:
|
|
get:
|
|
summary: list available teams ids
|
|
operationId: listAvailableTeamsIds
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: search
|
|
in: query
|
|
description: Search teams by name. If omitted, returns first page of all teams.
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: next_link
|
|
in: query
|
|
description: Pagination cursor URL from previous response. Pass this to fetch the next page of results.
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
teams:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
team_name:
|
|
type: string
|
|
team_id:
|
|
type: string
|
|
total_count:
|
|
type: integer
|
|
description: Total number of teams across all pages
|
|
per_page:
|
|
type: integer
|
|
description: Number of teams per page (configurable via TEAMS_PER_PAGE env var)
|
|
next_link:
|
|
type: string
|
|
nullable: true
|
|
description: URL to fetch next page of results. Null if no more pages.
|
|
|
|
/w/{workspace}/workspaces/available_teams_channels:
|
|
get:
|
|
summary: list available channels for a specific team
|
|
operationId: listAvailableTeamsChannels
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: team_id
|
|
in: query
|
|
description: Microsoft Teams team ID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: List of channels for the specified team
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
channels:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
channel_name:
|
|
type: string
|
|
channel_id:
|
|
type: string
|
|
total_count:
|
|
type: integer
|
|
|
|
/w/{workspace}/workspaces/connect_teams:
|
|
post:
|
|
summary: connect teams
|
|
operationId: connectTeams
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: connect teams
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
team_id:
|
|
type: string
|
|
team_name:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/run_slack_message_test_job:
|
|
post:
|
|
summary: run a job that sends a message to Slack
|
|
operationId: runSlackMessageTestJob
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: path to hub script to run and its corresponding args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
hub_script_path:
|
|
type: string
|
|
channel:
|
|
type: string
|
|
test_msg:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job_uuid:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/run_teams_message_test_job:
|
|
post:
|
|
summary: run a job that sends a message to Teams
|
|
operationId: runTeamsMessageTestJob
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: path to hub script to run and its corresponding args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
hub_script_path:
|
|
type: string
|
|
channel:
|
|
type: string
|
|
test_msg:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job_uuid:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_deploy_to:
|
|
post:
|
|
summary: edit deploy to
|
|
operationId: editDeployTo
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
deploy_to:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_auto_invite:
|
|
post:
|
|
summary: edit auto invite
|
|
operationId: editAutoInvite
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceInvite
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
operator:
|
|
type: boolean
|
|
invite_all:
|
|
type: boolean
|
|
auto_add:
|
|
type: boolean
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_instance_groups:
|
|
post:
|
|
summary: edit instance groups
|
|
operationId: editInstanceGroups
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Instance Groups Configuration
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
roles:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_webhook:
|
|
post:
|
|
summary: edit webhook
|
|
operationId: editWebhook
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceWebhook
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
webhook:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_copilot_config:
|
|
post:
|
|
summary: edit copilot config
|
|
operationId: editCopilotConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceCopilotConfig
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AIConfig"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/get_copilot_info:
|
|
get:
|
|
summary: get copilot info
|
|
operationId: getCopilotInfo
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AIConfig"
|
|
|
|
/w/{workspace}/workspaces/edit_error_handler:
|
|
post:
|
|
summary: edit error handler
|
|
operationId: editErrorHandler
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceErrorHandler
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error_handler:
|
|
type: string
|
|
error_handler_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
error_handler_muted_on_cancel:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_success_handler:
|
|
post:
|
|
summary: edit success handler
|
|
operationId: editSuccessHandler
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: WorkspaceSuccessHandler
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
success_handler:
|
|
type: string
|
|
success_handler_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/edit_large_file_storage_config:
|
|
post:
|
|
summary: edit large file storage settings
|
|
operationId: editLargeFileStorageConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: LargeFileStorage info
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
large_file_storage:
|
|
$ref: "#/components/schemas/LargeFileStorage"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/list_ducklakes:
|
|
get:
|
|
summary: list ducklakes
|
|
operationId: listDucklakes
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/list_datatables:
|
|
get:
|
|
summary: list Datatables
|
|
operationId: listDataTables
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/list_datatable_schemas:
|
|
get:
|
|
summary: list schemas of all connected Datatables
|
|
operationId: listDataTableSchemas
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: schemas of all datatables
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DataTableSchema"
|
|
|
|
/w/{workspace}/workspaces/edit_ducklake_config:
|
|
post:
|
|
summary: edit ducklake settings
|
|
operationId: editDucklakeConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Ducklake settings
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [settings]
|
|
properties:
|
|
settings:
|
|
$ref: "#/components/schemas/DucklakeSettings"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/edit_datatable_config:
|
|
post:
|
|
summary: edit datatable settings
|
|
operationId: editDataTableConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: DataTable settings
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [settings]
|
|
properties:
|
|
settings:
|
|
$ref: "#/components/schemas/DataTableSettings"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/edit_git_sync_config:
|
|
post:
|
|
summary: edit workspace git sync settings
|
|
operationId: editWorkspaceGitSyncConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Workspace Git sync settings
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
git_sync_settings:
|
|
$ref: "#/components/schemas/WorkspaceGitSyncSettings"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/edit_git_sync_repository:
|
|
post:
|
|
summary: add or update individual git sync repository
|
|
operationId: editGitSyncRepository
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Git sync repository settings to add or update
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
git_repo_resource_path:
|
|
type: string
|
|
description: The resource path of the git repository to update
|
|
repository:
|
|
$ref: "#/components/schemas/GitRepositorySettings"
|
|
required:
|
|
- git_repo_resource_path
|
|
- repository
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/delete_git_sync_repository:
|
|
delete:
|
|
summary: delete individual git sync repository
|
|
operationId: deleteGitSyncRepository
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Git sync repository to delete
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
git_repo_resource_path:
|
|
type: string
|
|
description: The resource path of the git repository to delete
|
|
required:
|
|
- git_repo_resource_path
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/edit_deploy_ui_config:
|
|
post:
|
|
summary: edit workspace deploy ui settings
|
|
operationId: editWorkspaceDeployUISettings
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Workspace deploy UI settings
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
deploy_ui_settings:
|
|
$ref: "#/components/schemas/WorkspaceDeployUISettings"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspaces/edit_default_app:
|
|
post:
|
|
summary: edit default app for workspace
|
|
operationId: editWorkspaceDefaultApp
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Workspace default app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
default_app_path:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/default_scripts:
|
|
post:
|
|
summary: edit default scripts for workspace
|
|
operationId: editDefaultScripts
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Workspace default app
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceDefaultScripts"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
get:
|
|
summary: get default scripts for workspace
|
|
operationId: get default scripts
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceDefaultScripts"
|
|
|
|
/w/{workspace}/workspaces/set_environment_variable:
|
|
post:
|
|
summary: set environment variable
|
|
operationId: setEnvironmentVariable
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Workspace default app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required: [name]
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/encryption_key:
|
|
get:
|
|
summary: retrieves the encryption key for this workspace
|
|
operationId: getWorkspaceEncryptionKey
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
required:
|
|
- key
|
|
post:
|
|
summary: update the encryption key for this workspace
|
|
operationId: setWorkspaceEncryptionKey
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: New encryption key
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
new_key:
|
|
type: string
|
|
skip_reencrypt:
|
|
type: boolean
|
|
required:
|
|
- new_key
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/default_app:
|
|
get:
|
|
summary: get default app for workspace
|
|
operationId: getWorkspaceDefaultApp
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
default_app_path:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/get_large_file_storage_config:
|
|
get:
|
|
summary: get large file storage config
|
|
operationId: getLargeFileStorageConfig
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LargeFileStorage"
|
|
|
|
/w/{workspace}/workspaces/usage:
|
|
get:
|
|
summary: get usage
|
|
operationId: getWorkspaceUsage
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: usage
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: number
|
|
|
|
/w/{workspace}/workspaces/used_triggers:
|
|
get:
|
|
summary: get used triggers
|
|
operationId: getUsedTriggers
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
http_routes_used:
|
|
type: boolean
|
|
websocket_used:
|
|
type: boolean
|
|
kafka_used:
|
|
type: boolean
|
|
nats_used:
|
|
type: boolean
|
|
postgres_used:
|
|
type: boolean
|
|
mqtt_used:
|
|
type: boolean
|
|
gcp_used:
|
|
type: boolean
|
|
sqs_used:
|
|
type: boolean
|
|
email_used:
|
|
type: boolean
|
|
required:
|
|
- http_routes_used
|
|
- websocket_used
|
|
- kafka_used
|
|
- nats_used
|
|
- postgres_used
|
|
- mqtt_used
|
|
- gcp_used
|
|
- sqs_used
|
|
- email_used
|
|
/w/{workspace}/users/list:
|
|
get:
|
|
summary: list users
|
|
operationId: listUsers
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/User"
|
|
|
|
/w/{workspace}/users/list_usage:
|
|
get:
|
|
summary: list users usage
|
|
operationId: listUsersUsage
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/UserUsage"
|
|
|
|
/w/{workspace}/users/list_usernames:
|
|
get:
|
|
summary: list usernames
|
|
operationId: listUsernames
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/users/username_to_email/{username}:
|
|
get:
|
|
summary: get email from username
|
|
operationId: usernameToEmail
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: email
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/tokens/list/scopes:
|
|
get:
|
|
summary: list of available scopes
|
|
operationId: ListAvailableScopes
|
|
tags:
|
|
- token
|
|
responses:
|
|
"200":
|
|
description: list of available scopes
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScopeDomain"
|
|
|
|
/users/tokens/create:
|
|
post:
|
|
summary: create token
|
|
operationId: createToken
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: new token
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewToken"
|
|
responses:
|
|
"201":
|
|
description: token created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/tokens/impersonate:
|
|
post:
|
|
summary: create token to impersonate a user (require superadmin)
|
|
operationId: createTokenImpersonate
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
description: new token
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewTokenImpersonate"
|
|
responses:
|
|
"201":
|
|
description: token created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/tokens/delete/{token_prefix}:
|
|
delete:
|
|
summary: delete token
|
|
operationId: deleteToken
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: token_prefix
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: delete token
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/users/tokens/list:
|
|
get:
|
|
summary: list token
|
|
operationId: listTokens
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: exclude_ephemeral
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: truncated token
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TruncatedToken"
|
|
|
|
/w/{workspace}/oidc/token/{audience}:
|
|
post:
|
|
summary: get OIDC token (ee only)
|
|
operationId: getOidcToken
|
|
tags:
|
|
- oidc
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: audience
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: expires_in
|
|
in: query
|
|
schema:
|
|
type: number
|
|
|
|
responses:
|
|
"200":
|
|
description: new oidc token
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/create:
|
|
post:
|
|
summary: create variable
|
|
operationId: createVariable
|
|
x-mcp-tool: true
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: already_encrypted
|
|
description: whether the variable is already encrypted (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
description: new variable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateVariable"
|
|
responses:
|
|
"201":
|
|
description: variable created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/encrypt:
|
|
post:
|
|
summary: encrypt value
|
|
operationId: encryptValue
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new variable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: encrypted value
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/delete/{path}:
|
|
delete:
|
|
summary: delete variable
|
|
operationId: deleteVariable
|
|
x-mcp-tool: true
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: variable deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/delete_bulk:
|
|
delete:
|
|
summary: delete variables in bulk
|
|
operationId: deleteVariablesBulk
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: paths to delete
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
paths:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- paths
|
|
responses:
|
|
"200":
|
|
description: deleted paths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/update/{path}:
|
|
post:
|
|
summary: update variable
|
|
operationId: updateVariable
|
|
x-mcp-tool: true
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: already_encrypted
|
|
description: whether the variable is already encrypted (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
description: updated variable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditVariable"
|
|
responses:
|
|
"200":
|
|
description: variable updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/get/{path}:
|
|
get:
|
|
summary: get variable
|
|
operationId: getVariable
|
|
x-mcp-tool: true
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: decrypt_secret
|
|
description: |
|
|
ask to decrypt secret if this variable is secret
|
|
(if not secret no effect, default: true)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: include_encrypted
|
|
description: |
|
|
ask to include the encrypted value if secret and decrypt secret is not true (default: false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: variable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ListableVariable"
|
|
|
|
/w/{workspace}/variables/get_value/{path}:
|
|
get:
|
|
summary: get variable value
|
|
operationId: getVariableValue
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: allow_cache
|
|
description: |
|
|
allow getting a cached value for improved performance
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: variable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/exists/{path}:
|
|
get:
|
|
summary: does variable exists at path
|
|
operationId: existsVariable
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: variable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/variables/list:
|
|
get:
|
|
summary: list variables
|
|
operationId: listVariable
|
|
x-mcp-tool: true
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: path_start
|
|
description: filter variables by path prefix
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: variable list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ListableVariable"
|
|
|
|
/w/{workspace}/variables/list_contextual:
|
|
get:
|
|
summary: list contextual variables
|
|
operationId: listContextualVariables
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: contextual variable list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ContextualVariable"
|
|
|
|
/w/{workspace}/workspaces/get_secondary_storage_names:
|
|
get:
|
|
summary: get secondary storage names
|
|
operationId: getSecondaryStorageNames
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/workspaces/critical_alerts:
|
|
get:
|
|
summary: Get all critical alerts for this workspace
|
|
operationId: workspaceGetCriticalAlerts
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- in: query
|
|
name: page
|
|
schema:
|
|
type: integer
|
|
default: 1
|
|
description: The page number to retrieve (minimum value is 1)
|
|
- in: query
|
|
name: page_size
|
|
schema:
|
|
type: integer
|
|
default: 10
|
|
maximum: 100
|
|
description: Number of alerts per page (maximum is 100)
|
|
- in: query
|
|
name: acknowledged
|
|
schema:
|
|
type: boolean
|
|
nullable: true
|
|
description: Filter by acknowledgment status; true for acknowledged, false for unacknowledged, and omit for all alerts
|
|
responses:
|
|
"200":
|
|
description: Successfully retrieved all critical alerts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
alerts:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CriticalAlert"
|
|
total_rows:
|
|
type: integer
|
|
description: Total number of rows matching the query.
|
|
example: 100
|
|
total_pages:
|
|
type: integer
|
|
description: Total number of pages based on the page size.
|
|
example: 10
|
|
|
|
/w/{workspace}/workspaces/critical_alerts/{id}/acknowledge:
|
|
post:
|
|
summary: Acknowledge a critical alert for this workspace
|
|
operationId: workspaceAcknowledgeCriticalAlert
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: The ID of the critical alert to acknowledge
|
|
responses:
|
|
"200":
|
|
description: Successfully acknowledged the critical alert
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "Critical alert acknowledged"
|
|
|
|
/w/{workspace}/workspaces/critical_alerts/acknowledge_all:
|
|
post:
|
|
summary: Acknowledge all unacknowledged critical alerts for this workspace
|
|
operationId: workspaceAcknowledgeAllCriticalAlerts
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: Successfully acknowledged all unacknowledged critical alerts.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "All unacknowledged critical alerts acknowledged"
|
|
|
|
/w/{workspace}/workspaces/critical_alerts/mute:
|
|
post:
|
|
summary: Mute critical alert UI for this workspace
|
|
operationId: workspaceMuteCriticalAlertsUI
|
|
tags:
|
|
- setting
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Boolean flag to mute critical alerts.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mute_critical_alerts:
|
|
type: boolean
|
|
description: Whether critical alerts should be muted.
|
|
example: true
|
|
responses:
|
|
"200":
|
|
description: Successfully updated mute critical alert settings.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "Updated mute critical alert UI settings for workspace: workspace_id"
|
|
|
|
/oauth/login_callback/{client_name}:
|
|
post:
|
|
security: []
|
|
summary: login with oauth authorization flow
|
|
operationId: loginWithOauth
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- $ref: "#/components/parameters/ClientName"
|
|
requestBody:
|
|
description: Partially filled script
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
state:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: >
|
|
Successfully authenticated. The session ID is returned in a cookie
|
|
named `token` and as plaintext response. Preferred method of
|
|
authorization is through the bearer token. The cookie is only for
|
|
browser convenience.
|
|
|
|
headers:
|
|
Set-Cookie:
|
|
schema:
|
|
type: string
|
|
example: token=abcde12345; Path=/; HttpOnly
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/oauth/connect_slack_callback:
|
|
post:
|
|
summary: connect slack callback
|
|
operationId: connectSlackCallback
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: code endpoint
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- code
|
|
- state
|
|
responses:
|
|
"200":
|
|
description: slack token
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/oauth/connect_slack_callback:
|
|
post:
|
|
summary: connect slack callback instance
|
|
operationId: connectSlackCallbackInstance
|
|
tags:
|
|
- oauth
|
|
requestBody:
|
|
description: code endpoint
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- code
|
|
- state
|
|
responses:
|
|
"200":
|
|
description: success message
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/oauth/connect_callback/{client_name}:
|
|
post:
|
|
summary: connect callback
|
|
operationId: connectCallback
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/ClientName"
|
|
requestBody:
|
|
description: code endpoint
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- code
|
|
- state
|
|
responses:
|
|
"200":
|
|
description: oauth token
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TokenResponse"
|
|
|
|
/w/{workspace}/oauth/create_account:
|
|
post:
|
|
summary: create OAuth account
|
|
operationId: createAccount
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: code endpoint
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
refresh_token:
|
|
type: string
|
|
description: "OAuth refresh token. For authorization_code flow, this contains the actual refresh token. For client_credentials flow, this must be set to an empty string."
|
|
expires_in:
|
|
type: integer
|
|
client:
|
|
type: string
|
|
grant_type:
|
|
type: string
|
|
default: "authorization_code"
|
|
cc_client_id:
|
|
type: string
|
|
description: "OAuth client ID for resource-level credentials (client_credentials flow only)"
|
|
cc_client_secret:
|
|
type: string
|
|
description: "OAuth client secret for resource-level credentials (client_credentials flow only)"
|
|
cc_token_url:
|
|
type: string
|
|
description: "OAuth token URL override for resource-level authentication (client_credentials flow only)"
|
|
mcp_server_url:
|
|
type: string
|
|
description: "MCP server URL for MCP OAuth token refresh"
|
|
required:
|
|
- refresh_token
|
|
- expires_in
|
|
- client
|
|
responses:
|
|
"200":
|
|
description: account set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/oauth/connect_client_credentials/{client}:
|
|
post:
|
|
summary: connect OAuth using client credentials
|
|
operationId: connectClientCredentials
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- name: client
|
|
in: path
|
|
description: OAuth client name
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: client credentials flow parameters
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
cc_client_id:
|
|
type: string
|
|
description: "OAuth client ID for resource-level authentication"
|
|
cc_client_secret:
|
|
type: string
|
|
description: "OAuth client secret for resource-level authentication"
|
|
cc_token_url:
|
|
type: string
|
|
description: "OAuth token URL override for resource-level authentication"
|
|
required:
|
|
- cc_client_id
|
|
- cc_client_secret
|
|
responses:
|
|
"200":
|
|
description: OAuth token response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TokenResponse"
|
|
|
|
/w/{workspace}/oauth/refresh_token/{id}:
|
|
post:
|
|
summary: refresh token
|
|
operationId: refreshToken
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/AccountId"
|
|
requestBody:
|
|
description: variable path
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
responses:
|
|
"200":
|
|
description: token refreshed
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/oauth/disconnect/{id}:
|
|
post:
|
|
summary: disconnect account
|
|
operationId: disconnectAccount
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/AccountId"
|
|
responses:
|
|
"200":
|
|
description: disconnected client
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/oauth/disconnect_slack:
|
|
post:
|
|
summary: disconnect slack
|
|
operationId: disconnectSlack
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: disconnected slack
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/oauth/disconnect_teams:
|
|
post:
|
|
summary: disconnect teams
|
|
operationId: disconnectTeams
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: disconnected teams
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/oauth/list_logins:
|
|
get:
|
|
summary: list oauth logins
|
|
operationId: listOAuthLogins
|
|
tags:
|
|
- oauth
|
|
responses:
|
|
"200":
|
|
description: list of oauth and saml login clients
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
oauth:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
display_name:
|
|
type: string
|
|
required:
|
|
- type
|
|
saml:
|
|
type: string
|
|
required:
|
|
- oauth
|
|
|
|
/oauth/list_connects:
|
|
get:
|
|
summary: list oauth connects
|
|
operationId: listOAuthConnects
|
|
tags:
|
|
- oauth
|
|
responses:
|
|
"200":
|
|
description: list of oauth connects clients
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/oauth/get_connect/{client}:
|
|
get:
|
|
summary: get oauth connect
|
|
operationId: getOAuthConnect
|
|
tags:
|
|
- oauth
|
|
parameters:
|
|
- name: client
|
|
description: client name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: get
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
extra_params:
|
|
type: object
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
grant_types:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/teams/activities:
|
|
post:
|
|
summary: send update to Microsoft Teams activity
|
|
description: Respond to a Microsoft Teams activity after a workspace command is run
|
|
operationId: sendMessageToConversation
|
|
tags:
|
|
- teams
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- conversation_id
|
|
- text
|
|
properties:
|
|
conversation_id:
|
|
type: string
|
|
description: The ID of the Teams conversation/activity
|
|
success:
|
|
type: boolean
|
|
description: Used for styling the card conditionally
|
|
default: true
|
|
text:
|
|
type: string
|
|
description: The message text to be sent in the Teams card
|
|
card_block:
|
|
type: object
|
|
description: The card block to be sent in the Teams card
|
|
|
|
responses:
|
|
"200":
|
|
description: Activity processed successfully
|
|
|
|
/w/{workspace}/resources/create:
|
|
post:
|
|
summary: create resource
|
|
operationId: createResource
|
|
x-mcp-tool: true
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: update_if_exists
|
|
description: update the resource if it already exists (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
description: new resource
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateResource"
|
|
responses:
|
|
"201":
|
|
description: resource created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/delete/{path}:
|
|
delete:
|
|
summary: delete resource
|
|
operationId: deleteResource
|
|
x-mcp-tool: true
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: resource deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/delete_bulk:
|
|
delete:
|
|
summary: delete resources in bulk
|
|
operationId: deleteResourcesBulk
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: paths to delete
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
paths:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- paths
|
|
responses:
|
|
"200":
|
|
description: deleted paths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/update/{path}:
|
|
post:
|
|
summary: update resource
|
|
operationId: updateResource
|
|
x-mcp-tool: true
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated resource
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditResource"
|
|
responses:
|
|
"200":
|
|
description: resource updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/update_value/{path}:
|
|
post:
|
|
summary: update resource value
|
|
operationId: updateResourceValue
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated resource
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value: {}
|
|
responses:
|
|
"200":
|
|
description: resource value updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/get/{path}:
|
|
get:
|
|
summary: get resource
|
|
operationId: getResource
|
|
x-mcp-tool: true
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Resource"
|
|
|
|
/w/{workspace}/resources/get_value_interpolated/{path}:
|
|
get:
|
|
summary: get resource interpolated (variables and resources are fully unrolled)
|
|
operationId: getResourceValueInterpolated
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: job_id
|
|
description: job id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: allow_cache
|
|
description: allow getting a cached value for improved performance
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: resource value
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/resources/get_value/{path}:
|
|
get:
|
|
summary: get resource value
|
|
operationId: getResourceValue
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: resource value
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/resources/git_commit_hash/{path}:
|
|
get:
|
|
summary: get git repository latest commit hash
|
|
operationId: getGitCommitHash
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: git_ssh_identity
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: git commit hash
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
commit_hash:
|
|
type: string
|
|
description: Latest commit hash from git ls-remote
|
|
required:
|
|
- commit_hash
|
|
|
|
/w/{workspace}/resources/exists/{path}:
|
|
get:
|
|
summary: does resource exists
|
|
operationId: existsResource
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: does resource exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/resources/list:
|
|
get:
|
|
summary: list resources
|
|
operationId: listResource
|
|
x-mcp-tool: true
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: resource_type
|
|
description: resource_types to list from, separated by ',',
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: resource_type_exclude
|
|
description: resource_types to not list from, separated by ',',
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path_start
|
|
description: filter resources by path prefix
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: resource list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ListableResource"
|
|
|
|
/w/{workspace}/resources/list_search:
|
|
get:
|
|
summary: list resources for search
|
|
operationId: listSearchResource
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: resource list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- path
|
|
- value
|
|
|
|
/w/{workspace}/resources/mcp_tools/{path}:
|
|
get:
|
|
summary: get MCP tools from resource
|
|
operationId: getMcpTools
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: list of MCP tools
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
parameters:
|
|
type: object
|
|
required:
|
|
- name
|
|
- parameters
|
|
|
|
/w/{workspace}/resources/list_names/{name}:
|
|
get:
|
|
summary: list resource names
|
|
operationId: listResourceNames
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: resource list names
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
path:
|
|
type: string
|
|
required:
|
|
- name
|
|
- path
|
|
|
|
/w/{workspace}/resources/type/create:
|
|
post:
|
|
summary: create resource_type
|
|
operationId: createResourceType
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new resource_type
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ResourceType"
|
|
responses:
|
|
"201":
|
|
description: resource_type created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/file_resource_type_to_file_ext_map:
|
|
get:
|
|
summary: get map from resource type to format extension
|
|
operationId: fileResourceTypeToFileExtMap
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: map from resource type to file ext
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/resources/type/delete/{path}:
|
|
delete:
|
|
summary: delete resource_type
|
|
operationId: deleteResourceType
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: resource_type deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/type/update/{path}:
|
|
post:
|
|
summary: update resource_type
|
|
operationId: updateResourceType
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated resource_type
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditResourceType"
|
|
responses:
|
|
"200":
|
|
description: resource_type updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/resources/type/get/{path}:
|
|
get:
|
|
summary: get resource_type
|
|
operationId: getResourceType
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: resource_type deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ResourceType"
|
|
|
|
/w/{workspace}/resources/type/exists/{path}:
|
|
get:
|
|
summary: does resource_type exists
|
|
operationId: existsResourceType
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: does resource_type exist
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/resources/type/list:
|
|
get:
|
|
summary: list resource_types
|
|
operationId: listResourceType
|
|
x-mcp-tool: true
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: resource_type list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ResourceType"
|
|
|
|
/w/{workspace}/resources/type/listnames:
|
|
get:
|
|
summary: list resource_types names
|
|
operationId: listResourceTypeNames
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: resource_type list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/npm_proxy/metadata/{package}:
|
|
get:
|
|
summary: get npm package metadata from private registry
|
|
operationId: getNpmPackageMetadata
|
|
tags:
|
|
- npm_proxy
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: package
|
|
description: npm package name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: package metadata
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tags:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
versions:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/npm_proxy/resolve/{package}:
|
|
get:
|
|
summary: resolve npm package version from private registry
|
|
operationId: resolveNpmPackageVersion
|
|
tags:
|
|
- npm_proxy
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: package
|
|
description: npm package name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tag
|
|
description: version tag or reference
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: resolved version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
nullable: true
|
|
|
|
/w/{workspace}/npm_proxy/filetree/{package}/{version}:
|
|
get:
|
|
summary: get npm package file tree from private registry
|
|
operationId: getNpmPackageFiletree
|
|
tags:
|
|
- npm_proxy
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: package
|
|
description: npm package name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: version
|
|
description: package version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: package file tree
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
default:
|
|
type: string
|
|
files:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
|
|
/w/{workspace}/npm_proxy/file/{package}/{version}/{filepath}:
|
|
get:
|
|
summary: get specific file from npm package in private registry
|
|
operationId: getNpmPackageFile
|
|
tags:
|
|
- npm_proxy
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: package
|
|
description: npm package name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: version
|
|
description: package version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: filepath
|
|
description: file path within package
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: file content
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/embeddings/query_resource_types:
|
|
get:
|
|
summary: query resource types by similarity
|
|
operationId: queryResourceTypes
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: text
|
|
description: query text
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: limit
|
|
description: query limit
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: resource type details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
score:
|
|
type: number
|
|
schema: {}
|
|
required:
|
|
- name
|
|
- score
|
|
|
|
/integrations/hub/list:
|
|
get:
|
|
summary: list hub integrations
|
|
operationId: listHubIntegrations
|
|
tags:
|
|
- integration
|
|
parameters:
|
|
- name: kind
|
|
description: query integrations kind
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: integrations details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
|
|
/flows/hub/list:
|
|
get:
|
|
summary: list all hub flows
|
|
operationId: listHubFlows
|
|
tags:
|
|
- flow
|
|
responses:
|
|
"200":
|
|
description: hub flows list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
flows:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
flow_id:
|
|
type: number
|
|
summary:
|
|
type: string
|
|
apps:
|
|
type: array
|
|
items:
|
|
type: string
|
|
approved:
|
|
type: boolean
|
|
votes:
|
|
type: number
|
|
|
|
required:
|
|
- id
|
|
- flow_id
|
|
- summary
|
|
- apps
|
|
- approved
|
|
- votes
|
|
|
|
/flows/hub/get/{id}:
|
|
get:
|
|
summary: get hub flow by id
|
|
operationId: getHubFlowById
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/PathId"
|
|
responses:
|
|
"200":
|
|
description: flow
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
flow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/OpenFlow"
|
|
|
|
/apps/hub/list:
|
|
get:
|
|
summary: list all hub apps
|
|
operationId: listHubApps
|
|
tags:
|
|
- app
|
|
responses:
|
|
"200":
|
|
description: hub apps list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
apps:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
app_id:
|
|
type: number
|
|
summary:
|
|
type: string
|
|
apps:
|
|
type: array
|
|
items:
|
|
type: string
|
|
approved:
|
|
type: boolean
|
|
votes:
|
|
type: number
|
|
required:
|
|
- id
|
|
- app_id
|
|
- summary
|
|
- apps
|
|
- approved
|
|
- votes
|
|
|
|
/apps/hub/get/{id}:
|
|
get:
|
|
summary: get hub app by id
|
|
operationId: getHubAppById
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/PathId"
|
|
responses:
|
|
"200":
|
|
description: app
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
app:
|
|
type: object
|
|
properties:
|
|
summary:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- summary
|
|
- value
|
|
required:
|
|
- app
|
|
|
|
/apps_u/public_app_by_custom_path/{custom_path}:
|
|
get:
|
|
summary: get public app by custom path
|
|
operationId: getPublicAppByCustomPath
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/CustomPath"
|
|
responses:
|
|
"200":
|
|
description: app details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: "#/components/schemas/AppWithLastVersion"
|
|
- type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
|
|
/scripts/hub/get/{path}:
|
|
get:
|
|
summary: get hub script content by path
|
|
operationId: getHubScriptContentByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/scripts/hub/get_full/{path}:
|
|
get:
|
|
summary: get full hub script by path
|
|
operationId: getHubScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
lockfile:
|
|
type: string
|
|
schema: {}
|
|
language:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
required:
|
|
- content
|
|
- language
|
|
|
|
/scripts/hub/pick/{path}:
|
|
get:
|
|
summary: record hub script pick
|
|
operationId: pickHubScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script pick recorded
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
required:
|
|
- success
|
|
|
|
/scripts/hub/top:
|
|
get:
|
|
summary: get top hub scripts
|
|
operationId: getTopHubScripts
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- name: limit
|
|
description: query limit
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: number
|
|
- name: app
|
|
description: query scripts app
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: kind
|
|
description: query scripts kind
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: hub scripts list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
asks:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
ask_id:
|
|
type: number
|
|
summary:
|
|
type: string
|
|
app:
|
|
type: string
|
|
version_id:
|
|
type: number
|
|
kind:
|
|
$ref: "#/components/schemas/HubScriptKind"
|
|
votes:
|
|
type: number
|
|
views:
|
|
type: number
|
|
required:
|
|
- id
|
|
- ask_id
|
|
- summary
|
|
- app
|
|
- version_id
|
|
- kind
|
|
- views
|
|
- votes
|
|
|
|
/embeddings/query_hub_scripts:
|
|
get:
|
|
summary: query hub scripts by similarity
|
|
operationId: queryHubScripts
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- name: text
|
|
description: query text
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: kind
|
|
description: query scripts kind
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: limit
|
|
description: query limit
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: number
|
|
- name: app
|
|
description: query scripts app
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
ask_id:
|
|
type: number
|
|
id:
|
|
type: number
|
|
version_id:
|
|
type: number
|
|
summary:
|
|
type: string
|
|
app:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/HubScriptKind"
|
|
score:
|
|
type: number
|
|
required:
|
|
- ask_id
|
|
- id
|
|
- version_id
|
|
- summary
|
|
- app
|
|
- kind
|
|
- score
|
|
|
|
/w/{workspace}/scripts/list_search:
|
|
get:
|
|
summary: list scripts for search
|
|
operationId: listSearchScript
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: script list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
content:
|
|
type: string
|
|
required:
|
|
- path
|
|
- content
|
|
|
|
/w/{workspace}/scripts/list:
|
|
get:
|
|
summary: list all scripts
|
|
operationId: listScripts
|
|
x-mcp-tool: true
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- name: path_start
|
|
description: mask to filter matching starting path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path_exact
|
|
description: mask to filter exact matching path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: first_parent_hash
|
|
description: mask to filter scripts whom first direct parent has exact hash
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: last_parent_hash
|
|
description: |
|
|
mask to filter scripts whom last parent in the chain has exact hash.
|
|
Beware that each script stores only a limited number of parents. Hence
|
|
the last parent hash for a script is not necessarily its top-most parent.
|
|
To find the top-most parent you will have to jump from last to last hash
|
|
until finding the parent
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: parent_hash
|
|
description: |
|
|
is the hash present in the array of stored parent hashes for this script.
|
|
The same warning applies than for last_parent_hash. A script only store a
|
|
limited number of direct parent
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: show_archived
|
|
description: |
|
|
(default false)
|
|
show only the archived files.
|
|
when multiple archived hash share the same path, only the ones with the latest create_at
|
|
are
|
|
ed.
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: include_without_main
|
|
description: |
|
|
(default false)
|
|
include scripts without an exported main function
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: include_draft_only
|
|
description: |
|
|
(default false)
|
|
include scripts that have no deployed version
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_template
|
|
description: |
|
|
(default regardless)
|
|
if true show only the templates
|
|
if false show only the non templates
|
|
if not defined, show all regardless of if the script is a template
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: kinds
|
|
description: |
|
|
(default regardless)
|
|
script kinds to filter, split by comma
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: starred_only
|
|
description: |
|
|
(default false)
|
|
show only the starred items
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: with_deployment_msg
|
|
description: |
|
|
(default false)
|
|
include deployment message
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: languages
|
|
in: query
|
|
description: |
|
|
Filter to only include scripts written in the given languages.
|
|
Accepts multiple values as a comma-separated list.
|
|
schema:
|
|
type: string
|
|
- name: without_description
|
|
in: query
|
|
description: |
|
|
(default false)
|
|
If true, the description field will be omitted from the response.
|
|
schema:
|
|
type: boolean
|
|
|
|
responses:
|
|
"200":
|
|
description: All scripts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Script"
|
|
|
|
/w/{workspace}/scripts/list_paths:
|
|
get:
|
|
summary: list all scripts paths
|
|
operationId: listScriptPaths
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: list of script paths
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/drafts/create:
|
|
post:
|
|
summary: create draft
|
|
operationId: createDraft
|
|
tags:
|
|
- draft
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
typ:
|
|
type: string
|
|
enum: ["flow", "script", "app"]
|
|
value: {}
|
|
required:
|
|
- path
|
|
- typ
|
|
- enum
|
|
responses:
|
|
"201":
|
|
description: draft created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/drafts/delete/{kind}/{path}:
|
|
delete:
|
|
summary: delete draft
|
|
operationId: deleteDraft
|
|
tags:
|
|
- draft
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: kind
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
- app
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: draft deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/create:
|
|
post:
|
|
summary: create script
|
|
operationId: createScript
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Partially filled script
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewScript"
|
|
|
|
responses:
|
|
"201":
|
|
description: script created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/toggle_workspace_error_handler/p/{path}:
|
|
post:
|
|
summary: Toggle ON and OFF the workspace error handler for a given script
|
|
operationId: toggleWorkspaceErrorHandlerForScript
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: Workspace error handler enabled
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
muted:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: error handler toggled
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/workers/custom_tags:
|
|
get:
|
|
summary: get all instance custom tags (tags are used to dispatch jobs to
|
|
different worker groups)
|
|
operationId: getCustomTags
|
|
tags:
|
|
- worker
|
|
parameters:
|
|
- name: show_workspace_restriction
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
responses:
|
|
"200":
|
|
description: list of custom tags
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/workers/custom_tags:
|
|
get:
|
|
summary: get custom tags available for this workspace
|
|
operationId: getCustomTagsForWorkspace
|
|
tags:
|
|
- worker
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: list of custom tags for workspace
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/workers/get_default_tags:
|
|
get:
|
|
summary: get all instance default tags
|
|
operationId: geDefaultTags
|
|
tags:
|
|
- worker
|
|
responses:
|
|
"200":
|
|
description: list of default tags
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/workers/is_default_tags_per_workspace:
|
|
get:
|
|
summary: is default tags per workspace
|
|
operationId: isDefaultTagsPerWorkspace
|
|
tags:
|
|
- worker
|
|
responses:
|
|
"200":
|
|
description: is the default tags per workspace
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/workspace_dependencies/create:
|
|
post:
|
|
summary: create workspace dependencies
|
|
operationId: createWorkspaceDependencies
|
|
tags:
|
|
- workspace_dependencies
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: New workspace dependencies
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewWorkspaceDependencies"
|
|
|
|
responses:
|
|
"201":
|
|
description: workspace dependencies created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/workspace_dependencies/archive/{language}:
|
|
post:
|
|
summary: archive workspace dependencies (require admin)
|
|
operationId: archiveWorkspaceDependencies
|
|
tags:
|
|
- workspace_dependencies
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: language
|
|
in: path
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspace_dependencies/delete/{language}:
|
|
post:
|
|
summary: delete workspace dependencies (require admin)
|
|
operationId: deleteWorkspaceDependencies
|
|
tags:
|
|
- workspace_dependencies
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: language
|
|
in: path
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/workspace_dependencies/list:
|
|
get:
|
|
summary: list all workspace dependencies
|
|
operationId: listWorkspaceDependencies
|
|
tags:
|
|
- workspace_dependencies
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: All workspace dependencies
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceDependencies"
|
|
|
|
/w/{workspace}/workspace_dependencies/get_latest/{language}:
|
|
get:
|
|
summary: get latest workspace dependencies by language and name
|
|
operationId: getLatestWorkspaceDependencies
|
|
tags:
|
|
- workspace_dependencies
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: language
|
|
in: path
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Latest workspace dependencies
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceDependencies"
|
|
|
|
/w/{workspace}/scripts/archive/p/{path}:
|
|
post:
|
|
summary: archive script by path
|
|
operationId: archiveScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script archived
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/archive/h/{hash}:
|
|
post:
|
|
summary: archive script by hash
|
|
operationId: archiveScriptByHash
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptHash"
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Script"
|
|
|
|
/w/{workspace}/scripts/delete/h/{hash}:
|
|
post:
|
|
summary: delete script by hash (erase content but keep hash, require admin)
|
|
operationId: deleteScriptByHash
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptHash"
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Script"
|
|
|
|
/w/{workspace}/scripts/delete/p/{path}:
|
|
post:
|
|
summary: delete script at a given path (require admin)
|
|
operationId: deleteScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: keep_captures
|
|
description: keep captures
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: script path
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/delete_bulk:
|
|
delete:
|
|
summary: delete scripts in bulk
|
|
operationId: deleteScriptsBulk
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: paths to delete
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
paths:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- paths
|
|
responses:
|
|
"200":
|
|
description: deleted paths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/get/p/{path}:
|
|
get:
|
|
summary: get script by path
|
|
operationId: getScriptByPath
|
|
x-mcp-tool: true
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: with_starred_info
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Script"
|
|
|
|
/w/{workspace}/scripts/get_triggers_count/{path}:
|
|
get:
|
|
summary: get triggers count of script
|
|
operationId: getTriggersCountOfScript
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: triggers count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TriggersCount"
|
|
|
|
/w/{workspace}/scripts/list_tokens/{path}:
|
|
get:
|
|
summary: get tokens with script scope
|
|
operationId: listTokensOfScript
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: tokens list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TruncatedToken"
|
|
|
|
/w/{workspace}/scripts/get/draft/{path}:
|
|
get:
|
|
summary: get script by path with draft
|
|
operationId: getScriptByPathWithDraft
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewScriptWithDraft"
|
|
|
|
/w/{workspace}/scripts/history/p/{path}:
|
|
get:
|
|
summary: get history of a script by path
|
|
operationId: getScriptHistoryByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script history
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScriptHistory"
|
|
|
|
/w/{workspace}/scripts/list_paths_from_workspace_runnable/{path}:
|
|
get:
|
|
summary: list script paths using provided script as a relative import
|
|
operationId: listScriptPathsFromWorkspaceRunnable
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: list of script paths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/get_latest_version/{path}:
|
|
get:
|
|
summary: get scripts's latest version (hash)
|
|
operationId: getScriptLatestVersion
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
tags:
|
|
- script
|
|
responses:
|
|
"200":
|
|
description: Script version/hash
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptHistory"
|
|
|
|
/w/{workspace}/scripts/history_update/h/{hash}/p/{path}:
|
|
post:
|
|
summary: update history of a script
|
|
operationId: updateScriptHistory
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptHash"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: Script deployment message
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
deployment_msg:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: success
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/raw/p/{path}:
|
|
get:
|
|
summary: raw script by path
|
|
operationId: rawScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script content
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/scripts_u/tokened_raw/{workspace}/{token}/{path}:
|
|
get:
|
|
summary:
|
|
raw script by path with a token (mostly used by lsp to be used with
|
|
import maps to resolve scripts)
|
|
operationId: rawScriptByPathTokened
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Token"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script content
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/exists/p/{path}:
|
|
get:
|
|
summary: exists script by path
|
|
operationId: existsScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: does it exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/scripts/get/h/{hash}:
|
|
get:
|
|
summary: get script by hash
|
|
operationId: getScriptByHash
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptHash"
|
|
- name: with_starred_info
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: authed
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Script"
|
|
|
|
/w/{workspace}/scripts/raw/h/{path}:
|
|
get:
|
|
summary: raw script by hash
|
|
operationId: rawScriptByHash
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script content
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/deployment_status/h/{hash}:
|
|
get:
|
|
summary: get script deployment status
|
|
operationId: getScriptDeploymentStatus
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptHash"
|
|
responses:
|
|
"200":
|
|
description: script details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
lock:
|
|
type: string
|
|
lock_error_logs:
|
|
type: string
|
|
job_id:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/list_selected_job_groups:
|
|
# We use post because sending a huge array as a query param can produce
|
|
# URLs that may be too long
|
|
post:
|
|
summary: list selected jobs script/flow schemas grouped by (kind, path)
|
|
operationId: listSelectedJobGroups
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: result
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
kind:
|
|
type: string
|
|
enum: ["script", "flow"]
|
|
script_path:
|
|
type: string
|
|
latest_schema:
|
|
type: object
|
|
schemas:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
schema:
|
|
type: object
|
|
script_hash:
|
|
type: string
|
|
job_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required: [schema, script_hash, job_ids]
|
|
required:
|
|
- kind
|
|
- script_path
|
|
- latest_schema
|
|
- schemas
|
|
|
|
/w/{workspace}/jobs/run/p/{path}:
|
|
post:
|
|
summary: run script by path
|
|
operationId: runScriptByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: scheduled_for
|
|
description: when to schedule this job (leave empty for immediate run)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: scheduled_in_secs
|
|
description: schedule the script to execute in the number of seconds starting now
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: skip_preprocessor
|
|
description: skip the preprocessor
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the script owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run_wait_result/p/{path}:
|
|
post:
|
|
summary: run script by path
|
|
operationId: runWaitResultScriptByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
get:
|
|
summary: run script by path with get
|
|
operationId: runWaitResultScriptByPathGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/run_wait_result/f/{path}:
|
|
post:
|
|
summary: run flow by path and wait until completion
|
|
operationId: runWaitResultFlowByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/run_wait_result/fv/{version}:
|
|
post:
|
|
summary: run flow by version and wait until completion
|
|
operationId: runWaitResultFlowByVersion
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
description: flow version ID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
get:
|
|
summary: run flow by version with GET and wait until completion
|
|
operationId: runWaitResultFlowByVersionGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
description: flow version ID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/run_and_stream/f/{path}:
|
|
post:
|
|
summary: run flow by path and stream updates via SSE
|
|
operationId: runAndStreamFlowByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
requestBody:
|
|
description: flow args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
get:
|
|
summary: run flow by path with GET and stream updates via SSE
|
|
operationId: runAndStreamFlowByPathGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/run_and_stream/fv/{version}:
|
|
post:
|
|
summary: run flow by version and stream updates via SSE
|
|
operationId: runAndStreamFlowByVersion
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
description: flow version ID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
requestBody:
|
|
description: flow args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
get:
|
|
summary: run flow by version with GET and stream updates via SSE
|
|
operationId: runAndStreamFlowByVersionGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
description: flow version ID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/run_and_stream/p/{path}:
|
|
post:
|
|
summary: run script by path and stream updates via SSE
|
|
operationId: runAndStreamScriptByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
get:
|
|
summary: run script by path with GET and stream updates via SSE
|
|
operationId: runAndStreamScriptByPathGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/run_and_stream/h/{hash}:
|
|
post:
|
|
summary: run script by hash and stream updates via SSE
|
|
operationId: runAndStreamScriptByHash
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: hash
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
requestBody:
|
|
description: script args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
get:
|
|
summary: run script by hash with GET and stream updates via SSE
|
|
operationId: runAndStreamScriptByHashGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: hash
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- name: poll_delay_ms
|
|
description: delay between polling for job updates in milliseconds
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/result_by_id/{flow_job_id}/{node_id}:
|
|
get:
|
|
summary: get job result by id
|
|
operationId: resultById
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: flow_job_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: node_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/flows/list_paths:
|
|
get:
|
|
summary: list all flow paths
|
|
operationId: listFlowPaths
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: list of flow paths
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/list_search:
|
|
get:
|
|
summary: list flows for search
|
|
operationId: listSearchFlow
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: flow list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- path
|
|
- value
|
|
|
|
/w/{workspace}/flows/list:
|
|
get:
|
|
summary: list all flows
|
|
operationId: listFlows
|
|
x-mcp-tool: true
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- name: path_start
|
|
description: mask to filter matching starting path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path_exact
|
|
description: mask to filter exact matching path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: show_archived
|
|
description: |
|
|
(default false)
|
|
show only the archived files.
|
|
when multiple archived hash share the same path, only the ones with the latest create_at
|
|
are displayed.
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: starred_only
|
|
description: |
|
|
(default false)
|
|
show only the starred items
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: include_draft_only
|
|
description: |
|
|
(default false)
|
|
include items that have no deployed version
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: with_deployment_msg
|
|
description: |
|
|
(default false)
|
|
include deployment message
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: without_description
|
|
in: query
|
|
description: |
|
|
(default false)
|
|
If true, the description field will be omitted from the response.
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: All flow
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: "#/components/schemas/Flow"
|
|
- type: object
|
|
properties:
|
|
has_draft:
|
|
type: boolean
|
|
draft_only:
|
|
type: boolean
|
|
|
|
/w/{workspace}/flows/history/p/{path}:
|
|
get:
|
|
summary: get flow history by path
|
|
operationId: getFlowHistory
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
tags:
|
|
- flow
|
|
responses:
|
|
"200":
|
|
description: Flow history
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FlowVersion"
|
|
|
|
/w/{workspace}/flows/get_latest_version/{path}:
|
|
get:
|
|
summary: get flow's latest version
|
|
operationId: getFlowLatestVersion
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
tags:
|
|
- flow
|
|
responses:
|
|
"200":
|
|
description: Flow version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FlowVersion"
|
|
|
|
/w/{workspace}/flows/list_paths_from_workspace_runnable/{runnable_kind}/{path}:
|
|
get:
|
|
summary: list flow paths from workspace runnable
|
|
operationId: listFlowPathsFromWorkspaceRunnable
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableKind"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: match_path_start
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: list of flow paths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/get/v/{version}:
|
|
get:
|
|
summary: get flow version
|
|
operationId: getFlowVersion
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
tags:
|
|
- flow
|
|
responses:
|
|
"200":
|
|
description: flow details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Flow"
|
|
|
|
/w/{workspace}/flows/history_update/v/{version}:
|
|
post:
|
|
summary: update flow history
|
|
operationId: updateFlowHistory
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
requestBody:
|
|
description: Flow deployment message
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
deployment_msg:
|
|
type: string
|
|
required:
|
|
- deployment_msg
|
|
tags:
|
|
- flow
|
|
responses:
|
|
"200":
|
|
description: success
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/get/{path}:
|
|
get:
|
|
summary: get flow by path
|
|
operationId: getFlowByPath
|
|
x-mcp-tool: true
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: with_starred_info
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: flow details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Flow"
|
|
|
|
/w/{workspace}/flows/deployment_status/p/{path}:
|
|
get:
|
|
summary: get flow deployment status
|
|
operationId: getFlowDeploymentStatus
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: flow status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
lock_error_logs:
|
|
type: string
|
|
job_id:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/flows/get_triggers_count/{path}:
|
|
get:
|
|
summary: get triggers count of flow
|
|
operationId: getTriggersCountOfFlow
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: triggers count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TriggersCount"
|
|
|
|
/w/{workspace}/flows/list_tokens/{path}:
|
|
get:
|
|
summary: get tokens with flow scope
|
|
operationId: listTokensOfFlow
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: tokens list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TruncatedToken"
|
|
|
|
/w/{workspace}/flows/toggle_workspace_error_handler/{path}:
|
|
post:
|
|
summary: Toggle ON and OFF the workspace error handler for a given flow
|
|
operationId: toggleWorkspaceErrorHandlerForFlow
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: Workspace error handler enabled
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
muted:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: error handler toggled
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/get/draft/{path}:
|
|
get:
|
|
summary: get flow by path with draft
|
|
operationId: getFlowByPathWithDraft
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: flow details with draft
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: "#/components/schemas/Flow"
|
|
- type: object
|
|
properties:
|
|
draft:
|
|
$ref: "#/components/schemas/Flow"
|
|
|
|
/w/{workspace}/flows/exists/{path}:
|
|
get:
|
|
summary: exists flow by path
|
|
operationId: existsFlowByPath
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: flow details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/flows/create:
|
|
post:
|
|
summary: create flow
|
|
operationId: createFlow
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Partially filled flow
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: "#/components/schemas/OpenFlowWPath"
|
|
- type: object
|
|
properties:
|
|
draft_only:
|
|
type: boolean
|
|
deployment_message:
|
|
type: string
|
|
responses:
|
|
"201":
|
|
description: flow created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/update/{path}:
|
|
post:
|
|
summary: update flow
|
|
operationId: updateFlow
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: Partially filled flow
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: "#/components/schemas/OpenFlowWPath"
|
|
- type: object
|
|
properties:
|
|
deployment_message:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: flow updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/archive/{path}:
|
|
post:
|
|
summary: archive flow by path
|
|
operationId: archiveFlowByPath
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: archiveFlow
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
archived:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: flow archived
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flows/delete/{path}:
|
|
delete:
|
|
summary: delete flow by path
|
|
operationId: deleteFlowByPath
|
|
tags:
|
|
- flow
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: keep_captures
|
|
description: keep captures
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: flow delete
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flow_conversations/list:
|
|
get:
|
|
summary: list flow conversations
|
|
operationId: listFlowConversations
|
|
tags:
|
|
- flow_conversation
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: flow_path
|
|
description: filter conversations by flow path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: flow conversations list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FlowConversation"
|
|
|
|
/w/{workspace}/flow_conversations/delete/{conversation_id}:
|
|
delete:
|
|
summary: delete flow conversation
|
|
operationId: deleteFlowConversation
|
|
tags:
|
|
- flow_conversation
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: conversation_id
|
|
description: conversation id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: flow conversation deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/flow_conversations/{conversation_id}/messages:
|
|
get:
|
|
summary: list conversation messages
|
|
operationId: listConversationMessages
|
|
tags:
|
|
- flow_conversation
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: conversation_id
|
|
description: conversation id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: after_id
|
|
description: id to fetch only the messages after that id
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: conversation messages
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FlowConversationMessage"
|
|
|
|
/w/{workspace}/raw_apps/list:
|
|
get:
|
|
summary: list all raw apps
|
|
operationId: listRawApps
|
|
tags:
|
|
- raw_app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- name: path_start
|
|
description: mask to filter matching starting path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path_exact
|
|
description: mask to filter exact matching path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: starred_only
|
|
description: |
|
|
(default false)
|
|
show only the starred items
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: All raw apps
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ListableRawApp"
|
|
|
|
/w/{workspace}/raw_apps/exists/{path}:
|
|
get:
|
|
summary: does an app exisst at path
|
|
operationId: existsRawApp
|
|
tags:
|
|
- raw_app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/apps/get_data/{version}/{path}:
|
|
get:
|
|
summary: get app by path
|
|
operationId: getRawAppData
|
|
tags:
|
|
- raw_app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/VersionId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: app details
|
|
content:
|
|
text/javascript:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/list_search:
|
|
get:
|
|
summary: list apps for search
|
|
operationId: listSearchApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: app list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- path
|
|
- value
|
|
|
|
/w/{workspace}/apps/list:
|
|
get:
|
|
summary: list all apps
|
|
operationId: listApps
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- name: path_start
|
|
description: mask to filter matching starting path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path_exact
|
|
description: mask to filter exact matching path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: starred_only
|
|
description: |
|
|
(default false)
|
|
show only the starred items
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: include_draft_only
|
|
description: |
|
|
(default false)
|
|
include items that have no deployed version
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: with_deployment_msg
|
|
description: |
|
|
(default false)
|
|
include deployment message
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: All apps
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ListableApp"
|
|
|
|
/w/{workspace}/apps/create:
|
|
post:
|
|
summary: create app
|
|
operationId: createApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value: {}
|
|
summary:
|
|
type: string
|
|
policy:
|
|
$ref: "#/components/schemas/Policy"
|
|
draft_only:
|
|
type: boolean
|
|
deployment_message:
|
|
type: string
|
|
custom_path:
|
|
type: string
|
|
required:
|
|
- path
|
|
- value
|
|
- summary
|
|
- policy
|
|
responses:
|
|
"201":
|
|
description: app created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/create_raw:
|
|
post:
|
|
summary: create app raw
|
|
operationId: createAppRaw
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new app
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
app:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value: {}
|
|
summary:
|
|
type: string
|
|
policy:
|
|
$ref: "#/components/schemas/Policy"
|
|
draft_only:
|
|
type: boolean
|
|
deployment_message:
|
|
type: string
|
|
custom_path:
|
|
type: string
|
|
required:
|
|
- path
|
|
- value
|
|
- summary
|
|
- policy
|
|
js:
|
|
type: string
|
|
css:
|
|
type: string
|
|
responses:
|
|
"201":
|
|
description: app created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/exists/{path}:
|
|
get:
|
|
summary: does an app exisst at path
|
|
operationId: existsApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/apps/get/p/{path}:
|
|
get:
|
|
summary: get app by path
|
|
operationId: getAppByPath
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: with_starred_info
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: app details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppWithLastVersion"
|
|
|
|
/w/{workspace}/apps/get/lite/{path}:
|
|
get:
|
|
summary: get app lite by path
|
|
operationId: getAppLiteByPath
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: app lite details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppWithLastVersion"
|
|
|
|
/w/{workspace}/apps/get/draft/{path}:
|
|
get:
|
|
summary: get app by path with draft
|
|
operationId: getAppByPathWithDraft
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: app details with draft
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppWithLastVersionWDraft"
|
|
|
|
/w/{workspace}/apps/history/p/{path}:
|
|
get:
|
|
summary: get app history by path
|
|
operationId: getAppHistoryByPath
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: app history
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AppHistory"
|
|
|
|
/w/{workspace}/apps/get_latest_version/{path}:
|
|
get:
|
|
summary: get apps's latest version
|
|
operationId: getAppLatestVersion
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
tags:
|
|
- app
|
|
responses:
|
|
"200":
|
|
description: App version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppHistory"
|
|
/w/{workspace}/apps/list_paths_from_workspace_runnable/{runnable_kind}/{path}:
|
|
get:
|
|
summary: list app paths from workspace runnable
|
|
operationId: listAppPathsFromWorkspaceRunnable
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableKind"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: list of app paths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/history_update/a/{id}/v/{version}:
|
|
post:
|
|
summary: update app history
|
|
operationId: updateAppHistory
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/PathId"
|
|
- $ref: "#/components/parameters/PathVersion"
|
|
requestBody:
|
|
description: App deployment message
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
deployment_msg:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: success
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps_u/public_app/{path}:
|
|
get:
|
|
summary: get public app by secret
|
|
operationId: getPublicAppBySecret
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppWithLastVersion"
|
|
|
|
/w/{workspace}/apps_u/public_resource/{path}:
|
|
get:
|
|
summary: get public resource
|
|
operationId: get public resource
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: resource value
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/apps/secret_of/{path}:
|
|
get:
|
|
summary: get public secret of app
|
|
operationId: getPublicSecretOfApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app secret
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/secret_of_latest_version/{path}:
|
|
get:
|
|
summary: get public secret of latest version of an app bundle
|
|
operationId: getPublicSecretOfLatestVersionOfApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app secret
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/get/v/{id}:
|
|
get:
|
|
summary: get app by version
|
|
operationId: getAppByVersion
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/PathId"
|
|
responses:
|
|
"200":
|
|
description: app details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppWithLastVersion"
|
|
|
|
/w/{workspace}/raw_apps/create:
|
|
post:
|
|
summary: create raw app
|
|
operationId: createRawApp
|
|
tags:
|
|
- raw_app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new raw app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
required:
|
|
- path
|
|
- value
|
|
- summary
|
|
responses:
|
|
"201":
|
|
description: raw app created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/raw_apps/update/{path}:
|
|
post:
|
|
summary: update app
|
|
operationId: updateRawApp
|
|
tags:
|
|
- raw_app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: updateraw app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
value:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: app updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/raw_apps/delete/{path}:
|
|
delete:
|
|
summary: delete raw app
|
|
operationId: deleteRawApp
|
|
tags:
|
|
- raw_app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/delete/{path}:
|
|
delete:
|
|
summary: delete app
|
|
operationId: deleteApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: app deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/update/{path}:
|
|
post:
|
|
summary: update app
|
|
operationId: updateApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: update app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
value: {}
|
|
policy:
|
|
$ref: "#/components/schemas/Policy"
|
|
deployment_message:
|
|
type: string
|
|
custom_path:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: app updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/update_raw/{path}:
|
|
post:
|
|
summary: update app
|
|
operationId: updateAppRaw
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: update app
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
app:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
value: {}
|
|
policy:
|
|
$ref: "#/components/schemas/Policy"
|
|
deployment_message:
|
|
type: string
|
|
custom_path:
|
|
type: string
|
|
js:
|
|
type: string
|
|
css:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: app updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps/custom_path_exists/{custom_path}:
|
|
get:
|
|
summary: check if custom path exists
|
|
operationId: customPathExists
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/CustomPath"
|
|
responses:
|
|
"200":
|
|
description: custom path exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/apps/sign_s3_objects:
|
|
post:
|
|
summary: sign s3 objects, to be used by anonymous users in public apps
|
|
operationId: signS3Objects
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: s3 objects to sign
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3_objects:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/S3Object"
|
|
required:
|
|
- s3_objects
|
|
responses:
|
|
"200":
|
|
description: signed s3 objects
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/S3Object"
|
|
|
|
/w/{workspace}/apps_u/execute_component/{path}:
|
|
post:
|
|
summary: executeComponent
|
|
operationId: executeComponent
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
requestBody:
|
|
description: update app
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
component:
|
|
type: string
|
|
#script: script/<path>
|
|
#flow: flow/<path>
|
|
path:
|
|
type: string
|
|
version:
|
|
type: integer
|
|
args: {}
|
|
raw_code:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
language:
|
|
type: string
|
|
path:
|
|
type: string
|
|
lock:
|
|
type: string
|
|
cache_ttl:
|
|
type: integer
|
|
required:
|
|
- content
|
|
- language
|
|
id:
|
|
type: integer
|
|
force_viewer_static_fields:
|
|
type: object
|
|
force_viewer_one_of_fields:
|
|
type: object
|
|
force_viewer_allow_user_resources:
|
|
type: array
|
|
items:
|
|
type: string
|
|
run_query_params:
|
|
type: object
|
|
description: Runnable query parameters
|
|
required:
|
|
- args
|
|
- component
|
|
|
|
responses:
|
|
"200":
|
|
description: job uuid
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/apps_u/upload_s3_file/{path}:
|
|
post:
|
|
summary: upload s3 file from app
|
|
operationId: uploadS3FileFromApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: file_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: file_extension
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: s3_resource_path
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: resource_type
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: content_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: content_disposition
|
|
in: query
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: File content
|
|
required: true
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
"200":
|
|
description: file uploaded
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file_key:
|
|
type: string
|
|
delete_token:
|
|
type: string
|
|
required:
|
|
- file_key
|
|
- delete_token
|
|
|
|
/w/{workspace}/apps_u/delete_s3_file:
|
|
delete:
|
|
summary: delete s3 file from app
|
|
operationId: deleteS3FileFromApp
|
|
tags:
|
|
- app
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: delete_token
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: file deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/run/f/{path}:
|
|
post:
|
|
summary: run flow by path
|
|
operationId: runFlowByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- name: scheduled_for
|
|
description: when to schedule this job (leave empty for immediate run)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: scheduled_in_secs
|
|
description: schedule the script to execute in the number of seconds starting now
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the flow owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: flow args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run/fv/{version}:
|
|
post:
|
|
summary: run flow by version
|
|
operationId: runFlowByVersion
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: version
|
|
description: flow version ID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- name: scheduled_for
|
|
description: when to schedule this job (leave empty for immediate run)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: scheduled_in_secs
|
|
description: schedule the script to execute in the number of seconds starting now
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the flow owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: flow args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run/batch_rerun_jobs:
|
|
post:
|
|
summary: re-run multiple jobs
|
|
operationId: batchReRunJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: list of job ids to re run and arg tranforms
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [job_ids, script_options_by_path, flow_options_by_path]
|
|
properties:
|
|
job_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
script_options_by_path:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
properties:
|
|
input_transforms:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/InputTransform"
|
|
use_latest_version:
|
|
type: boolean
|
|
flow_options_by_path:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
properties:
|
|
input_transforms:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/InputTransform"
|
|
use_latest_version:
|
|
type: boolean
|
|
responses:
|
|
"201":
|
|
description: stream of created job uuids separated by \n. Lines may start with 'Error:'
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/restart/f/{id}:
|
|
post:
|
|
summary: restart a completed flow at a given step
|
|
operationId: restartFlowAtStep
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: scheduled_for
|
|
description: when to schedule this job (leave empty for immediate run)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: scheduled_in_secs
|
|
description: schedule the script to execute in the number of seconds starting now
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the flow owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
|
|
requestBody:
|
|
description: restart flow parameters
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- step_id
|
|
properties:
|
|
step_id:
|
|
type: string
|
|
description: step id to restart the flow from
|
|
branch_or_iteration_n:
|
|
type: integer
|
|
description: for branchall or loop, the iteration at which the flow should restart (optional)
|
|
flow_version:
|
|
type: integer
|
|
description: specific flow version to use for restart (optional, uses current version if not specified)
|
|
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run/h/{hash}:
|
|
post:
|
|
summary: run script by hash
|
|
operationId: runScriptByHash
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptHash"
|
|
- name: scheduled_for
|
|
description: when to schedule this job (leave empty for immediate run)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: scheduled_in_secs
|
|
description: schedule the script to execute in the number of seconds starting now
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- $ref: "#/components/parameters/SkipPreprocessor"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/WorkerTag"
|
|
- $ref: "#/components/parameters/CacheTtl"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the script owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
description: Partially filled args
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run/preview:
|
|
post:
|
|
summary: run script preview
|
|
operationId: runScriptPreview
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the script owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
|
|
requestBody:
|
|
description: preview
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Preview"
|
|
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run_inline/preview:
|
|
post:
|
|
summary: run script preview without starting a new job
|
|
operationId: runScriptPreviewInline
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: preview
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PreviewInline"
|
|
|
|
responses:
|
|
"200":
|
|
description: script result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/run_wait_result/preview:
|
|
post:
|
|
summary: run script preview and wait for result
|
|
operationId: runScriptPreviewAndWaitResult
|
|
x-mcp-tool: true
|
|
x-mcp-instructions: Allows testing a script before deploying it. For typescript code, the language to send is either bun or deno. By default, send bun if no deno specific code is detected.
|
|
x-mcp-required-fields:
|
|
- content
|
|
- language
|
|
- args
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
requestBody:
|
|
description: preview
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Preview"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/workflow_as_code/{job_id}/{entrypoint}:
|
|
post:
|
|
summary: run code-workflow task
|
|
operationId: runCodeWorkflowTask
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
- name: job_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: entrypoint
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
|
|
requestBody:
|
|
description: preview
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkflowTask"
|
|
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run/dependencies:
|
|
post:
|
|
summary: run a one-off dependencies job
|
|
operationId: runRawScriptDependencies
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
|
|
requestBody:
|
|
description: raw script content
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
raw_scripts:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/RawScriptForDependencies"
|
|
entrypoint:
|
|
type: string
|
|
required:
|
|
- entrypoint
|
|
- raw_scripts
|
|
responses:
|
|
"201":
|
|
description: dependency job result
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
lock:
|
|
type: string
|
|
required:
|
|
- lock
|
|
|
|
/w/{workspace}/jobs/run/preview_flow:
|
|
post:
|
|
summary: run flow preview
|
|
operationId: runFlowPreview
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- name: invisible_to_owner
|
|
description: make the run invisible to the the script owner (default false)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
requestBody:
|
|
description: preview
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FlowPreview"
|
|
|
|
responses:
|
|
"201":
|
|
description: job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/run_wait_result/preview_flow:
|
|
post:
|
|
summary: run flow preview and wait for result
|
|
operationId: runFlowPreviewAndWaitResult
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: memory_id
|
|
description: memory ID for chat-enabled flows
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
requestBody:
|
|
description: preview
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FlowPreview"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/run/dynamic_select:
|
|
post:
|
|
summary: run dynamic select helper function
|
|
operationId: runDynamicSelect
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: dynamic select request
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DynamicInputData"
|
|
responses:
|
|
"201":
|
|
description: dynamic select job created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/jobs/queue/list:
|
|
get:
|
|
summary: list all queued jobs
|
|
operationId: listQueue
|
|
x-mcp-tool: true
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/Worker"
|
|
- $ref: "#/components/parameters/ScriptExactPath"
|
|
- $ref: "#/components/parameters/ScriptStartPath"
|
|
- $ref: "#/components/parameters/SchedulePath"
|
|
- $ref: "#/components/parameters/TriggerPath"
|
|
- $ref: "#/components/parameters/JobTriggerKind"
|
|
- $ref: "#/components/parameters/ScriptExactHash"
|
|
- $ref: "#/components/parameters/StartedBefore"
|
|
- $ref: "#/components/parameters/StartedAfter"
|
|
- $ref: "#/components/parameters/Success"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $ref: "#/components/parameters/Suspended"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- $ref: "#/components/parameters/ResultFilter"
|
|
- $ref: "#/components/parameters/AllowWildcards"
|
|
- $ref: "#/components/parameters/Tag"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: all_workspaces
|
|
description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_not_schedule
|
|
description: is not a scheduled job
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: All queued jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/QueuedJob"
|
|
|
|
/w/{workspace}/jobs/queue/count:
|
|
get:
|
|
summary: get queue count
|
|
operationId: getQueueCount
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: all_workspaces
|
|
description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: queue count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
database_length:
|
|
type: integer
|
|
suspended:
|
|
type: integer
|
|
required:
|
|
- database_length
|
|
|
|
/w/{workspace}/jobs/completed/count:
|
|
get:
|
|
summary: get completed count
|
|
operationId: getCompletedCount
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: completed count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
database_length:
|
|
type: integer
|
|
required:
|
|
- database_length
|
|
|
|
/w/{workspace}/jobs/completed/count_jobs:
|
|
get:
|
|
summary: count number of completed jobs with filter
|
|
operationId: countCompletedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: completed_after_s_ago
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: success
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: tags
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: all_workspaces
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: Count of completed jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
|
|
/w/{workspace}/jobs/list_filtered_uuids:
|
|
get:
|
|
summary: get the ids of all jobs matching the given filters
|
|
operationId: listFilteredJobsUuids
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- $ref: "#/components/parameters/Label"
|
|
- $ref: "#/components/parameters/Worker"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/ScriptExactPath"
|
|
- $ref: "#/components/parameters/ScriptStartPath"
|
|
- $ref: "#/components/parameters/SchedulePath"
|
|
- $ref: "#/components/parameters/ScriptExactHash"
|
|
- $ref: "#/components/parameters/StartedBefore"
|
|
- $ref: "#/components/parameters/StartedAfter"
|
|
- $ref: "#/components/parameters/CreatedBefore"
|
|
- $ref: "#/components/parameters/CreatedAfter"
|
|
- $ref: "#/components/parameters/CompletedBefore"
|
|
- $ref: "#/components/parameters/CompletedAfter"
|
|
- $ref: "#/components/parameters/CreatedBeforeQueue"
|
|
- $ref: "#/components/parameters/CreatedAfterQueue"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $ref: "#/components/parameters/Suspended"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- $ref: "#/components/parameters/Tag"
|
|
- $ref: "#/components/parameters/ResultFilter"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: is_skipped
|
|
description: is the job skipped
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_flow_step
|
|
description: is the job a flow step
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: has_null_parent
|
|
description: has null parent
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: success
|
|
description: filter on successful jobs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: all_workspaces
|
|
description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_not_schedule
|
|
description: is not a scheduled job
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: uuids of jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/queue/list_filtered_uuids:
|
|
get:
|
|
summary: get the ids of all queued jobs matching the given filters
|
|
operationId: listFilteredQueueUuids
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/ScriptExactPath"
|
|
- $ref: "#/components/parameters/ScriptStartPath"
|
|
- $ref: "#/components/parameters/SchedulePath"
|
|
- $ref: "#/components/parameters/ScriptExactHash"
|
|
- $ref: "#/components/parameters/StartedBefore"
|
|
- $ref: "#/components/parameters/StartedAfter"
|
|
- $ref: "#/components/parameters/Success"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $ref: "#/components/parameters/Suspended"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- $ref: "#/components/parameters/ResultFilter"
|
|
- $ref: "#/components/parameters/AllowWildcards"
|
|
- $ref: "#/components/parameters/Tag"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: concurrency_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: all_workspaces
|
|
description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_not_schedule
|
|
description: is not a scheduled job
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: uuids of jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/queue/cancel_selection:
|
|
post:
|
|
summary: cancel jobs based on the given uuids
|
|
operationId: cancelSelection
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: force_cancel
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
description: uuids of the jobs to cancel
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: uuids of canceled jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/get_otel_traces/{id}:
|
|
get:
|
|
summary: get OpenTelemetry traces for a job
|
|
operationId: getJobOtelTraces
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: list of OTEL Span objects (compatible with OpenTelemetry Span proto)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
|
|
/w/{workspace}/trigger/{trigger_kind}/resume_suspended_trigger_jobs/{trigger_path}:
|
|
post:
|
|
summary: resume all suspended jobs for a specific trigger
|
|
operationId: resumeSuspendedTriggerJobs
|
|
tags:
|
|
- trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: trigger_kind
|
|
description: The kind of trigger
|
|
in: path
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/JobTriggerKind"
|
|
- name: trigger_path
|
|
description: The path of the trigger (can contain forward slashes)
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
style: simple
|
|
explode: false
|
|
requestBody:
|
|
description: Optional list of job IDs to reassign
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
description: Optional list of specific job UUIDs to reassign. If not provided, all suspended jobs for the trigger will be reassigned.
|
|
responses:
|
|
"200":
|
|
description: confirmation message
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/trigger/{trigger_kind}/cancel_suspended_trigger_jobs/{trigger_path}:
|
|
post:
|
|
summary: cancel all suspended jobs for a specific trigger
|
|
operationId: cancelSuspendedTriggerJobs
|
|
tags:
|
|
- trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: trigger_kind
|
|
description: The kind of trigger
|
|
in: path
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/JobTriggerKind"
|
|
- name: trigger_path
|
|
description: The path of the trigger (can contain forward slashes)
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
style: simple
|
|
explode: false
|
|
requestBody:
|
|
description: Optional list of job IDs to cancel
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
description: Optional list of specific job UUIDs to cancel. If not provided, all suspended jobs for the trigger will be canceled.
|
|
responses:
|
|
"200":
|
|
description: confirmation message
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/completed/list:
|
|
get:
|
|
summary: list all completed jobs
|
|
operationId: listCompletedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/OrderDesc"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- $ref: "#/components/parameters/Label"
|
|
- $ref: "#/components/parameters/Worker"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/ScriptExactPath"
|
|
- $ref: "#/components/parameters/ScriptStartPath"
|
|
- $ref: "#/components/parameters/SchedulePath"
|
|
- $ref: "#/components/parameters/ScriptExactHash"
|
|
- $ref: "#/components/parameters/StartedBefore"
|
|
- $ref: "#/components/parameters/StartedAfter"
|
|
- $ref: "#/components/parameters/Success"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- $ref: "#/components/parameters/ResultFilter"
|
|
- $ref: "#/components/parameters/AllowWildcards"
|
|
- $ref: "#/components/parameters/Tag"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: is_skipped
|
|
description: is the job skipped
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_flow_step
|
|
description: is the job a flow step
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: has_null_parent
|
|
description: has null parent
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_not_schedule
|
|
description: is not a scheduled job
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: All completed jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CompletedJob"
|
|
|
|
/w/{workspace}/jobs/completed/export:
|
|
get:
|
|
summary: export all completed jobs for backup/migration
|
|
operationId: exportCompletedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: All completed jobs exported
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportableCompletedJob"
|
|
|
|
/w/{workspace}/jobs/completed/import:
|
|
post:
|
|
summary: import completed jobs from backup/migration
|
|
operationId: importCompletedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportableCompletedJob"
|
|
responses:
|
|
"200":
|
|
description: Successfully imported completed jobs
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/queue/export:
|
|
get:
|
|
summary: export all queued jobs for backup/migration
|
|
operationId: exportQueuedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: All queued jobs exported
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportableQueuedJob"
|
|
|
|
/w/{workspace}/jobs/queue/import:
|
|
post:
|
|
summary: import queued jobs from backup/migration
|
|
operationId: importQueuedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportableQueuedJob"
|
|
responses:
|
|
"200":
|
|
description: Successfully imported queued jobs
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/delete:
|
|
post:
|
|
summary: delete jobs by IDs from all related tables
|
|
operationId: deleteJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
description: Array of job IDs to delete
|
|
responses:
|
|
"200":
|
|
description: Successfully deleted jobs
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
description: Summary of deleted jobs and rows
|
|
|
|
/w/{workspace}/jobs/list:
|
|
get:
|
|
summary: list all jobs
|
|
operationId: listJobs
|
|
x-mcp-tool: true
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- $ref: "#/components/parameters/Label"
|
|
- $ref: "#/components/parameters/Worker"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/ScriptExactPath"
|
|
- $ref: "#/components/parameters/ScriptStartPath"
|
|
- $ref: "#/components/parameters/SchedulePath"
|
|
- $ref: "#/components/parameters/ScriptExactHash"
|
|
- $ref: "#/components/parameters/StartedBefore"
|
|
- $ref: "#/components/parameters/StartedAfter"
|
|
- $ref: "#/components/parameters/CreatedBefore"
|
|
- $ref: "#/components/parameters/CreatedAfter"
|
|
- $ref: "#/components/parameters/CompletedBefore"
|
|
- $ref: "#/components/parameters/CompletedAfter"
|
|
- $ref: "#/components/parameters/CreatedBeforeQueue"
|
|
- $ref: "#/components/parameters/CreatedAfterQueue"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $ref: "#/components/parameters/Suspended"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- $ref: "#/components/parameters/Tag"
|
|
- $ref: "#/components/parameters/ResultFilter"
|
|
- $ref: "#/components/parameters/AllowWildcards"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/JobTriggerKind"
|
|
- name: is_skipped
|
|
description: is the job skipped
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_flow_step
|
|
description: is the job a flow step
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: has_null_parent
|
|
description: has null parent
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: success
|
|
description: filter on successful jobs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: all_workspaces
|
|
description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_not_schedule
|
|
description: is not a scheduled job
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: All jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Job"
|
|
|
|
/jobs/db_clock:
|
|
get:
|
|
summary: get db clock
|
|
operationId: getDbClock
|
|
tags:
|
|
- job
|
|
responses:
|
|
"200":
|
|
description: the timestamp of the db that can be used to compute the drift
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
|
|
/jobs/completed/count_by_tag:
|
|
get:
|
|
summary: Count jobs by tag
|
|
operationId: countJobsByTag
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- name: horizon_secs
|
|
in: query
|
|
description: Past Time horizon in seconds (when to start the count = now - horizon) (default is 3600)
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- name: workspace_id
|
|
in: query
|
|
description: Specific workspace ID to filter results (optional)
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Job counts by tag
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tag:
|
|
type: string
|
|
count:
|
|
type: integer
|
|
required:
|
|
- tag
|
|
- count
|
|
|
|
/w/{workspace}/jobs_u/get/{id}:
|
|
get:
|
|
summary: get job
|
|
operationId: getJob
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: no_logs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: no_code
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Job"
|
|
|
|
/w/{workspace}/jobs_u/get_root_job_id/{id}:
|
|
get:
|
|
summary: get root job id
|
|
operationId: getRootJobId
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: get root job id
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/get_logs/{id}:
|
|
get:
|
|
summary: get job logs
|
|
operationId: getJob logs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: remove_ansi_warnings
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/get_completed_logs_tail/{id}:
|
|
get:
|
|
summary: get completed job logs tail
|
|
operationId: getCompletedJobLogsTail
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: completed job logs tail
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/get_args/{id}:
|
|
get:
|
|
summary: get job args
|
|
operationId: getJobArgs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: job args
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs_u/queue/get_started_at_by_ids:
|
|
post:
|
|
summary: get started at by ids
|
|
operationId: getStartedAtByIds
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: ids
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: started at by ids
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: date-time
|
|
|
|
/w/{workspace}/jobs_u/getupdate/{id}:
|
|
get:
|
|
summary: get job updates
|
|
operationId: getJobUpdates
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: running
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: log_offset
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: stream_offset
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: get_progress
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: no_logs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
running:
|
|
type: boolean
|
|
completed:
|
|
type: boolean
|
|
new_logs:
|
|
type: string
|
|
log_offset:
|
|
type: integer
|
|
mem_peak:
|
|
type: integer
|
|
progress:
|
|
type: integer
|
|
stream_offset:
|
|
type: integer
|
|
new_result_stream:
|
|
type: string
|
|
flow_status:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowStatus"
|
|
workflow_as_code_status:
|
|
$ref: "#/components/schemas/WorkflowStatus"
|
|
|
|
/w/{workspace}/jobs_u/getupdate_sse/{id}:
|
|
get:
|
|
summary: get job updates via server-sent events
|
|
operationId: getJobUpdatesSSE
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: running
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: log_offset
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: stream_offset
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: get_progress
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: only_result
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: no_logs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
|
|
responses:
|
|
"200":
|
|
description: server-sent events stream of job updates
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/get_log_file/{path}:
|
|
get:
|
|
summary: get log file from object store
|
|
operationId: getLogFileFromStore
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: path
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: job log
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/get_flow_debug_info/{id}:
|
|
get:
|
|
summary: get flow debug info
|
|
operationId: getFlowDebugInfo
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: flow debug info details
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs_u/completed/get/{id}:
|
|
get:
|
|
summary: get completed job
|
|
operationId: getCompletedJob
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CompletedJob"
|
|
|
|
/w/{workspace}/jobs_u/completed/get_result/{id}:
|
|
get:
|
|
summary: get completed job result
|
|
operationId: getCompletedJobResult
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: suspended_job
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: resume_id
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: secret
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs_u/completed/get_result_maybe/{id}:
|
|
get:
|
|
summary: get completed job result if job is completed
|
|
operationId: getCompletedJobResultMaybe
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- $ref: "#/components/parameters/GetStarted"
|
|
|
|
responses:
|
|
"200":
|
|
description: result
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
completed:
|
|
type: boolean
|
|
result: {}
|
|
success:
|
|
type: boolean
|
|
started:
|
|
type: boolean
|
|
required:
|
|
- completed
|
|
- result
|
|
|
|
/w/{workspace}/jobs_u/completed/get_timing/{id}:
|
|
get:
|
|
summary: get completed job timing
|
|
operationId: getCompletedJobTiming
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: job timing details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
duration_ms:
|
|
type: integer
|
|
required:
|
|
- created_at
|
|
|
|
/w/{workspace}/jobs/completed/delete/{id}:
|
|
post:
|
|
summary: delete completed job (erase content but keep run id)
|
|
operationId: deleteCompletedJob
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CompletedJob"
|
|
|
|
/w/{workspace}/jobs_u/queue/cancel/{id}:
|
|
post:
|
|
summary: cancel queued or running job
|
|
operationId: cancelQueuedJob
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
requestBody:
|
|
description: reason
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
reason:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: job canceled
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/queue/cancel_persistent/{path}:
|
|
post:
|
|
summary: cancel all queued jobs for persistent script
|
|
operationId: cancelPersistentQueuedJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: reason
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
reason:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: persistent job scaled down to zero
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/queue/force_cancel/{id}:
|
|
post:
|
|
summary: force cancel queued job
|
|
operationId: forceCancelQueuedJob
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
requestBody:
|
|
description: reason
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
reason:
|
|
type: string
|
|
|
|
responses:
|
|
"200":
|
|
description: job canceled
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/queue/position/{scheduled_for}:
|
|
get:
|
|
summary: get queue position for a job
|
|
operationId: getQueuePosition
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: scheduled_for
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: The scheduled for timestamp in milliseconds
|
|
responses:
|
|
"200":
|
|
description: queue position information
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
position:
|
|
type: integer
|
|
description: The position in queue (1-based), null if not in queue or already running
|
|
|
|
/w/{workspace}/jobs/queue/scheduled_for/{id}:
|
|
get:
|
|
summary: get scheduled for timestamp for a job
|
|
operationId: getScheduledFor
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: scheduled for timestamp
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
|
|
/w/{workspace}/jobs/job_signature/{id}/{resume_id}:
|
|
get:
|
|
summary: create an HMac signature given a job id and a resume id
|
|
operationId: createJobSignature
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: job signature
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/resume_urls/{id}/{resume_id}:
|
|
get:
|
|
summary: get resume urls given a job_id, resume_id and a nonce to resume a flow
|
|
operationId: getResumeUrls
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: flow_level
|
|
in: query
|
|
description: If true, generate resume URLs for the parent flow instead of the specific step. This allows pre-approvals that can be consumed by any later suspend step in the same flow.
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: url endpoints
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
approvalPage:
|
|
type: string
|
|
resume:
|
|
type: string
|
|
cancel:
|
|
type: string
|
|
required:
|
|
- approvalPage
|
|
- resume
|
|
- cancel
|
|
|
|
/w/{workspace}/jobs/slack_approval/{id}:
|
|
get:
|
|
summary: generate interactive slack approval for suspended job
|
|
operationId: getSlackApprovalPayload
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: message
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: slack_resource_path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: channel_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: flow_step_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: default_args_json
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: dynamic_enums_json
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Interactive slack approval message sent successfully
|
|
|
|
/w/{workspace}/jobs/teams_approval/{id}:
|
|
get:
|
|
summary: generate interactive teams approval for suspended job
|
|
operationId: getTeamsApprovalPayload
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: message
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: team_name
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: channel_name
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: flow_step_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: default_args_json
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: dynamic_enums_json
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Interactive slack approval message sent successfully
|
|
|
|
/w/{workspace}/jobs_u/resume/{id}/{resume_id}/{signature}:
|
|
get:
|
|
summary: resume a job for a suspended flow
|
|
operationId: resumeSuspendedJobGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- $ref: "#/components/parameters/Payload"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: signature
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"201":
|
|
description: job resumed
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
post:
|
|
summary: resume a job for a suspended flow
|
|
operationId: resumeSuspendedJobPost
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: signature
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: job resumed
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs/flow/user_states/{id}/{key}:
|
|
post:
|
|
summary: set flow user state at a given key
|
|
operationId: setFlowUserState
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: key
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: new value
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
responses:
|
|
"200":
|
|
description: flow user state updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
get:
|
|
summary: get flow user state at a given key
|
|
operationId: getFlowUserState
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: key
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: flow user state updated
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/flow/resume/{id}:
|
|
post:
|
|
summary: resume a job for a suspended flow as an owner
|
|
operationId: resumeSuspendedFlowAsOwner
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: job resumed
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/cancel/{id}/{resume_id}/{signature}:
|
|
get:
|
|
summary: cancel a job for a suspended flow
|
|
operationId: cancelSuspendedJobGet
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: signature
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"201":
|
|
description: job canceled
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
post:
|
|
summary: cancel a job for a suspended flow
|
|
operationId: cancelSuspendedJobPost
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: signature
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: job canceled
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/jobs_u/get_flow/{id}/{resume_id}/{signature}:
|
|
get:
|
|
summary: get parent flow job of suspended job
|
|
operationId: getSuspendedJobFlow
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: resume_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: signature
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: approver
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: parent flow details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
job:
|
|
$ref: "#/components/schemas/Job"
|
|
approvers:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
resume_id:
|
|
type: integer
|
|
approver:
|
|
type: string
|
|
required:
|
|
- resume_id
|
|
- approver
|
|
required:
|
|
- job
|
|
- approvers
|
|
|
|
/schedules/preview:
|
|
post:
|
|
summary: preview schedule
|
|
operationId: previewSchedule
|
|
tags:
|
|
- schedule
|
|
requestBody:
|
|
description: schedule
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
schedule:
|
|
type: string
|
|
timezone:
|
|
type: string
|
|
cron_version:
|
|
type: string
|
|
required:
|
|
- schedule
|
|
- timezone
|
|
responses:
|
|
"200":
|
|
description: List of 5 estimated upcoming execution events (in UTC)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: date-time
|
|
|
|
/w/{workspace}/schedules/create:
|
|
post:
|
|
summary: create schedule
|
|
operationId: createSchedule
|
|
x-mcp-tool: true
|
|
x-mcp-instructions: |
|
|
Creates a new schedule.
|
|
The schedule should include seconds.
|
|
You should get the schema of the script or flow before creating the schedule to correctly specify the arguments needed.
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new schedule
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewSchedule"
|
|
responses:
|
|
"201":
|
|
description: schedule created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/schedules/update/{path}:
|
|
post:
|
|
summary: update schedule
|
|
operationId: updateSchedule
|
|
x-mcp-tool: true
|
|
x-mcp-instructions: |
|
|
Updates a schedule.
|
|
The schedule should include seconds.
|
|
You should get the schema of the script or flow before updating the schedule to correctly specify the arguments needed.
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated schedule
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditSchedule"
|
|
responses:
|
|
"200":
|
|
description: schedule updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/schedules/setenabled/{path}:
|
|
post:
|
|
summary: set enabled schedule
|
|
operationId: setScheduleEnabled
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated schedule enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
required:
|
|
- enabled
|
|
|
|
responses:
|
|
"200":
|
|
description: schedule enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/schedules/delete/{path}:
|
|
delete:
|
|
summary: delete schedule
|
|
operationId: deleteSchedule
|
|
x-mcp-tool: true
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: schedule deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/schedules/get/{path}:
|
|
get:
|
|
summary: get schedule
|
|
operationId: getSchedule
|
|
x-mcp-tool: true
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: schedule deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Schedule"
|
|
|
|
/w/{workspace}/schedules/exists/{path}:
|
|
get:
|
|
summary: does schedule exists
|
|
operationId: existsSchedule
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: schedule exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/schedules/list:
|
|
get:
|
|
summary: list schedules
|
|
operationId: listSchedules
|
|
x-mcp-tool: true
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
description: filter schedules by whether they target a flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
description: filter schedules by path prefix
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: schedule list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Schedule"
|
|
|
|
/w/{workspace}/schedules/list_with_jobs:
|
|
get:
|
|
summary: list schedules with last 20 jobs
|
|
operationId: listSchedulesWithJobs
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: schedule list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScheduleWJobs"
|
|
|
|
/w/{workspace}/schedules/setdefaulthandler:
|
|
post:
|
|
summary: Set default error or recoevery handler
|
|
operationId: setDefaultErrorOrRecoveryHandler
|
|
tags:
|
|
- schedule
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: Handler description
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
handler_type:
|
|
type: string
|
|
enum: ["error", "recovery", "success"]
|
|
override_existing:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
extra_args:
|
|
type: object
|
|
number_of_occurence:
|
|
type: integer
|
|
number_of_occurence_exact:
|
|
type: boolean
|
|
workspace_handler_muted:
|
|
type: boolean
|
|
required:
|
|
- handler_type
|
|
- override_existing
|
|
responses:
|
|
"201":
|
|
description: default error handler set
|
|
|
|
/w/{workspace}/openapi/generate:
|
|
post:
|
|
summary: generate openapi spec from http routes/webhook
|
|
operationId: generateOpenapiSpec
|
|
tags:
|
|
- openapi
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: openapi spec info and url
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GenerateOpenapiSpec"
|
|
responses:
|
|
"200":
|
|
description: openapi spec
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/openapi/download:
|
|
post:
|
|
summary: Download the OpenAPI v3.1 spec as a file
|
|
operationId: DownloadOpenapiSpec
|
|
tags:
|
|
- openapi
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: openapi spec info and url
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GenerateOpenapiSpec"
|
|
responses:
|
|
"200":
|
|
description: Downloaded OpenAPI spec
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
|
|
/w/{workspace}/http_triggers/create_many:
|
|
post:
|
|
summary: create many HTTP triggers
|
|
operationId: createHttpTriggers
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new http trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/NewHttpTrigger"
|
|
responses:
|
|
"201":
|
|
description: http trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/http_triggers/create:
|
|
post:
|
|
summary: create http trigger
|
|
operationId: createHttpTrigger
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new http trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewHttpTrigger"
|
|
responses:
|
|
"201":
|
|
description: http trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/http_triggers/update/{path}:
|
|
post:
|
|
summary: update http trigger
|
|
operationId: updateHttpTrigger
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditHttpTrigger"
|
|
responses:
|
|
"200":
|
|
description: http trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/http_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete http trigger
|
|
operationId: deleteHttpTrigger
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: http trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/http_triggers/get/{path}:
|
|
get:
|
|
summary: get http trigger
|
|
operationId: getHttpTrigger
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: http trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/HttpTrigger"
|
|
|
|
/w/{workspace}/http_triggers/list:
|
|
get:
|
|
summary: list http triggers
|
|
operationId: listHttpTriggers
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: http trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/HttpTrigger"
|
|
|
|
/w/{workspace}/http_triggers/exists/{path}:
|
|
get:
|
|
summary: does http trigger exists
|
|
operationId: existsHttpTrigger
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: http trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/http_triggers/route_exists:
|
|
post:
|
|
summary: does route exists
|
|
operationId: existsRoute
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: route exists request
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
route_path:
|
|
type: string
|
|
http_method:
|
|
$ref: "#/components/schemas/HttpMethod"
|
|
trigger_path:
|
|
type: string
|
|
workspaced_route:
|
|
type: boolean
|
|
required:
|
|
- route_path
|
|
- http_method
|
|
responses:
|
|
"200":
|
|
description: route exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/http_triggers/setmode/{path}:
|
|
post:
|
|
summary: enable/disable http trigger
|
|
operationId: setHttpTriggerMode
|
|
tags:
|
|
- http_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: http trigger enable/disable
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/websocket_triggers/create:
|
|
post:
|
|
summary: create websocket trigger
|
|
operationId: createWebsocketTrigger
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new websocket trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewWebsocketTrigger"
|
|
responses:
|
|
"201":
|
|
description: websocket trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/websocket_triggers/update/{path}:
|
|
post:
|
|
summary: update websocket trigger
|
|
operationId: updateWebsocketTrigger
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditWebsocketTrigger"
|
|
responses:
|
|
"200":
|
|
description: websocket trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/websocket_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete websocket trigger
|
|
operationId: deleteWebsocketTrigger
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: websocket trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/websocket_triggers/get/{path}:
|
|
get:
|
|
summary: get websocket trigger
|
|
operationId: getWebsocketTrigger
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: websocket trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WebsocketTrigger"
|
|
|
|
/w/{workspace}/websocket_triggers/list:
|
|
get:
|
|
summary: list websocket triggers
|
|
operationId: listWebsocketTriggers
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: websocket trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WebsocketTrigger"
|
|
|
|
/w/{workspace}/websocket_triggers/exists/{path}:
|
|
get:
|
|
summary: does websocket trigger exists
|
|
operationId: existsWebsocketTrigger
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: websocket trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/websocket_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled websocket trigger
|
|
operationId: setWebsocketTriggerMode
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated websocket trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: websocket trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/websocket_triggers/test:
|
|
post:
|
|
summary: test websocket connection
|
|
operationId: testWebsocketConnection
|
|
tags:
|
|
- websocket_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test websocket connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
url_runnable_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
can_return_message:
|
|
type: boolean
|
|
required:
|
|
- url
|
|
- can_return_message
|
|
responses:
|
|
"200":
|
|
description: successfuly connected to websocket
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/kafka_triggers/create:
|
|
post:
|
|
summary: create kafka trigger
|
|
operationId: createKafkaTrigger
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new kafka trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewKafkaTrigger"
|
|
responses:
|
|
"201":
|
|
description: kafka trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/kafka_triggers/update/{path}:
|
|
post:
|
|
summary: update kafka trigger
|
|
operationId: updateKafkaTrigger
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditKafkaTrigger"
|
|
responses:
|
|
"200":
|
|
description: kafka trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/kafka_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete kafka trigger
|
|
operationId: deleteKafkaTrigger
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: kafka trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/kafka_triggers/get/{path}:
|
|
get:
|
|
summary: get kafka trigger
|
|
operationId: getKafkaTrigger
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: kafka trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/KafkaTrigger"
|
|
|
|
/w/{workspace}/kafka_triggers/list:
|
|
get:
|
|
summary: list kafka triggers
|
|
operationId: listKafkaTriggers
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: kafka trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/KafkaTrigger"
|
|
|
|
/w/{workspace}/kafka_triggers/exists/{path}:
|
|
get:
|
|
summary: does kafka trigger exists
|
|
operationId: existsKafkaTrigger
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: kafka trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/kafka_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled kafka trigger
|
|
operationId: setKafkaTriggerMode
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated kafka trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: kafka trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/kafka_triggers/test:
|
|
post:
|
|
summary: test kafka connection
|
|
operationId: testKafkaConnection
|
|
tags:
|
|
- kafka_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test kafka connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection:
|
|
type: object
|
|
required:
|
|
- connection
|
|
responses:
|
|
"200":
|
|
description: successfuly connected to kafka brokers
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/nats_triggers/create:
|
|
post:
|
|
summary: create nats trigger
|
|
operationId: createNatsTrigger
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new nats trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewNatsTrigger"
|
|
responses:
|
|
"201":
|
|
description: nats trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/nats_triggers/update/{path}:
|
|
post:
|
|
summary: update nats trigger
|
|
operationId: updateNatsTrigger
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditNatsTrigger"
|
|
responses:
|
|
"200":
|
|
description: nats trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/nats_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete nats trigger
|
|
operationId: deleteNatsTrigger
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: nats trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/nats_triggers/get/{path}:
|
|
get:
|
|
summary: get nats trigger
|
|
operationId: getNatsTrigger
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: nats trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NatsTrigger"
|
|
|
|
/w/{workspace}/nats_triggers/list:
|
|
get:
|
|
summary: list nats triggers
|
|
operationId: listNatsTriggers
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: nats trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/NatsTrigger"
|
|
|
|
/w/{workspace}/nats_triggers/exists/{path}:
|
|
get:
|
|
summary: does nats trigger exists
|
|
operationId: existsNatsTrigger
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: nats trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/nats_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled nats trigger
|
|
operationId: setNatsTriggerMode
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated nats trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: nats trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/nats_triggers/test:
|
|
post:
|
|
summary: test NATS connection
|
|
operationId: testNatsConnection
|
|
tags:
|
|
- nats_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test nats connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection:
|
|
type: object
|
|
required:
|
|
- connection
|
|
responses:
|
|
"200":
|
|
description: successfuly connected to NATS servers
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/sqs_triggers/create:
|
|
post:
|
|
summary: create sqs trigger
|
|
operationId: createSqsTrigger
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new sqs trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewSqsTrigger"
|
|
responses:
|
|
"201":
|
|
description: sqs trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/sqs_triggers/update/{path}:
|
|
post:
|
|
summary: update sqs trigger
|
|
operationId: updateSqsTrigger
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditSqsTrigger"
|
|
responses:
|
|
"200":
|
|
description: sqs trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/sqs_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete sqs trigger
|
|
operationId: deleteSqsTrigger
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: sqs trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/sqs_triggers/get/{path}:
|
|
get:
|
|
summary: get sqs trigger
|
|
operationId: getSqsTrigger
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: sqs trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SqsTrigger"
|
|
|
|
/w/{workspace}/sqs_triggers/list:
|
|
get:
|
|
summary: list sqs triggers
|
|
operationId: listSqsTriggers
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: sqs trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SqsTrigger"
|
|
|
|
/w/{workspace}/sqs_triggers/exists/{path}:
|
|
get:
|
|
summary: does sqs trigger exists
|
|
operationId: existsSqsTrigger
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: sqs trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/sqs_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled sqs trigger
|
|
operationId: setSqsTriggerMode
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated sqs trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: sqs trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/sqs_triggers/test:
|
|
post:
|
|
summary: test sqs connection
|
|
operationId: testSqsConnection
|
|
tags:
|
|
- sqs_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test sqs connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection:
|
|
type: object
|
|
required:
|
|
- connection
|
|
responses:
|
|
"200":
|
|
description: successfuly connected to sqs
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/mqtt_triggers/create:
|
|
post:
|
|
summary: create mqtt trigger
|
|
operationId: createMqttTrigger
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new mqtt trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewMqttTrigger"
|
|
responses:
|
|
"201":
|
|
description: mqtt trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/mqtt_triggers/update/{path}:
|
|
post:
|
|
summary: update mqtt trigger
|
|
operationId: updateMqttTrigger
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditMqttTrigger"
|
|
responses:
|
|
"200":
|
|
description: mqtt trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/mqtt_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete mqtt trigger
|
|
operationId: deleteMqttTrigger
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: mqtt trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/mqtt_triggers/get/{path}:
|
|
get:
|
|
summary: get mqtt trigger
|
|
operationId: getMqttTrigger
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: mqtt trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MqttTrigger"
|
|
|
|
/w/{workspace}/mqtt_triggers/list:
|
|
get:
|
|
summary: list mqtt triggers
|
|
operationId: listMqttTriggers
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: mqtt trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MqttTrigger"
|
|
|
|
/w/{workspace}/mqtt_triggers/exists/{path}:
|
|
get:
|
|
summary: does mqtt trigger exists
|
|
operationId: existsMqttTrigger
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: mqtt trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/mqtt_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled mqtt trigger
|
|
operationId: setMqttTriggerMode
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated mqtt trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: mqtt trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/mqtt_triggers/test:
|
|
post:
|
|
summary: test mqtt connection
|
|
operationId: testMqttConnection
|
|
tags:
|
|
- mqtt_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test mqtt connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection:
|
|
type: object
|
|
required:
|
|
- connection
|
|
responses:
|
|
"200":
|
|
description: successfully connected to mqtt
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/create:
|
|
post:
|
|
summary: create gcp trigger
|
|
operationId: createGcpTrigger
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new gcp trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GcpTriggerData"
|
|
responses:
|
|
"201":
|
|
description: gcp trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/update/{path}:
|
|
post:
|
|
summary: update gcp trigger
|
|
operationId: updateGcpTrigger
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GcpTriggerData"
|
|
responses:
|
|
"200":
|
|
description: gcp trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete gcp trigger
|
|
operationId: deleteGcpTrigger
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: gcp trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/get/{path}:
|
|
get:
|
|
summary: get gcp trigger
|
|
operationId: getGcpTrigger
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: gcp trigger deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GcpTrigger"
|
|
|
|
/w/{workspace}/gcp_triggers/list:
|
|
get:
|
|
summary: list gcp triggers
|
|
operationId: listGcpTriggers
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: gcp trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GcpTrigger"
|
|
|
|
/w/{workspace}/gcp_triggers/exists/{path}:
|
|
get:
|
|
summary: does gcp trigger exists
|
|
operationId: existsGcpTrigger
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: gcp trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/gcp_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled gcp trigger
|
|
operationId: setGcpTriggerMode
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated gcp trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: gcp trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/test:
|
|
post:
|
|
summary: test gcp connection
|
|
operationId: testGcpConnection
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test gcp connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection:
|
|
type: object
|
|
required:
|
|
- connection
|
|
responses:
|
|
"200":
|
|
description: try to connect to a gcp broker
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/subscriptions/delete/{path}:
|
|
delete:
|
|
summary: delete gcp trigger
|
|
operationId: deleteGcpSubscription
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: args to delete subscription from google cloud
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteGcpSubscription"
|
|
responses:
|
|
"200":
|
|
description: gcp trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/topics/list/{path}:
|
|
get:
|
|
summary: list all topics of google cloud service
|
|
operationId: listGoogleTopics
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: get all google topics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/gcp_triggers/subscriptions/list/{path}:
|
|
post:
|
|
summary: list all subscription of a give topic from google cloud service
|
|
operationId: listAllTGoogleTopicSubscriptions
|
|
tags:
|
|
- gcp_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: args to get subscription's topic from google cloud
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetAllTopicSubscription"
|
|
responses:
|
|
"200":
|
|
description: get all google topic subscriptions name
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/postgres/version/{path}:
|
|
get:
|
|
summary: get postgres version
|
|
operationId: getPostgresVersion
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: postgres version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/is_valid_postgres_configuration/{path}:
|
|
get:
|
|
summary: check if postgres configuration is set to logical
|
|
operationId: isValidPostgresConfiguration
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: boolean that indicates if postgres is set to logical level or not
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/postgres_triggers/create_template_script:
|
|
post:
|
|
summary: create template script
|
|
operationId: createTemplateScript
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: template script
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateScript"
|
|
responses:
|
|
"200":
|
|
description: custom id to retrieve template script
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/get_template_script/{id}:
|
|
get:
|
|
summary: get template script
|
|
operationId: getTemplateScript
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Id"
|
|
responses:
|
|
"200":
|
|
description: template script
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/slot/list/{path}:
|
|
get:
|
|
summary: list postgres replication slot
|
|
operationId: listPostgresReplicationSlot
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: list postgres slot
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SlotList"
|
|
|
|
/w/{workspace}/postgres_triggers/slot/create/{path}:
|
|
post:
|
|
summary: create replication slot for postgres
|
|
operationId: createPostgresReplicationSlot
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: new slot for postgres
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Slot"
|
|
responses:
|
|
"201":
|
|
description: slot created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/slot/delete/{path}:
|
|
delete:
|
|
summary: delete postgres replication slot
|
|
operationId: deletePostgresReplicationSlot
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: replication slot of postgres
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Slot"
|
|
responses:
|
|
"200":
|
|
description: postgres replication slot deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/publication/list/{path}:
|
|
get:
|
|
summary: list postgres publication
|
|
operationId: listPostgresPublication
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: database publication list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/publication/get/{publication}/{path}:
|
|
get:
|
|
summary: get postgres publication
|
|
operationId: getPostgresPublication
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- $ref: "#/components/parameters/PublicationName"
|
|
responses:
|
|
"200":
|
|
description: postgres publication get
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PublicationData"
|
|
|
|
/w/{workspace}/postgres_triggers/publication/create/{publication}/{path}:
|
|
post:
|
|
summary: create publication for postgres
|
|
operationId: createPostgresPublication
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- $ref: "#/components/parameters/PublicationName"
|
|
requestBody:
|
|
description: new publication for postgres
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PublicationData"
|
|
responses:
|
|
"201":
|
|
description: publication created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/publication/update/{publication}/{path}:
|
|
post:
|
|
summary: update publication for postgres
|
|
operationId: updatePostgresPublication
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- $ref: "#/components/parameters/PublicationName"
|
|
requestBody:
|
|
description: update publication for postgres
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PublicationData"
|
|
responses:
|
|
"201":
|
|
description: publication updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/publication/delete/{publication}/{path}:
|
|
delete:
|
|
summary: delete postgres publication
|
|
operationId: deletePostgresPublication
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- $ref: "#/components/parameters/PublicationName"
|
|
responses:
|
|
"200":
|
|
description: postgres publication deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/create:
|
|
post:
|
|
summary: create postgres trigger
|
|
operationId: createPostgresTrigger
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new postgres trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewPostgresTrigger"
|
|
responses:
|
|
"201":
|
|
description: postgres trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/update/{path}:
|
|
post:
|
|
summary: update postgres trigger
|
|
operationId: updatePostgresTrigger
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditPostgresTrigger"
|
|
responses:
|
|
"200":
|
|
description: postgres trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete postgres trigger
|
|
operationId: deletePostgresTrigger
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: postgres trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/get/{path}:
|
|
get:
|
|
summary: get postgres trigger
|
|
operationId: getPostgresTrigger
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: get postgres trigger
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostgresTrigger"
|
|
|
|
/w/{workspace}/postgres_triggers/list:
|
|
get:
|
|
summary: list postgres triggers
|
|
operationId: listPostgresTriggers
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: postgres trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PostgresTrigger"
|
|
|
|
/w/{workspace}/postgres_triggers/exists/{path}:
|
|
get:
|
|
summary: does postgres trigger exists
|
|
operationId: existsPostgresTrigger
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: postgres trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/postgres_triggers/setmode/{path}:
|
|
post:
|
|
summary: set enabled postgres trigger
|
|
operationId: setPostgresTriggerMode
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated postgres trigger enable
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: postgres trigger enabled set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/postgres_triggers/test:
|
|
post:
|
|
summary: test postgres connection
|
|
operationId: testPostgresConnection
|
|
tags:
|
|
- postgres_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: test postgres connection
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
database:
|
|
type: string
|
|
required:
|
|
- database
|
|
responses:
|
|
"200":
|
|
description: successfuly connected to postgres
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/email_triggers/create:
|
|
post:
|
|
summary: create email trigger
|
|
operationId: createEmailTrigger
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: new email trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NewEmailTrigger"
|
|
responses:
|
|
"201":
|
|
description: email trigger created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/email_triggers/update/{path}:
|
|
post:
|
|
summary: update email trigger
|
|
operationId: updateEmailTrigger
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: updated trigger
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EditEmailTrigger"
|
|
responses:
|
|
"200":
|
|
description: email trigger updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/email_triggers/delete/{path}:
|
|
delete:
|
|
summary: delete email trigger
|
|
operationId: deleteEmailTrigger
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: email trigger deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/email_triggers/get/{path}:
|
|
get:
|
|
summary: get email trigger
|
|
operationId: getEmailTrigger
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: email trigger retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EmailTrigger"
|
|
|
|
/w/{workspace}/email_triggers/list:
|
|
get:
|
|
summary: list email triggers
|
|
operationId: listEmailTriggers
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
required: true
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: path
|
|
description: filter by path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: is_flow
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: email trigger list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EmailTrigger"
|
|
|
|
/w/{workspace}/email_triggers/exists/{path}:
|
|
get:
|
|
summary: does email trigger exists
|
|
operationId: existsEmailTrigger
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: email trigger exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/email_triggers/local_part_exists:
|
|
post:
|
|
summary: does email local part exists
|
|
operationId: existsEmailLocalPart
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: email local part exists request
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
local_part:
|
|
type: string
|
|
workspaced_local_part:
|
|
type: boolean
|
|
trigger_path:
|
|
type: string
|
|
|
|
required:
|
|
- local_part
|
|
responses:
|
|
"200":
|
|
description: email local part exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
/w/{workspace}/email_triggers/setmode/{path}:
|
|
post:
|
|
summary: enable/disable email trigger
|
|
operationId: setEmailTriggerMode
|
|
tags:
|
|
- email_trigger
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- mode
|
|
responses:
|
|
"200":
|
|
description: email trigger enable/disable
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/groups/list:
|
|
get:
|
|
summary: list instance groups
|
|
operationId: listInstanceGroups
|
|
tags:
|
|
- group
|
|
responses:
|
|
"200":
|
|
description: instance group list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/InstanceGroup"
|
|
/groups/list_with_workspaces:
|
|
get:
|
|
summary: list instance groups with workspace information
|
|
operationId: listInstanceGroupsWithWorkspaces
|
|
tags:
|
|
- group
|
|
responses:
|
|
"200":
|
|
description: instance group list with workspaces
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/InstanceGroupWithWorkspaces"
|
|
|
|
/groups/get/{name}:
|
|
get:
|
|
summary: get instance group
|
|
operationId: getInstanceGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: instance group
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/InstanceGroup"
|
|
|
|
/groups/create:
|
|
post:
|
|
summary: create instance group
|
|
operationId: createInstanceGroup
|
|
tags:
|
|
- group
|
|
requestBody:
|
|
description: create instance group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
required:
|
|
- name
|
|
responses:
|
|
"200":
|
|
description: instance group created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/groups/update/{name}:
|
|
post:
|
|
summary: update instance group
|
|
operationId: updateInstanceGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: update instance group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
new_summary:
|
|
type: string
|
|
required:
|
|
- new_summary
|
|
responses:
|
|
"200":
|
|
description: instance group updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/groups/delete/{name}:
|
|
delete:
|
|
summary: delete instance group
|
|
operationId: deleteInstanceGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: instance group deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/groups/adduser/{name}:
|
|
post:
|
|
summary: add user to instance group
|
|
operationId: addUserToInstanceGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: user to add to instance group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
required:
|
|
- email
|
|
responses:
|
|
"200":
|
|
description: user added to instance group
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/groups/removeuser/{name}:
|
|
post:
|
|
summary: remove user from instance group
|
|
operationId: removeUserFromInstanceGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: user to remove from instance group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
required:
|
|
- email
|
|
responses:
|
|
"200":
|
|
description: user removed from instance group
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
/groups/export:
|
|
get:
|
|
summary: export instance groups
|
|
operationId: exportInstanceGroups
|
|
tags:
|
|
- group
|
|
responses:
|
|
"200":
|
|
description: exported instance groups
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportedInstanceGroup"
|
|
|
|
/groups/overwrite:
|
|
post:
|
|
summary: overwrite instance groups
|
|
operationId: overwriteInstanceGroups
|
|
tags:
|
|
- group
|
|
requestBody:
|
|
description: overwrite instance groups
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExportedInstanceGroup"
|
|
responses:
|
|
"200":
|
|
description: success message
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/groups/list:
|
|
get:
|
|
summary: list groups
|
|
operationId: listGroups
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: group list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Group"
|
|
|
|
/w/{workspace}/groups/listnames:
|
|
get:
|
|
summary: list group names
|
|
operationId: listGroupNames
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: only_member_of
|
|
in: query
|
|
description: only list the groups the user is member of (default false)
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: group list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/groups/create:
|
|
post:
|
|
summary: create group
|
|
operationId: createGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: create group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
required:
|
|
- name
|
|
responses:
|
|
"200":
|
|
description: group created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/groups/update/{name}:
|
|
post:
|
|
summary: update group
|
|
operationId: updateGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: updated group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
summary:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: group updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/groups/delete/{name}:
|
|
delete:
|
|
summary: delete group
|
|
operationId: deleteGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: group deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/groups/get/{name}:
|
|
get:
|
|
summary: get group
|
|
operationId: getGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: group
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Group"
|
|
|
|
/w/{workspace}/groups/adduser/{name}:
|
|
post:
|
|
summary: add user to group
|
|
operationId: addUserToGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: added user to group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user added to group
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/groups/removeuser/{name}:
|
|
post:
|
|
summary: remove user to group
|
|
operationId: removeUserToGroup
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: added user to group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: user removed from group
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/groups_history/get/{name}:
|
|
get:
|
|
summary: get group permission history
|
|
operationId: getGroupPermissionHistory
|
|
tags:
|
|
- group
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: group permission history
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
changed_by:
|
|
type: string
|
|
changed_at:
|
|
type: string
|
|
format: date-time
|
|
change_type:
|
|
type: string
|
|
member_affected:
|
|
type: string
|
|
nullable: true
|
|
|
|
/w/{workspace}/folders/list:
|
|
get:
|
|
summary: list folders
|
|
operationId: listFolders
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: folder list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Folder"
|
|
|
|
/w/{workspace}/folders/listnames:
|
|
get:
|
|
summary: list folder names
|
|
operationId: listFolderNames
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: only_member_of
|
|
in: query
|
|
description: only list the folders the user is member of (default false)
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: folder list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/w/{workspace}/folders/create:
|
|
post:
|
|
summary: create folder
|
|
operationId: createFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: create folder
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
owners:
|
|
type: array
|
|
items:
|
|
type: string
|
|
extra_perms:
|
|
additionalProperties:
|
|
type: boolean
|
|
required:
|
|
- name
|
|
responses:
|
|
"200":
|
|
description: folder created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/folders/update/{name}:
|
|
post:
|
|
summary: update folder
|
|
operationId: updateFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: update folder
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
summary:
|
|
type: string
|
|
owners:
|
|
type: array
|
|
items:
|
|
type: string
|
|
extra_perms:
|
|
additionalProperties:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: folder updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/folders/delete/{name}:
|
|
delete:
|
|
summary: delete folder
|
|
operationId: deleteFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: folder deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/folders/get/{name}:
|
|
get:
|
|
summary: get folder
|
|
operationId: getFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: folder
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Folder"
|
|
|
|
/w/{workspace}/folders/exists/{name}:
|
|
get:
|
|
summary: exists folder
|
|
operationId: existsFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: folder exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/w/{workspace}/folders/getusage/{name}:
|
|
get:
|
|
summary: get folder usage
|
|
operationId: getFolderUsage
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: folder
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
scripts:
|
|
type: number
|
|
flows:
|
|
type: number
|
|
apps:
|
|
type: number
|
|
resources:
|
|
type: number
|
|
variables:
|
|
type: number
|
|
schedules:
|
|
type: number
|
|
required:
|
|
- scripts
|
|
- flows
|
|
- apps
|
|
- resources
|
|
- variables
|
|
- schedules
|
|
|
|
/w/{workspace}/folders/addowner/{name}:
|
|
post:
|
|
summary: add owner to folder
|
|
operationId: addOwnerToFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: owner user to folder
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
owner:
|
|
type: string
|
|
required:
|
|
- owner
|
|
|
|
responses:
|
|
"200":
|
|
description: owner added to folder
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/folders/removeowner/{name}:
|
|
post:
|
|
summary: remove owner to folder
|
|
operationId: removeOwnerToFolder
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: added owner to folder
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
owner:
|
|
type: string
|
|
write:
|
|
type: boolean
|
|
required:
|
|
- owner
|
|
responses:
|
|
"200":
|
|
description: owner removed from folder
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/folders_history/get/{name}:
|
|
get:
|
|
summary: get folder permission history
|
|
operationId: getFolderPermissionHistory
|
|
tags:
|
|
- folder
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Name"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: folder permission history
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
changed_by:
|
|
type: string
|
|
changed_at:
|
|
type: string
|
|
format: date-time
|
|
change_type:
|
|
type: string
|
|
affected:
|
|
type: string
|
|
nullable: true
|
|
|
|
/workers/list:
|
|
get:
|
|
summary: list workers
|
|
operationId: listWorkers
|
|
x-mcp-tool: true
|
|
tags:
|
|
- worker
|
|
parameters:
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- name: ping_since
|
|
in: query
|
|
required: false
|
|
description: number of seconds the worker must have had a last ping more recent of (default to 300)
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: a list of workers
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkerPing"
|
|
|
|
/workers/exists_workers_with_tags:
|
|
get:
|
|
summary: exists workers with tags
|
|
operationId: existsWorkersWithTags
|
|
tags:
|
|
- worker
|
|
parameters:
|
|
- name: tags
|
|
in: query
|
|
required: true
|
|
description: comma separated list of tags
|
|
schema:
|
|
type: string
|
|
- name: workspace
|
|
in: query
|
|
required: false
|
|
description: workspace to filter tags visibility (required when TAGS_ARE_SENSITIVE is enabled for non-superadmins)
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: map of tags to whether at least one worker with the tag exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
|
|
/workers/queue_metrics:
|
|
get:
|
|
summary: get queue metrics
|
|
operationId: getQueueMetrics
|
|
tags:
|
|
- worker
|
|
responses:
|
|
"200":
|
|
description: metrics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
value:
|
|
type: number
|
|
required:
|
|
- created_at
|
|
- value
|
|
required:
|
|
- id
|
|
- values
|
|
|
|
/workers/queue_counts:
|
|
get:
|
|
summary: get counts of jobs waiting for an executor per tag
|
|
operationId: getCountsOfJobsWaitingPerTag
|
|
tags:
|
|
- worker
|
|
responses:
|
|
"200":
|
|
description: queue counts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
|
|
/workers/queue_running_counts:
|
|
get:
|
|
summary: get counts of currently running jobs per tag
|
|
operationId: getCountsOfRunningJobsPerTag
|
|
tags:
|
|
- worker
|
|
responses:
|
|
"200":
|
|
description: queue running counts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
|
|
/configs/list_worker_groups:
|
|
get:
|
|
summary: list worker groups
|
|
operationId: listWorkerGroups
|
|
tags:
|
|
- config
|
|
responses:
|
|
"200":
|
|
description: a list of worker group configs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
config: {}
|
|
required:
|
|
- name
|
|
- config
|
|
|
|
/configs/get/{name}:
|
|
get:
|
|
summary: get config
|
|
operationId: get config
|
|
tags:
|
|
- config
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: a config
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Configs"
|
|
|
|
/configs/update/{name}:
|
|
post:
|
|
summary: Update config
|
|
operationId: updateConfig
|
|
tags:
|
|
- config
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
requestBody:
|
|
description: worker group
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
responses:
|
|
"200":
|
|
description: Update a worker group
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
delete:
|
|
summary: Delete Config
|
|
operationId: deleteConfig
|
|
tags:
|
|
- config
|
|
parameters:
|
|
- $ref: "#/components/parameters/Name"
|
|
responses:
|
|
"200":
|
|
description: Delete config
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/configs/list:
|
|
get:
|
|
summary: list configs
|
|
operationId: listConfigs
|
|
tags:
|
|
- config
|
|
responses:
|
|
"200":
|
|
description: list of configs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Config"
|
|
|
|
/configs/list_autoscaling_events/{worker_group}:
|
|
get:
|
|
summary: List autoscaling events
|
|
operationId: listAutoscalingEvents
|
|
tags:
|
|
- config
|
|
parameters:
|
|
- name: worker_group
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: List of autoscaling events
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AutoscalingEvent"
|
|
|
|
/configs/native_kubernetes_autoscaling_healthcheck:
|
|
get:
|
|
summary: Check Kubernetes autoscaling health for a worker group
|
|
operationId: nativeKubernetesAutoscalingHealthcheck
|
|
tags:
|
|
- config
|
|
responses:
|
|
"200":
|
|
description: Kubernetes autoscaling is healthy
|
|
"400":
|
|
description: Error
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/configs/list_available_python_versions:
|
|
get:
|
|
summary: Get currently available python versions provided by UV.
|
|
operationId: listAvailablePythonVersions
|
|
tags:
|
|
- config
|
|
# parameters:
|
|
responses:
|
|
"200":
|
|
description: List of python versions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
/agent_workers/create_agent_token:
|
|
post:
|
|
summary: create agent token
|
|
operationId: createAgentToken
|
|
tags:
|
|
- agent_workers
|
|
requestBody:
|
|
description: agent token
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
worker_group:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
exp:
|
|
type: integer
|
|
required:
|
|
- worker_group
|
|
- tags
|
|
- exp
|
|
responses:
|
|
"200":
|
|
description: agent token created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/agent_workers/blacklist_token:
|
|
post:
|
|
summary: blacklist agent token (requires super admin)
|
|
operationId: blacklistAgentToken
|
|
tags:
|
|
- agent_workers
|
|
requestBody:
|
|
description: token to blacklist
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
description: The agent token to blacklist
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
description: Optional expiration date for the blacklist entry
|
|
required:
|
|
- token
|
|
responses:
|
|
"200":
|
|
description: token blacklisted successfully
|
|
|
|
/agent_workers/remove_blacklist_token:
|
|
post:
|
|
summary: remove agent token from blacklist (requires super admin)
|
|
operationId: removeBlacklistAgentToken
|
|
tags:
|
|
- agent_workers
|
|
requestBody:
|
|
description: token to remove from blacklist
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
description: The agent token to remove from blacklist
|
|
required:
|
|
- token
|
|
responses:
|
|
"200":
|
|
description: token removed from blacklist successfully
|
|
|
|
/agent_workers/list_blacklisted_tokens:
|
|
get:
|
|
summary: list blacklisted agent tokens (requires super admin)
|
|
operationId: listBlacklistedAgentTokens
|
|
tags:
|
|
- agent_workers
|
|
parameters:
|
|
- name: include_expired
|
|
in: query
|
|
description: Whether to include expired blacklisted tokens
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: list of blacklisted tokens
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
description: The blacklisted token (without prefix)
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
description: When the blacklist entry expires
|
|
blacklisted_at:
|
|
type: string
|
|
format: date-time
|
|
description: When the token was blacklisted
|
|
blacklisted_by:
|
|
type: string
|
|
description: Email of the user who blacklisted the token
|
|
required:
|
|
- token
|
|
- expires_at
|
|
- blacklisted_at
|
|
- blacklisted_by
|
|
|
|
/agent_workers/get_min_version:
|
|
get:
|
|
summary: get minimum worker version across all workers
|
|
operationId: getMinVersion
|
|
tags:
|
|
- agent_workers
|
|
responses:
|
|
"200":
|
|
description: minimum worker version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
description: Minimum semantic version across all workers (e.g. "1.583.0")
|
|
|
|
/w/{workspace}/acls/get/{kind}/{path}:
|
|
get:
|
|
summary: get granular acls
|
|
operationId: getGranularAcls
|
|
tags:
|
|
- granular_acl
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: kind
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
[
|
|
script,
|
|
group_,
|
|
resource,
|
|
schedule,
|
|
variable,
|
|
flow,
|
|
folder,
|
|
app,
|
|
raw_app,
|
|
http_trigger,
|
|
websocket_trigger,
|
|
kafka_trigger,
|
|
nats_trigger,
|
|
postgres_trigger,
|
|
mqtt_trigger,
|
|
gcp_trigger,
|
|
sqs_trigger,
|
|
email_trigger,
|
|
]
|
|
responses:
|
|
"200":
|
|
description: acls
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
|
|
/w/{workspace}/acls/add/{kind}/{path}:
|
|
post:
|
|
summary: add granular acls
|
|
operationId: addGranularAcls
|
|
tags:
|
|
- granular_acl
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: kind
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
[
|
|
script,
|
|
group_,
|
|
resource,
|
|
schedule,
|
|
variable,
|
|
flow,
|
|
folder,
|
|
app,
|
|
raw_app,
|
|
http_trigger,
|
|
websocket_trigger,
|
|
kafka_trigger,
|
|
nats_trigger,
|
|
postgres_trigger,
|
|
mqtt_trigger,
|
|
gcp_trigger,
|
|
sqs_trigger,
|
|
email_trigger,
|
|
]
|
|
requestBody:
|
|
description: acl to add
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
owner:
|
|
type: string
|
|
write:
|
|
type: boolean
|
|
required: [owner]
|
|
responses:
|
|
"200":
|
|
description: granular acl added
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/acls/remove/{kind}/{path}:
|
|
post:
|
|
summary: remove granular acls
|
|
operationId: removeGranularAcls
|
|
tags:
|
|
- granular_acl
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: kind
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
[
|
|
script,
|
|
group_,
|
|
resource,
|
|
schedule,
|
|
variable,
|
|
flow,
|
|
folder,
|
|
app,
|
|
raw_app,
|
|
http_trigger,
|
|
websocket_trigger,
|
|
kafka_trigger,
|
|
nats_trigger,
|
|
postgres_trigger,
|
|
mqtt_trigger,
|
|
gcp_trigger,
|
|
sqs_trigger,
|
|
email_trigger,
|
|
]
|
|
requestBody:
|
|
description: acl to add
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
owner:
|
|
type: string
|
|
required: [owner]
|
|
responses:
|
|
"200":
|
|
description: granular acl removed
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/capture/set_config:
|
|
post:
|
|
summary: set capture config
|
|
operationId: setCaptureConfig
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: capture config
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
trigger_kind:
|
|
$ref: "#/components/schemas/CaptureTriggerKind"
|
|
path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
trigger_config:
|
|
type: object
|
|
required:
|
|
- trigger_kind
|
|
- path
|
|
- is_flow
|
|
responses:
|
|
"200":
|
|
description: capture config set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
|
|
/w/{workspace}/capture/ping_config/{trigger_kind}/{runnable_kind}/{path}:
|
|
post:
|
|
summary: ping capture config
|
|
operationId: pingCaptureConfig
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: trigger_kind
|
|
in: path
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/CaptureTriggerKind"
|
|
- $ref: "#/components/parameters/RunnableKind"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: capture config pinged
|
|
|
|
/w/{workspace}/capture/get_configs/{runnable_kind}/{path}:
|
|
get:
|
|
summary: get capture configs for a script or flow
|
|
operationId: getCaptureConfigs
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableKind"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: capture configs for a script or flow
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CaptureConfig"
|
|
|
|
/w/{workspace}/capture/list/{runnable_kind}/{path}:
|
|
get:
|
|
summary: list captures for a script or flow
|
|
operationId: listCaptures
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableKind"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: trigger_kind
|
|
in: query
|
|
schema:
|
|
$ref: "#/components/schemas/CaptureTriggerKind"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: list of captures for a script or flow
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Capture"
|
|
|
|
/w/{workspace}/capture/move/{runnable_kind}/{path}:
|
|
post:
|
|
summary: move captures and configs for a script or flow
|
|
operationId: moveCapturesAndConfigs
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableKind"
|
|
- $ref: "#/components/parameters/Path"
|
|
requestBody:
|
|
description: move captures and configs to a new path
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
new_path:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: captures and configs moved
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/capture/{id}:
|
|
get:
|
|
summary: get a capture
|
|
operationId: getCapture
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: capture
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Capture"
|
|
delete:
|
|
summary: delete a capture
|
|
operationId: deleteCapture
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: capture deleted
|
|
|
|
/w/{workspace}/favorites/star:
|
|
post:
|
|
summary: star item
|
|
operationId: star
|
|
tags:
|
|
- favorite
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
favorite_kind:
|
|
type: string
|
|
enum: [flow, app, script, raw_app]
|
|
responses:
|
|
"200":
|
|
description: star item
|
|
|
|
/w/{workspace}/favorites/unstar:
|
|
post:
|
|
summary: unstar item
|
|
operationId: unstar
|
|
tags:
|
|
- favorite
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
favorite_kind:
|
|
type: string
|
|
enum: [flow, app, script, raw_app]
|
|
responses:
|
|
"200":
|
|
description: unstar item
|
|
|
|
/w/{workspace}/inputs/history:
|
|
get:
|
|
summary: List Inputs used in previously completed jobs
|
|
operationId: getInputHistory
|
|
tags:
|
|
- input
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableId"
|
|
- $ref: "#/components/parameters/RunnableTypeQuery"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- name: include_preview
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: Input history for completed jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Input"
|
|
|
|
/w/{workspace}/inputs/{jobOrInputId}/args:
|
|
get:
|
|
summary: Get args from history or saved input
|
|
operationId: getArgsFromHistoryOrSavedInput
|
|
tags:
|
|
- input
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: jobOrInputId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: input
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: allow_large
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: args
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/inputs/list:
|
|
get:
|
|
summary: List saved Inputs for a Runnable
|
|
operationId: listInputs
|
|
tags:
|
|
- input
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableId"
|
|
- $ref: "#/components/parameters/RunnableTypeQuery"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
responses:
|
|
"200":
|
|
description: Saved Inputs for a Runnable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Input"
|
|
|
|
/w/{workspace}/inputs/create:
|
|
post:
|
|
summary: Create an Input for future use in a script or flow
|
|
operationId: createInput
|
|
tags:
|
|
- input
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/RunnableId"
|
|
- $ref: "#/components/parameters/RunnableTypeQuery"
|
|
requestBody:
|
|
description: Input
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateInput"
|
|
responses:
|
|
"201":
|
|
description: Input created
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/inputs/update:
|
|
post:
|
|
summary: Update an Input
|
|
operationId: updateInput
|
|
tags:
|
|
- input
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: UpdateInput
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UpdateInput"
|
|
responses:
|
|
"201":
|
|
description: Input updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/inputs/delete/{input}:
|
|
post:
|
|
summary: Delete a Saved Input
|
|
operationId: deleteInput
|
|
tags:
|
|
- input
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/InputId"
|
|
responses:
|
|
"200":
|
|
description: Input deleted
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
|
|
/w/{workspace}/job_helpers/duckdb_connection_settings:
|
|
post:
|
|
summary:
|
|
Converts an S3 resource to the set of instructions necessary to connect
|
|
DuckDB to an S3 bucket
|
|
operationId: duckdbConnectionSettings
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: S3 resource to connect to
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3_resource:
|
|
$ref: "#/components/schemas/S3Resource"
|
|
responses:
|
|
"200":
|
|
description: Connection settings
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection_settings_str:
|
|
type: string
|
|
/w/{workspace}/job_helpers/v2/duckdb_connection_settings:
|
|
post:
|
|
summary:
|
|
Converts an S3 resource to the set of instructions necessary to connect
|
|
DuckDB to an S3 bucket
|
|
operationId: duckdbConnectionSettingsV2
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description:
|
|
S3 resource path to use to generate the connection settings. If empty,
|
|
the S3 resource defined in the workspace settings will be used
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3_resource_path:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Connection settings
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connection_settings_str:
|
|
type: string
|
|
azure_container_path:
|
|
type: string
|
|
required:
|
|
- connection_settings_str
|
|
|
|
/w/{workspace}/job_helpers/polars_connection_settings:
|
|
post:
|
|
summary:
|
|
Converts an S3 resource to the set of arguments necessary to connect
|
|
Polars to an S3 bucket
|
|
operationId: polarsConnectionSettings
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: S3 resource to connect to
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3_resource:
|
|
$ref: "#/components/schemas/S3Resource"
|
|
responses:
|
|
"200":
|
|
description: Connection settings
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
endpoint_url:
|
|
type: string
|
|
key:
|
|
type: string
|
|
secret:
|
|
type: string
|
|
use_ssl:
|
|
type: boolean
|
|
cache_regions:
|
|
type: boolean
|
|
client_kwargs:
|
|
$ref: "#/components/schemas/PolarsClientKwargs"
|
|
required:
|
|
- endpoint_url
|
|
- use_ssl
|
|
- cache_regions
|
|
- client_kwargs
|
|
/w/{workspace}/job_helpers/v2/polars_connection_settings:
|
|
post:
|
|
summary:
|
|
Converts an S3 resource to the set of arguments necessary to connect
|
|
Polars to an S3 bucket
|
|
operationId: polarsConnectionSettingsV2
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description:
|
|
S3 resource path to use to generate the connection settings. If empty,
|
|
the S3 resource defined in the workspace settings will be used
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3_resource_path:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Connection settings
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3fs_args:
|
|
type: object
|
|
properties:
|
|
endpoint_url:
|
|
type: string
|
|
key:
|
|
type: string
|
|
secret:
|
|
type: string
|
|
use_ssl:
|
|
type: boolean
|
|
cache_regions:
|
|
type: boolean
|
|
client_kwargs:
|
|
$ref: "#/components/schemas/PolarsClientKwargs"
|
|
required:
|
|
- endpoint_url
|
|
- use_ssl
|
|
- cache_regions
|
|
- client_kwargs
|
|
storage_options:
|
|
type: object
|
|
properties:
|
|
aws_endpoint_url:
|
|
type: string
|
|
aws_access_key_id:
|
|
type: string
|
|
aws_secret_access_key:
|
|
type: string
|
|
aws_region:
|
|
type: string
|
|
aws_allow_http:
|
|
type: string
|
|
required:
|
|
- aws_endpoint_url
|
|
- aws_region
|
|
- aws_allow_http
|
|
required:
|
|
- s3fs_args
|
|
- storage_options
|
|
/w/{workspace}/job_helpers/v2/s3_resource_info:
|
|
post:
|
|
summary: Returns the s3 resource associated to the provided path, or the
|
|
workspace default S3 resource
|
|
operationId: s3ResourceInfo
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description:
|
|
S3 resource path to use. If empty, the S3 resource defined in the
|
|
workspace settings will be used
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
s3_resource_path:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Connection settings
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/S3Resource"
|
|
|
|
/w/{workspace}/job_helpers/test_connection:
|
|
get:
|
|
summary: Test connection to the workspace object storage
|
|
operationId: datasetStorageTestConnection
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Connection settings
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/job_helpers/list_stored_files:
|
|
get:
|
|
summary: List the file keys available in a workspace object storage
|
|
operationId: listStoredFiles
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: max_keys
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: marker
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: prefix
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: List of file keys
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
next_marker:
|
|
type: string
|
|
windmill_large_files:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WindmillLargeFile"
|
|
restricted_access:
|
|
type: boolean
|
|
required:
|
|
- windmill_large_files
|
|
|
|
/w/{workspace}/job_helpers/load_file_metadata:
|
|
get:
|
|
summary: Load metadata of the file
|
|
operationId: loadFileMetadata
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: FileMetadata
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WindmillFileMetadata"
|
|
|
|
/w/{workspace}/job_helpers/load_file_preview:
|
|
get:
|
|
summary: Load a preview of the file
|
|
operationId: loadFilePreview
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: file_size_in_bytes
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: file_mime_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: csv_separator
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: csv_has_header
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: read_bytes_from
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: read_bytes_length
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: FilePreview
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WindmillFilePreview"
|
|
|
|
/w/{workspace}/job_helpers/list_git_repo_files:
|
|
get:
|
|
summary: List the file keys available in instance object storage with resource-based access control
|
|
operationId: listGitRepoFiles
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: max_keys
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: marker
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: prefix
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Must follow format gitrepos/{workspace_id}/{resource_path}/...
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: List of file keys
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
next_marker:
|
|
type: string
|
|
windmill_large_files:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WindmillLargeFile"
|
|
restricted_access:
|
|
type: boolean
|
|
required:
|
|
- windmill_large_files
|
|
|
|
/w/{workspace}/job_helpers/load_git_repo_file_preview:
|
|
get:
|
|
summary: Load a preview of a file from instance storage with resource-based access control
|
|
operationId: loadGitRepoFilePreview
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Must follow format gitrepos/{workspace_id}/{resource_path}/...
|
|
- name: file_size_in_bytes
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: file_mime_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: csv_separator
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: csv_has_header
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: read_bytes_from
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: read_bytes_length
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: FilePreview
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WindmillFilePreview"
|
|
|
|
/w/{workspace}/job_helpers/load_git_repo_file_metadata:
|
|
get:
|
|
summary: Load file metadata from instance storage with resource-based access control
|
|
operationId: loadGitRepoFileMetadata
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Must follow format gitrepos/{workspace_id}/{resource_path}/...
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: FileMetadata
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WindmillFileMetadata"
|
|
|
|
/w/{workspace}/job_helpers/check_s3_folder_exists:
|
|
get:
|
|
summary: Check if S3 path exists and is a folder
|
|
operationId: checkS3FolderExists
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
description: S3 file key to check (e.g., gitrepos/{workspace_id}/u/user/resource/{commit_hash})
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: S3 folder existence check result
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
exists:
|
|
type: boolean
|
|
description: Whether the path exists
|
|
is_folder:
|
|
type: boolean
|
|
description: Whether the path is a folder (true) or file (false)
|
|
required:
|
|
- exists
|
|
- is_folder
|
|
|
|
/w/{workspace}/job_helpers/load_parquet_preview/{path}:
|
|
get:
|
|
summary: Load a preview of a parquet file
|
|
operationId: loadParquetPreview
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: offset
|
|
in: query
|
|
schema:
|
|
type: number
|
|
- name: limit
|
|
in: query
|
|
schema:
|
|
type: number
|
|
- name: sort_col
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sort_desc
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: search_col
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search_term
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Parquet Preview
|
|
content:
|
|
application/json: {}
|
|
|
|
/w/{workspace}/job_helpers/load_table_count/{path}:
|
|
get:
|
|
summary: Load the table row count
|
|
operationId: loadTableRowCount
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: search_col
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search_term
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Table count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
count:
|
|
type: number
|
|
|
|
/w/{workspace}/job_helpers/load_csv_preview/{path}:
|
|
get:
|
|
summary: Load a preview of a csv file
|
|
operationId: loadCsvPreview
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: offset
|
|
in: query
|
|
schema:
|
|
type: number
|
|
- name: limit
|
|
in: query
|
|
schema:
|
|
type: number
|
|
- name: sort_col
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sort_desc
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: search_col
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search_term
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: csv_separator
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Csv Preview
|
|
content:
|
|
application/json: {}
|
|
|
|
/w/{workspace}/job_helpers/delete_s3_file:
|
|
delete:
|
|
summary: Permanently delete file from S3
|
|
operationId: deleteS3File
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Confirmation
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/job_helpers/move_s3_file:
|
|
get:
|
|
summary: Move a S3 file from one path to the other within the same bucket
|
|
operationId: moveS3File
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: src_file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: dest_file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Confirmation
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/job_helpers/upload_s3_file:
|
|
post:
|
|
summary: Upload file to S3 bucket
|
|
operationId: fileUpload
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: file_extension
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: s3_resource_path
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: resource_type
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: content_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: content_disposition
|
|
in: query
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: File content
|
|
required: true
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
"200":
|
|
description: File upload status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file_key:
|
|
type: string
|
|
required:
|
|
- file_key
|
|
|
|
/w/{workspace}/job_helpers/upload_git_repo_file_to_instance_storage:
|
|
post:
|
|
summary: Upload a file to the instance storage gitrepos section for viewing
|
|
operationId: gitRepoViewerFileUpload
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: file_extension
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: s3_resource_path
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: resource_type
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: content_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: content_disposition
|
|
in: query
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: File content
|
|
required: true
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
"200":
|
|
description: File upload status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file_key:
|
|
type: string
|
|
required:
|
|
- file_key
|
|
|
|
/w/{workspace}/job_helpers/download_s3_file:
|
|
get:
|
|
summary: Download file from S3 bucket
|
|
operationId: fileDownload
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: s3_resource_path
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: resource_type
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: storage
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Chunk of the downloaded file
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
|
|
/w/{workspace}/job_helpers/download_s3_parquet_file_as_csv:
|
|
get:
|
|
summary: Download file to S3 bucket
|
|
operationId: fileDownloadParquetAsCsv
|
|
tags:
|
|
- helpers
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: file_key
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: s3_resource_path
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: resource_type
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: The downloaded file
|
|
content:
|
|
text/csv:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/job_metrics/get/{id}:
|
|
post:
|
|
summary: get job metrics
|
|
operationId: getJobMetrics
|
|
tags:
|
|
- metrics
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
requestBody:
|
|
description: parameters for statistics retrieval
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
timeseries_max_datapoints:
|
|
type: integer
|
|
from_timestamp:
|
|
type: string
|
|
format: date-time
|
|
to_timestamp:
|
|
type: string
|
|
format: date-time
|
|
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
metrics_metadata:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MetricMetadata"
|
|
scalar_metrics:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScalarMetric"
|
|
timeseries_metrics:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TimeseriesMetric"
|
|
|
|
/w/{workspace}/job_metrics/set_progress/{id}:
|
|
post:
|
|
summary: set job metrics
|
|
operationId: setJobProgress
|
|
tags:
|
|
- metrics
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
requestBody:
|
|
description: parameters for statistics retrieval
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
percent:
|
|
type: integer
|
|
flow_job_id:
|
|
type: string
|
|
format: uuid
|
|
|
|
responses:
|
|
"200":
|
|
description: Job progress updated
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/job_metrics/get_progress/{id}:
|
|
get:
|
|
summary: get job progress
|
|
operationId: getJobProgress
|
|
tags:
|
|
- metrics
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: job progress between 0 and 99
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
/service_logs/list_files:
|
|
get:
|
|
summary: list log files ordered by timestamp
|
|
operationId: listLogFiles
|
|
tags:
|
|
- service_logs
|
|
parameters:
|
|
- $ref: "#/components/parameters/Before"
|
|
- $ref: "#/components/parameters/After"
|
|
- name: with_error
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: time
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
hostname:
|
|
type: string
|
|
mode:
|
|
type: string
|
|
worker_group:
|
|
type: string
|
|
log_ts:
|
|
type: string
|
|
format: date-time
|
|
file_path:
|
|
type: string
|
|
ok_lines:
|
|
type: integer
|
|
err_lines:
|
|
type: integer
|
|
json_fmt:
|
|
type: boolean
|
|
required:
|
|
- hostname
|
|
- mode
|
|
- log_ts
|
|
- file_path
|
|
- json_fmt
|
|
|
|
/service_logs/get_log_file/{path}:
|
|
get:
|
|
summary: get log file by path
|
|
operationId: getLogFile
|
|
tags:
|
|
- service_logs
|
|
parameters:
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: log stream
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
/concurrency_groups/list:
|
|
get:
|
|
summary: List all concurrency groups
|
|
operationId: listConcurrencyGroups
|
|
tags:
|
|
- concurrencyGroups
|
|
responses:
|
|
"200":
|
|
description: all concurrency groups
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ConcurrencyGroup"
|
|
/concurrency_groups/prune/{concurrency_id}:
|
|
delete:
|
|
summary: Delete concurrency group
|
|
operationId: deleteConcurrencyGroup
|
|
tags:
|
|
- concurrencyGroups
|
|
parameters:
|
|
- $ref: "#/components/parameters/ConcurrencyId"
|
|
responses:
|
|
"200":
|
|
description: concurrency group removed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
/concurrency_groups/{id}/key:
|
|
get:
|
|
summary: Get the concurrency key for a job that has concurrency limits enabled
|
|
operationId: getConcurrencyKey
|
|
tags:
|
|
- concurrencyGroups
|
|
parameters:
|
|
- $ref: "#/components/parameters/JobId"
|
|
responses:
|
|
"200":
|
|
description: concurrency key for given job
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
/w/{workspace}/concurrency_groups/list_jobs:
|
|
get:
|
|
summary: Get intervals of job runtime concurrency
|
|
operationId: listExtendedJobs
|
|
tags:
|
|
- concurrencyGroups
|
|
- job
|
|
parameters:
|
|
- name: concurrency_key
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: row_limit
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: number
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/CreatedBy"
|
|
- $ref: "#/components/parameters/Label"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/ScriptExactPath"
|
|
- $ref: "#/components/parameters/ScriptStartPath"
|
|
- $ref: "#/components/parameters/SchedulePath"
|
|
- $ref: "#/components/parameters/ScriptExactHash"
|
|
- $ref: "#/components/parameters/StartedBefore"
|
|
- $ref: "#/components/parameters/StartedAfter"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/CompletedBefore"
|
|
- $ref: "#/components/parameters/CompletedAfter"
|
|
- $ref: "#/components/parameters/CreatedBeforeQueue"
|
|
- $ref: "#/components/parameters/CreatedAfterQueue"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $ref: "#/components/parameters/ArgsFilter"
|
|
- $ref: "#/components/parameters/Tag"
|
|
- $ref: "#/components/parameters/ResultFilter"
|
|
- $ref: "#/components/parameters/AllowWildcards"
|
|
- $ref: "#/components/parameters/Page"
|
|
- $ref: "#/components/parameters/PerPage"
|
|
- $ref: "#/components/parameters/JobTriggerKind"
|
|
- name: is_skipped
|
|
description: is the job skipped
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_flow_step
|
|
description: is the job a flow step
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: has_null_parent
|
|
description: has null parent
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: success
|
|
description: filter on successful jobs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: all_workspaces
|
|
description: get jobs from all workspaces (only valid if request come from the `admins` workspace)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: is_not_schedule
|
|
description: is not a scheduled job
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: time
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExtendedJobs"
|
|
|
|
/srch/w/{workspace}/index/search/job:
|
|
get:
|
|
summary: Search through jobs with a string query
|
|
operationId: searchJobsIndex
|
|
tags:
|
|
- indexSearch
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: search_query
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: pagination_offset
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: search results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
query_parse_errors:
|
|
description: a list of the terms that couldn't be parsed (and thus ignored)
|
|
type: array
|
|
items:
|
|
type: string
|
|
hits:
|
|
description: the jobs that matched the query
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/JobSearchHit"
|
|
hit_count:
|
|
description: how many jobs matched in total
|
|
type: number
|
|
index_metadata:
|
|
description: Metadata about the index current state
|
|
type: object
|
|
properties:
|
|
indexed_until:
|
|
description: Datetime of the most recently indexed job
|
|
type: string
|
|
format: date-time
|
|
lost_lock_ownership:
|
|
description: Is the current indexer service being replaced
|
|
type: boolean
|
|
|
|
/srch/index/search/service_logs:
|
|
get:
|
|
summary: Search through service logs with a string query
|
|
operationId: searchLogsIndex
|
|
tags:
|
|
- indexSearch
|
|
parameters:
|
|
- name: search_query
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: mode
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: worker_group
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: hostname
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: min_ts
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: max_ts
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: search results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
query_parse_errors:
|
|
description: a list of the terms that couldn't be parsed (and thus ignored)
|
|
type: array
|
|
items:
|
|
type: string
|
|
hits:
|
|
description: log files that matched the query
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LogSearchHit"
|
|
|
|
/srch/index/search/count_service_logs:
|
|
get:
|
|
summary: Search and count the log line hits on every provided host
|
|
operationId: countSearchLogsIndex
|
|
tags:
|
|
- indexSearch
|
|
parameters:
|
|
- name: search_query
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: min_ts
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
- name: max_ts
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: search results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
query_parse_errors:
|
|
description: a list of the terms that couldn't be parsed (and thus ignored)
|
|
type: array
|
|
items:
|
|
type: string
|
|
count_per_host:
|
|
description: count of log lines that matched the query per hostname
|
|
type: object
|
|
|
|
/srch/index/delete/{idx_name}:
|
|
delete:
|
|
summary: Restart container and delete the index to recreate it.
|
|
operationId: clearIndex
|
|
tags:
|
|
- indexSearch
|
|
parameters:
|
|
- name: idx_name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- JobIndex
|
|
- ServiceLogIndex
|
|
responses:
|
|
"200":
|
|
description: idx to be deleted and container restarting
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/assets/list:
|
|
get:
|
|
summary: List all assets in the workspace
|
|
operationId: listAssets
|
|
tags:
|
|
- asset
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: all assets in the workspace
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required: [path, kind, usages]
|
|
properties:
|
|
path:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/AssetKind"
|
|
usages:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required: [path, kind]
|
|
properties:
|
|
path:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/AssetUsageKind"
|
|
access_type:
|
|
$ref: "#/components/schemas/AssetUsageAccessType"
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
resource_type:
|
|
type: string
|
|
|
|
/w/{workspace}/assets/list_by_usages:
|
|
post:
|
|
summary: List all assets used by given usages paths
|
|
operationId: listAssetsByUsage
|
|
tags:
|
|
- asset
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: list assets by usages
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [usages]
|
|
properties:
|
|
usages:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required: [path, kind]
|
|
properties:
|
|
path:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/AssetUsageKind"
|
|
responses:
|
|
"200":
|
|
description: all assets used by the given usage paths, in the same order
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required: [path, kind]
|
|
properties:
|
|
path:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/AssetKind"
|
|
access_type:
|
|
$ref: "#/components/schemas/AssetUsageAccessType"
|
|
|
|
/mcp/w/{workspace}/list_tools:
|
|
get:
|
|
summary: list available MCP tools
|
|
operationId: listMcpTools
|
|
tags:
|
|
- mcp
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
responses:
|
|
"200":
|
|
description: list of MCP tools available for the workspace
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EndpointTool"
|
|
|
|
/mcp/oauth/discover:
|
|
post:
|
|
summary: discover MCP server OAuth metadata
|
|
operationId: discoverMcpOAuth
|
|
tags:
|
|
- mcp_oauth
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- mcp_server_url
|
|
properties:
|
|
mcp_server_url:
|
|
type: string
|
|
description: URL of the MCP server to discover OAuth metadata from
|
|
responses:
|
|
"200":
|
|
description: OAuth metadata from MCP server
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
scopes_supported:
|
|
type: array
|
|
items:
|
|
type: string
|
|
authorization_endpoint:
|
|
type: string
|
|
token_endpoint:
|
|
type: string
|
|
registration_endpoint:
|
|
type: string
|
|
supports_dynamic_registration:
|
|
type: boolean
|
|
|
|
/mcp/oauth/start:
|
|
get:
|
|
summary: start MCP OAuth popup flow
|
|
description: Opens in a popup, discovers OAuth metadata, registers client, and redirects to OAuth provider
|
|
operationId: startMcpOAuthPopup
|
|
tags:
|
|
- mcp_oauth
|
|
parameters:
|
|
- name: mcp_server_url
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: URL of the MCP server to connect to
|
|
- name: scopes
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Comma-separated list of OAuth scopes to request
|
|
responses:
|
|
"302":
|
|
description: Redirect to OAuth provider authorization URL
|
|
|
|
/mcp/oauth/callback:
|
|
get:
|
|
security: []
|
|
summary: MCP OAuth callback
|
|
description: Handles OAuth callback, exchanges code for tokens, returns HTML that posts message to opener
|
|
operationId: mcpOAuthCallback
|
|
tags:
|
|
- mcp_oauth
|
|
parameters:
|
|
- name: code
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: OAuth authorization code
|
|
- name: state
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: CSRF state token
|
|
responses:
|
|
"200":
|
|
description: HTML page with JavaScript that posts tokens to opener window and closes
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
|
|
components:
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
cookieAuth:
|
|
type: apiKey
|
|
in: cookie
|
|
name: token
|
|
|
|
parameters:
|
|
Id:
|
|
name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
Key:
|
|
name: key
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
WorkspaceId:
|
|
name: workspace
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
PublicationName:
|
|
name: publication
|
|
in: path
|
|
required: true
|
|
description: The name of the publication
|
|
schema:
|
|
type: string
|
|
VersionId:
|
|
name: version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
Token:
|
|
name: token
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
AccountId:
|
|
name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
ClientName:
|
|
name: client_name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
ScriptPath:
|
|
name: path
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
ScriptHash:
|
|
name: hash
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
JobId:
|
|
name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
Path:
|
|
name: path
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
CustomPath:
|
|
name: custom_path
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
PathId:
|
|
name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
PathVersion:
|
|
name: version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
Name:
|
|
name: name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
Page:
|
|
name: page
|
|
description: which page to return (start at 1, default 1)
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
PerPage:
|
|
name: per_page
|
|
description: number of items to return for a given page (default 30, max 100)
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
JobTriggerKind:
|
|
name: trigger_kind
|
|
description: trigger kind (schedule, http, websocket...)
|
|
in: query
|
|
schema:
|
|
$ref: "#/components/schemas/JobTriggerKind"
|
|
OrderDesc:
|
|
name: order_desc
|
|
description: order by desc order (default true)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
CreatedBy:
|
|
name: created_by
|
|
description: mask to filter exact matching user creator
|
|
in: query
|
|
schema:
|
|
type: string
|
|
Label:
|
|
name: label
|
|
description: mask to filter exact matching job's label (job labels are completed jobs with as a result an object containing a string in the array at key 'wm_labels')
|
|
in: query
|
|
schema:
|
|
type: string
|
|
Worker:
|
|
name: worker
|
|
description: worker this job was ran on
|
|
in: query
|
|
schema:
|
|
type: string
|
|
ParentJob:
|
|
name: parent_job
|
|
description:
|
|
The parent job that is at the origin and responsible for the execution
|
|
of this script if any
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
WorkerTag:
|
|
name: tag
|
|
description: Override the tag to use
|
|
in: query
|
|
schema:
|
|
type: string
|
|
CacheTtl:
|
|
name: cache_ttl
|
|
description: Override the cache time to live (in seconds). Can not be used to disable caching, only override with a new cache ttl
|
|
in: query
|
|
schema:
|
|
type: string
|
|
NewJobId:
|
|
name: job_id
|
|
description:
|
|
The job id to assign to the created job. if missing, job is chosen
|
|
randomly using the ULID scheme. If a job id already exists in the queue
|
|
or as a completed job, the request to create one will fail (Bad Request)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
IncludeHeader:
|
|
name: include_header
|
|
description: |
|
|
List of headers's keys (separated with ',') whove value are added to the args
|
|
Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key
|
|
in: query
|
|
schema:
|
|
type: string
|
|
QueueLimit:
|
|
name: queue_limit
|
|
description: |
|
|
The maximum size of the queue for which the request would get rejected if that job would push it above that limit
|
|
in: query
|
|
schema:
|
|
type: string
|
|
SkipPreprocessor:
|
|
name: skip_preprocessor
|
|
description: skip the preprocessor
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
Payload:
|
|
name: payload
|
|
description: |
|
|
The base64 encoded payload that has been encoded as a JSON. e.g how to encode such payload encodeURIComponent
|
|
`encodeURIComponent(btoa(JSON.stringify({a: 2})))`
|
|
in: query
|
|
schema:
|
|
type: string
|
|
ScriptStartPath:
|
|
name: script_path_start
|
|
description: mask to filter matching starting path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
SchedulePath:
|
|
name: schedule_path
|
|
description: mask to filter by schedule path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
TriggerPath:
|
|
name: trigger_path
|
|
description: mask to filter by trigger path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
ScriptExactPath:
|
|
name: script_path_exact
|
|
description: mask to filter exact matching path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
ScriptExactHash:
|
|
name: script_hash
|
|
description: mask to filter exact matching path
|
|
in: query
|
|
schema:
|
|
type: string
|
|
CreatedBefore:
|
|
name: created_before
|
|
description: filter on created before (inclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
CreatedAfter:
|
|
name: created_after
|
|
description: filter on created after (exclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
StartedBefore:
|
|
name: started_before
|
|
description: filter on started before (inclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
StartedAfter:
|
|
name: started_after
|
|
description: filter on started after (exclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
Before:
|
|
name: before
|
|
description: filter on started before (inclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
|
|
CompletedBefore:
|
|
name: completed_before
|
|
description: filter on started before (inclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
CompletedAfter:
|
|
name: completed_after
|
|
description: filter on started after (exclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
|
|
CreatedAfterQueue:
|
|
name: created_after_queue
|
|
description: filter on jobs created after X for jobs in the queue only
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
|
|
CreatedBeforeQueue:
|
|
name: created_before_queue
|
|
description: filter on jobs created before X for jobs in the queue only
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
|
|
Success:
|
|
name: success
|
|
description: filter on successful jobs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
ScheduledForBeforeNow:
|
|
name: scheduled_for_before_now
|
|
description: filter on jobs scheduled_for before now (hence waitinf for a worker)
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
Suspended:
|
|
name: suspended
|
|
description: filter on suspended jobs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
Running:
|
|
name: running
|
|
description: filter on running jobs
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
AllowWildcards:
|
|
name: allow_wildcards
|
|
description: allow wildcards (*) in the filter of label, tag, worker
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
ArgsFilter:
|
|
name: args
|
|
description: filter on jobs containing those args as a json subset (@> in postgres)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
Tag:
|
|
name: tag
|
|
description: filter on jobs with a given tag/worker group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
ResultFilter:
|
|
name: result
|
|
description: filter on jobs containing those result as a json subset (@> in postgres)
|
|
in: query
|
|
schema:
|
|
type: string
|
|
After:
|
|
name: after
|
|
description: filter on created after (exclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
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
|
|
ActionKind:
|
|
name: action_kind
|
|
description: filter on type of operation
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum: [Create, Update, Delete, Execute]
|
|
JobKinds:
|
|
name: job_kinds
|
|
description:
|
|
filter on job kind (values 'preview', 'script', 'dependencies', 'flow')
|
|
separated by,
|
|
in: query
|
|
schema:
|
|
type: string
|
|
# correct type is below but explode not supported by our codegen
|
|
# type: array
|
|
# items:
|
|
# type: string
|
|
# enum: ["preview", "script", "dependencies"]
|
|
# explode: false
|
|
RunnableId:
|
|
name: runnable_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
RunnableTypeQuery:
|
|
name: runnable_type
|
|
in: query
|
|
schema:
|
|
$ref: "#/components/schemas/RunnableType"
|
|
InputId:
|
|
name: input
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
GetStarted:
|
|
name: get_started
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
ConcurrencyId:
|
|
name: concurrency_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
RunnableKind:
|
|
name: runnable_kind
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [script, flow]
|
|
|
|
schemas:
|
|
# NOTE: Not so many generators and validators support this format:
|
|
# $ref: "../../openflow.openapi.yaml#/components/schemas"
|
|
# This is why it is better to inline each of schemas for better compat
|
|
# Do not change next line. It is used by python-client for pre-processing
|
|
# -- INLINE START --
|
|
OpenFlow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/OpenFlow"
|
|
FlowValue:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowValue"
|
|
Retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
StopAfterIf:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/StopAfterIf"
|
|
FlowModule:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowModule"
|
|
InputTransform:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/InputTransform"
|
|
StaticTransform:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/StaticTransform"
|
|
JavascriptTransform:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/JavascriptTransform"
|
|
FlowModuleValue:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowModuleValue"
|
|
RawScript:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/RawScript"
|
|
PathScript:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/PathScript"
|
|
PathFlow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/PathFlow"
|
|
ForloopFlow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/ForloopFlow"
|
|
WhileloopFlow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/WhileloopFlow"
|
|
BranchOne:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/BranchOne"
|
|
BranchAll:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/BranchAll"
|
|
AiAgent:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/AiAgent"
|
|
Identity:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Identity"
|
|
FlowStatus:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowStatus"
|
|
FlowStatusModule:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowStatusModule"
|
|
FlowNote:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowNote"
|
|
# -- INLINE END --
|
|
# Do not change line above
|
|
|
|
VaultSettings:
|
|
type: object
|
|
required:
|
|
- address
|
|
- mount_path
|
|
properties:
|
|
address:
|
|
type: string
|
|
description: HashiCorp Vault server address (e.g., https://vault.company.com:8200)
|
|
mount_path:
|
|
type: string
|
|
description: KV v2 secrets engine mount path (e.g., windmill)
|
|
jwt_role:
|
|
type: string
|
|
description: Vault JWT auth role name for Windmill (optional, if not provided token auth is used)
|
|
namespace:
|
|
type: string
|
|
description: Vault Enterprise namespace (optional)
|
|
token:
|
|
type: string
|
|
description: Static Vault token for testing/development (optional, if provided this is used instead of JWT authentication)
|
|
|
|
SecretMigrationFailure:
|
|
type: object
|
|
required:
|
|
- workspace_id
|
|
- path
|
|
- error
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
description: Workspace ID where the secret is located
|
|
path:
|
|
type: string
|
|
description: Path of the secret that failed to migrate
|
|
error:
|
|
type: string
|
|
description: Error message
|
|
|
|
SecretMigrationReport:
|
|
type: object
|
|
required:
|
|
- total_secrets
|
|
- migrated_count
|
|
- failed_count
|
|
- failures
|
|
properties:
|
|
total_secrets:
|
|
type: integer
|
|
format: int64
|
|
description: Total number of secrets found
|
|
migrated_count:
|
|
type: integer
|
|
format: int64
|
|
description: Number of secrets successfully migrated
|
|
failed_count:
|
|
type: integer
|
|
format: int64
|
|
description: Number of secrets that failed to migrate
|
|
failures:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SecretMigrationFailure"
|
|
description: Details of any failures encountered during migration
|
|
|
|
JwksResponse:
|
|
type: object
|
|
required:
|
|
- keys
|
|
properties:
|
|
keys:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
description: Array of JSON Web Keys for JWT verification
|
|
|
|
FlowConversation:
|
|
type: object
|
|
required:
|
|
[id, workspace_id, flow_path, created_at, updated_at, created_by]
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
description: Unique identifier for the conversation
|
|
workspace_id:
|
|
type: string
|
|
description: The workspace ID where the conversation belongs
|
|
flow_path:
|
|
type: string
|
|
description: Path of the flow this conversation is for
|
|
title:
|
|
type: string
|
|
description: Optional title for the conversation
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: When the conversation was created
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
description: When the conversation was last updated
|
|
created_by:
|
|
type: string
|
|
description: Username who created the conversation
|
|
|
|
FlowConversationMessage:
|
|
type: object
|
|
required: [id, conversation_id, message_type, content, created_at]
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
description: Unique identifier for the message
|
|
conversation_id:
|
|
type: string
|
|
format: uuid
|
|
description: The conversation this message belongs to
|
|
message_type:
|
|
type: string
|
|
enum: [user, assistant, system, tool]
|
|
description: Type of the message
|
|
content:
|
|
type: string
|
|
description: The message content
|
|
job_id:
|
|
type: string
|
|
format: uuid
|
|
nullable: true
|
|
description: Associated job ID if this message came from a flow run
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: When the message was created
|
|
step_name:
|
|
type: string
|
|
description: The step name that produced that message
|
|
success:
|
|
type: boolean
|
|
description: Whether the message is a success
|
|
|
|
EndpointTool:
|
|
type: object
|
|
required: [name, description, instructions, path, method]
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The tool name/operation ID
|
|
description:
|
|
type: string
|
|
description: Short description of the tool
|
|
instructions:
|
|
type: string
|
|
description: Detailed instructions for using the tool
|
|
path:
|
|
type: string
|
|
description: API endpoint path
|
|
method:
|
|
type: string
|
|
description: HTTP method (GET, POST, etc.)
|
|
path_params_schema:
|
|
type: object
|
|
description: JSON schema for path parameters
|
|
nullable: true
|
|
query_params_schema:
|
|
type: object
|
|
description: JSON schema for query parameters
|
|
nullable: true
|
|
body_schema:
|
|
type: object
|
|
description: JSON schema for request body
|
|
nullable: true
|
|
|
|
AIProvider:
|
|
type: string
|
|
enum:
|
|
[
|
|
openai,
|
|
azure_openai,
|
|
anthropic,
|
|
mistral,
|
|
deepseek,
|
|
googleai,
|
|
groq,
|
|
openrouter,
|
|
togetherai,
|
|
aws_bedrock,
|
|
customai,
|
|
]
|
|
|
|
GitSyncObjectType:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
- app
|
|
- folder
|
|
- resource
|
|
- variable
|
|
- secret
|
|
- resourcetype
|
|
- schedule
|
|
- user
|
|
- group
|
|
- trigger
|
|
- settings
|
|
- key
|
|
|
|
AIProviderModel:
|
|
type: object
|
|
properties:
|
|
model:
|
|
type: string
|
|
provider:
|
|
$ref: "#/components/schemas/AIProvider"
|
|
required:
|
|
- model
|
|
- provider
|
|
|
|
AIProviderConfig:
|
|
type: object
|
|
properties:
|
|
resource_path:
|
|
type: string
|
|
models:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- resource_path
|
|
- models
|
|
|
|
AIConfig:
|
|
type: object
|
|
properties:
|
|
providers:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/AIProviderConfig"
|
|
default_model:
|
|
$ref: "#/components/schemas/AIProviderModel"
|
|
code_completion_model:
|
|
$ref: "#/components/schemas/AIProviderModel"
|
|
custom_prompts:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
max_tokens_per_model:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 2000000
|
|
|
|
Alert:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
tags_to_monitor:
|
|
type: array
|
|
items:
|
|
type: string
|
|
jobs_num_threshold:
|
|
type: integer
|
|
alert_cooldown_seconds:
|
|
type: integer
|
|
alert_time_threshold_seconds:
|
|
type: integer
|
|
required:
|
|
- name
|
|
- tags_to_monitor
|
|
- jobs_num_threshold
|
|
- alert_cooldown_seconds
|
|
- alert_time_threshold_seconds
|
|
|
|
Configs:
|
|
type: object
|
|
nullable: true
|
|
properties:
|
|
alerts:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Alert"
|
|
|
|
WorkspaceDependencies:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
archived:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
content:
|
|
type: string
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
workspace_id:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- workspace_id
|
|
- language
|
|
- created_at
|
|
- content
|
|
- id
|
|
- archived
|
|
|
|
NewWorkspaceDependencies:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
content:
|
|
type: string
|
|
required:
|
|
- workspace_id
|
|
- language
|
|
- content
|
|
|
|
Script:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
hash:
|
|
type: string
|
|
path:
|
|
type: string
|
|
parent_hashes:
|
|
type: array
|
|
description: |
|
|
The first element is the direct parent of the script, the second is the parent of the first, etc
|
|
items:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
content:
|
|
type: string
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
archived:
|
|
type: boolean
|
|
schema:
|
|
type: object
|
|
deleted:
|
|
type: boolean
|
|
is_template:
|
|
type: boolean
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
lock:
|
|
type: string
|
|
lock_error_logs:
|
|
type: string
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
kind:
|
|
type: string
|
|
enum: [script, failure, trigger, command, approval, preprocessor]
|
|
starred:
|
|
type: boolean
|
|
tag:
|
|
type: string
|
|
has_draft:
|
|
type: boolean
|
|
draft_only:
|
|
type: boolean
|
|
envs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
concurrent_limit:
|
|
type: integer
|
|
concurrency_time_window_s:
|
|
type: integer
|
|
concurrency_key:
|
|
type: string
|
|
debounce_key:
|
|
type: string
|
|
debounce_delay_s:
|
|
type: integer
|
|
debounce_args_to_accumulate:
|
|
type: array
|
|
items:
|
|
type: string
|
|
max_total_debouncing_time:
|
|
type: integer
|
|
max_total_debounces_amount:
|
|
type: integer
|
|
cache_ttl:
|
|
type: number
|
|
dedicated_worker:
|
|
type: boolean
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
priority:
|
|
type: integer
|
|
restart_unless_cancelled:
|
|
type: boolean
|
|
timeout:
|
|
type: integer
|
|
delete_after_use:
|
|
type: boolean
|
|
visible_to_runner_only:
|
|
type: boolean
|
|
no_main_func:
|
|
type: boolean
|
|
codebase:
|
|
type: string
|
|
has_preprocessor:
|
|
type: boolean
|
|
on_behalf_of_email:
|
|
type: string
|
|
|
|
required:
|
|
- hash
|
|
- path
|
|
- summary
|
|
- description
|
|
- content
|
|
- created_by
|
|
- created_at
|
|
- archived
|
|
- deleted
|
|
- is_template
|
|
- extra_perms
|
|
- language
|
|
- kind
|
|
- starred
|
|
- no_main_func
|
|
- has_preprocessor
|
|
|
|
NewScript:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
parent_hash:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
content:
|
|
type: string
|
|
schema:
|
|
type: object
|
|
is_template:
|
|
type: boolean
|
|
lock:
|
|
type: string
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
kind:
|
|
type: string
|
|
enum: [script, failure, trigger, command, approval, preprocessor]
|
|
tag:
|
|
type: string
|
|
draft_only:
|
|
type: boolean
|
|
envs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
concurrent_limit:
|
|
type: integer
|
|
concurrency_time_window_s:
|
|
type: integer
|
|
cache_ttl:
|
|
type: number
|
|
cache_ignore_s3_path:
|
|
type: boolean
|
|
dedicated_worker:
|
|
type: boolean
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
priority:
|
|
type: integer
|
|
restart_unless_cancelled:
|
|
type: boolean
|
|
timeout:
|
|
type: integer
|
|
delete_after_use:
|
|
type: boolean
|
|
deployment_message:
|
|
type: string
|
|
concurrency_key:
|
|
type: string
|
|
debounce_key:
|
|
type: string
|
|
debounce_delay_s:
|
|
type: integer
|
|
debounce_args_to_accumulate:
|
|
type: array
|
|
items:
|
|
type: string
|
|
max_total_debouncing_time:
|
|
type: integer
|
|
max_total_debounces_amount:
|
|
type: integer
|
|
visible_to_runner_only:
|
|
type: boolean
|
|
no_main_func:
|
|
type: boolean
|
|
codebase:
|
|
type: string
|
|
has_preprocessor:
|
|
type: boolean
|
|
on_behalf_of_email:
|
|
type: string
|
|
assets:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- path
|
|
- kind
|
|
properties:
|
|
path:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/AssetKind"
|
|
access_type:
|
|
type: string
|
|
enum: [r, w, rw]
|
|
alt_access_type:
|
|
type: string
|
|
enum: [r, w, rw]
|
|
|
|
required:
|
|
- path
|
|
- summary
|
|
- description
|
|
- content
|
|
- language
|
|
|
|
NewScriptWithDraft:
|
|
allOf:
|
|
- $ref: "#/components/schemas/NewScript"
|
|
- type: object
|
|
properties:
|
|
draft:
|
|
$ref: "#/components/schemas/NewScript"
|
|
hash:
|
|
type: string
|
|
required:
|
|
- hash
|
|
|
|
ScriptHistory:
|
|
type: object
|
|
properties:
|
|
script_hash:
|
|
type: string
|
|
deployment_msg:
|
|
type: string
|
|
required:
|
|
- script_hash
|
|
|
|
ScriptArgs:
|
|
type: object
|
|
description: The arguments to pass to the script or flow
|
|
additionalProperties: {}
|
|
|
|
Input:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
is_public:
|
|
type: boolean
|
|
success:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- name
|
|
- args
|
|
- created_by
|
|
- created_at
|
|
- is_public
|
|
|
|
CreateInput:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
args:
|
|
type: object
|
|
required:
|
|
- name
|
|
- args
|
|
- created_by
|
|
|
|
UpdateInput:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
is_public:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- name
|
|
- is_public
|
|
|
|
RunnableType:
|
|
type: string
|
|
enum: ["ScriptHash", "ScriptPath", "FlowPath"]
|
|
|
|
QueuedJob:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
parent_job:
|
|
type: string
|
|
format: uuid
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
scheduled_for:
|
|
type: string
|
|
format: date-time
|
|
running:
|
|
type: boolean
|
|
script_path:
|
|
type: string
|
|
script_hash:
|
|
type: string
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
logs:
|
|
type: string
|
|
raw_code:
|
|
type: string
|
|
canceled:
|
|
type: boolean
|
|
canceled_by:
|
|
type: string
|
|
canceled_reason:
|
|
type: string
|
|
last_ping:
|
|
type: string
|
|
format: date-time
|
|
job_kind:
|
|
type: string
|
|
enum:
|
|
[
|
|
"script",
|
|
"preview",
|
|
"dependencies",
|
|
"flowdependencies",
|
|
"appdependencies",
|
|
"flow",
|
|
"flowpreview",
|
|
"script_hub",
|
|
"identity",
|
|
"deploymentcallback",
|
|
"singlestepflow",
|
|
"flowscript",
|
|
"flownode",
|
|
"appscript",
|
|
"aiagent",
|
|
"unassigned_script",
|
|
"unassigned_flow",
|
|
"unassigned_singlestepflow",
|
|
]
|
|
schedule_path:
|
|
type: string
|
|
permissioned_as:
|
|
type: string
|
|
description: |
|
|
The user (u/userfoo) or group (g/groupfoo) whom
|
|
the execution of this script will be permissioned_as and by extension its DT_TOKEN.
|
|
flow_status:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowStatus"
|
|
workflow_as_code_status:
|
|
$ref: "#/components/schemas/WorkflowStatus"
|
|
raw_flow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowValue"
|
|
is_flow_step:
|
|
type: boolean
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
email:
|
|
type: string
|
|
visible_to_owner:
|
|
type: boolean
|
|
mem_peak:
|
|
type: integer
|
|
tag:
|
|
type: string
|
|
priority:
|
|
type: integer
|
|
self_wait_time_ms:
|
|
type: number
|
|
aggregate_wait_time_ms:
|
|
type: number
|
|
suspend:
|
|
type: number
|
|
preprocessed:
|
|
type: boolean
|
|
worker:
|
|
type: string
|
|
required:
|
|
- id
|
|
- running
|
|
- canceled
|
|
- job_kind
|
|
- permissioned_as
|
|
- is_flow_step
|
|
- email
|
|
- visible_to_owner
|
|
- tag
|
|
|
|
CompletedJob:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
parent_job:
|
|
type: string
|
|
format: uuid
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
completed_at:
|
|
type: string
|
|
format: date-time
|
|
duration_ms:
|
|
type: integer
|
|
success:
|
|
type: boolean
|
|
script_path:
|
|
type: string
|
|
script_hash:
|
|
type: string
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
result: {}
|
|
logs:
|
|
type: string
|
|
deleted:
|
|
type: boolean
|
|
raw_code:
|
|
type: string
|
|
canceled:
|
|
type: boolean
|
|
canceled_by:
|
|
type: string
|
|
canceled_reason:
|
|
type: string
|
|
job_kind:
|
|
type: string
|
|
enum:
|
|
[
|
|
"script",
|
|
"preview",
|
|
"dependencies",
|
|
"flow",
|
|
"flowdependencies",
|
|
"appdependencies",
|
|
"flowpreview",
|
|
"script_hub",
|
|
"identity",
|
|
"deploymentcallback",
|
|
"singlestepflow",
|
|
"flowscript",
|
|
"flownode",
|
|
"appscript",
|
|
"aiagent",
|
|
"unassigned_script",
|
|
"unassigned_flow",
|
|
"unassigned_singlestepflow",
|
|
]
|
|
schedule_path:
|
|
type: string
|
|
permissioned_as:
|
|
type: string
|
|
description: |
|
|
The user (u/userfoo) or group (g/groupfoo) whom
|
|
the execution of this script will be permissioned_as and by extension its DT_TOKEN.
|
|
flow_status:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowStatus"
|
|
workflow_as_code_status:
|
|
$ref: "#/components/schemas/WorkflowStatus"
|
|
raw_flow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowValue"
|
|
is_flow_step:
|
|
type: boolean
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
is_skipped:
|
|
type: boolean
|
|
email:
|
|
type: string
|
|
visible_to_owner:
|
|
type: boolean
|
|
mem_peak:
|
|
type: integer
|
|
tag:
|
|
type: string
|
|
priority:
|
|
type: integer
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
self_wait_time_ms:
|
|
type: number
|
|
aggregate_wait_time_ms:
|
|
type: number
|
|
preprocessed:
|
|
type: boolean
|
|
worker:
|
|
type: string
|
|
required:
|
|
- id
|
|
- created_by
|
|
- duration_ms
|
|
- created_at
|
|
- started_at
|
|
- success
|
|
- canceled
|
|
- job_kind
|
|
- permissioned_as
|
|
- is_flow_step
|
|
- is_skipped
|
|
- email
|
|
- visible_to_owner
|
|
- tag
|
|
|
|
|
|
ExportableCompletedJob:
|
|
type: object
|
|
description: Completed job with full data for export/import operations
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
parent_job:
|
|
type: string
|
|
format: uuid
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
completed_at:
|
|
type: string
|
|
format: date-time
|
|
duration_ms:
|
|
type: integer
|
|
script_path:
|
|
type: string
|
|
script_hash:
|
|
type: string
|
|
args:
|
|
type: object
|
|
description: Full job arguments without size restrictions
|
|
result:
|
|
type: object
|
|
description: Full job result without size restrictions
|
|
logs:
|
|
type: string
|
|
description: Complete job logs from v2_job table
|
|
raw_code:
|
|
type: string
|
|
raw_lock:
|
|
type: string
|
|
canceled_by:
|
|
type: string
|
|
canceled_reason:
|
|
type: string
|
|
job_kind:
|
|
type: string
|
|
enum:
|
|
[
|
|
"script",
|
|
"preview",
|
|
"dependencies",
|
|
"flow",
|
|
"flowdependencies",
|
|
"appdependencies",
|
|
"flowpreview",
|
|
"script_hub",
|
|
"identity",
|
|
"deploymentcallback",
|
|
"singlestepflow",
|
|
"flowscript",
|
|
"flownode",
|
|
"appscript",
|
|
"aiagent",
|
|
"unassigned_script",
|
|
"unassigned_flow",
|
|
"unassigned_singlestepflow",
|
|
]
|
|
trigger:
|
|
type: string
|
|
description: Trigger path for the job (replaces schedule_path)
|
|
trigger_kind:
|
|
type: string
|
|
enum:
|
|
[
|
|
"webhook",
|
|
"http",
|
|
"websocket",
|
|
"kafka",
|
|
"email",
|
|
"nats",
|
|
"schedule",
|
|
"app",
|
|
"ui",
|
|
"postgres",
|
|
"sqs",
|
|
"gcp",
|
|
]
|
|
permissioned_as:
|
|
type: string
|
|
permissioned_as_email:
|
|
type: string
|
|
flow_status:
|
|
type: object
|
|
description: Flow status from v2_job_status table
|
|
workflow_as_code_status:
|
|
type: object
|
|
raw_flow:
|
|
type: object
|
|
is_flow_step:
|
|
type: boolean
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
is_skipped:
|
|
type: boolean
|
|
email:
|
|
type: string
|
|
visible_to_owner:
|
|
type: boolean
|
|
mem_peak:
|
|
type: integer
|
|
tag:
|
|
type: string
|
|
priority:
|
|
type: integer
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
same_worker:
|
|
type: boolean
|
|
flow_step_id:
|
|
type: string
|
|
flow_innermost_root_job:
|
|
type: string
|
|
format: uuid
|
|
concurrent_limit:
|
|
type: integer
|
|
concurrency_time_window_s:
|
|
type: integer
|
|
timeout:
|
|
type: integer
|
|
cache_ttl:
|
|
type: integer
|
|
self_wait_time_ms:
|
|
type: integer
|
|
aggregate_wait_time_ms:
|
|
type: integer
|
|
preprocessed:
|
|
type: boolean
|
|
worker:
|
|
type: string
|
|
status:
|
|
type: string
|
|
description: Actual job status from database
|
|
required:
|
|
- id
|
|
- created_by
|
|
- created_at
|
|
- job_kind
|
|
- permissioned_as
|
|
- email
|
|
- visible_to_owner
|
|
|
|
ExportableQueuedJob:
|
|
type: object
|
|
description: Queued job with full data for export/import operations
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
parent_job:
|
|
type: string
|
|
format: uuid
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
scheduled_for:
|
|
type: string
|
|
format: date-time
|
|
script_path:
|
|
type: string
|
|
script_hash:
|
|
type: string
|
|
args:
|
|
type: object
|
|
description: Full job arguments without size restrictions
|
|
logs:
|
|
type: string
|
|
description: Complete job logs from v2_job table
|
|
raw_code:
|
|
type: string
|
|
raw_lock:
|
|
type: string
|
|
canceled_by:
|
|
type: string
|
|
canceled_reason:
|
|
type: string
|
|
job_kind:
|
|
type: string
|
|
enum:
|
|
[
|
|
"script",
|
|
"preview",
|
|
"dependencies",
|
|
"flowdependencies",
|
|
"appdependencies",
|
|
"flow",
|
|
"flowpreview",
|
|
"script_hub",
|
|
"identity",
|
|
"deploymentcallback",
|
|
"singlestepflow",
|
|
"flowscript",
|
|
"flownode",
|
|
"appscript",
|
|
"aiagent",
|
|
"unassigned_script",
|
|
"unassigned_flow",
|
|
"unassigned_singlestepflow",
|
|
]
|
|
trigger:
|
|
type: string
|
|
description: Trigger path for the job (replaces schedule_path)
|
|
trigger_kind:
|
|
type: string
|
|
enum:
|
|
[
|
|
"webhook",
|
|
"http",
|
|
"websocket",
|
|
"kafka",
|
|
"email",
|
|
"nats",
|
|
"schedule",
|
|
"app",
|
|
"ui",
|
|
"postgres",
|
|
"sqs",
|
|
"gcp",
|
|
]
|
|
permissioned_as:
|
|
type: string
|
|
permissioned_as_email:
|
|
type: string
|
|
flow_status:
|
|
type: object
|
|
description: Flow status from v2_job_status table
|
|
workflow_as_code_status:
|
|
type: object
|
|
raw_flow:
|
|
type: object
|
|
is_flow_step:
|
|
type: boolean
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
email:
|
|
type: string
|
|
visible_to_owner:
|
|
type: boolean
|
|
mem_peak:
|
|
type: integer
|
|
tag:
|
|
type: string
|
|
priority:
|
|
type: integer
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
same_worker:
|
|
type: boolean
|
|
flow_step_id:
|
|
type: string
|
|
flow_innermost_root_job:
|
|
type: string
|
|
format: uuid
|
|
concurrent_limit:
|
|
type: integer
|
|
concurrency_time_window_s:
|
|
type: integer
|
|
timeout:
|
|
type: integer
|
|
cache_ttl:
|
|
type: integer
|
|
self_wait_time_ms:
|
|
type: integer
|
|
aggregate_wait_time_ms:
|
|
type: integer
|
|
preprocessed:
|
|
type: boolean
|
|
suspend:
|
|
type: integer
|
|
suspend_until:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- id
|
|
- created_by
|
|
- created_at
|
|
- job_kind
|
|
- permissioned_as
|
|
- email
|
|
- visible_to_owner
|
|
|
|
ObscuredJob:
|
|
type: object
|
|
properties:
|
|
typ:
|
|
type: string
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
duration_ms:
|
|
type: number
|
|
Job:
|
|
oneOf:
|
|
- allOf:
|
|
- $ref: "#/components/schemas/CompletedJob"
|
|
- type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [CompletedJob]
|
|
- allOf:
|
|
- $ref: "#/components/schemas/QueuedJob"
|
|
- type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [QueuedJob]
|
|
discriminator:
|
|
propertyName: type
|
|
|
|
User:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
username:
|
|
type: string
|
|
is_admin:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
is_super_admin:
|
|
type: boolean
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
operator:
|
|
type: boolean
|
|
disabled:
|
|
type: boolean
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
folders:
|
|
type: array
|
|
items:
|
|
type: string
|
|
folders_owners:
|
|
type: array
|
|
items:
|
|
type: string
|
|
added_via:
|
|
nullable: true
|
|
allOf:
|
|
- $ref: "#/components/schemas/UserSource"
|
|
required:
|
|
- email
|
|
- username
|
|
- is_admin
|
|
- is_super_admin
|
|
- created_at
|
|
- operator
|
|
- disabled
|
|
- folders
|
|
- folders_owners
|
|
|
|
UserSource:
|
|
type: object
|
|
properties:
|
|
source:
|
|
type: string
|
|
enum: [domain, instance_group, manual]
|
|
description: "How the user was added to the workspace"
|
|
domain:
|
|
type: string
|
|
description: "The domain used for auto-invite (when source is 'domain')"
|
|
group:
|
|
type: string
|
|
description: "The instance group name (when source is 'instance_group')"
|
|
required:
|
|
- source
|
|
|
|
UserUsage:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
executions:
|
|
type: number
|
|
|
|
Login:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
password:
|
|
type: string
|
|
required:
|
|
- email
|
|
- password
|
|
|
|
PasswordResetResponse:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
required:
|
|
- message
|
|
|
|
EditWorkspaceUser:
|
|
type: object
|
|
properties:
|
|
is_admin:
|
|
type: boolean
|
|
operator:
|
|
type: boolean
|
|
disabled:
|
|
type: boolean
|
|
|
|
TruncatedToken:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
expiration:
|
|
type: string
|
|
format: date-time
|
|
token_prefix:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
last_used_at:
|
|
type: string
|
|
format: date-time
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
email:
|
|
type: string
|
|
required:
|
|
- token_prefix
|
|
- created_at
|
|
- last_used_at
|
|
|
|
NewToken:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
expiration:
|
|
type: string
|
|
format: date-time
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
workspace_id:
|
|
type: string
|
|
|
|
NewTokenImpersonate:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
expiration:
|
|
type: string
|
|
format: date-time
|
|
impersonate_email:
|
|
type: string
|
|
workspace_id:
|
|
type: string
|
|
required:
|
|
- impersonate_email
|
|
|
|
ListableVariable:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
value:
|
|
type: string
|
|
is_secret:
|
|
type: boolean
|
|
description:
|
|
type: string
|
|
account:
|
|
type: integer
|
|
is_oauth:
|
|
type: boolean
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
is_expired:
|
|
type: boolean
|
|
refresh_error:
|
|
type: string
|
|
is_linked:
|
|
type: boolean
|
|
is_refreshed:
|
|
type: boolean
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- workspace_id
|
|
- path
|
|
- is_secret
|
|
- extra_perms
|
|
|
|
ContextualVariable:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
description:
|
|
type: string
|
|
is_custom:
|
|
type: boolean
|
|
required:
|
|
- name
|
|
- value
|
|
- description
|
|
- is_custom
|
|
|
|
CreateVariable:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: The path to the variable
|
|
value:
|
|
type: string
|
|
description: The value of the variable
|
|
is_secret:
|
|
type: boolean
|
|
description: Whether the variable is a secret
|
|
description:
|
|
type: string
|
|
description: The description of the variable
|
|
account:
|
|
type: integer
|
|
description: The account identifier
|
|
is_oauth:
|
|
type: boolean
|
|
description: Whether the variable is an OAuth variable
|
|
expires_at:
|
|
type: string
|
|
description: The expiration date of the variable
|
|
format: date-time
|
|
required:
|
|
- path
|
|
- value
|
|
- is_secret
|
|
- description
|
|
|
|
EditVariable:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: The path to the variable
|
|
value:
|
|
type: string
|
|
description: The new value of the variable
|
|
is_secret:
|
|
type: boolean
|
|
description: Whether the variable is a secret
|
|
description:
|
|
type: string
|
|
description: The new description of the variable
|
|
|
|
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
|
|
|
|
MainArgSignature:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: ["Valid", "Invalid"]
|
|
error:
|
|
type: string
|
|
star_args:
|
|
type: boolean
|
|
star_kwargs:
|
|
type: boolean
|
|
args:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
typ:
|
|
oneOf:
|
|
- type: string
|
|
enum:
|
|
[
|
|
"float",
|
|
"int",
|
|
"bool",
|
|
"email",
|
|
"unknown",
|
|
"bytes",
|
|
"dict",
|
|
"datetime",
|
|
"sql",
|
|
]
|
|
- type: object
|
|
properties:
|
|
resource:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- resource
|
|
- type: object
|
|
properties:
|
|
str:
|
|
type: array
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- str
|
|
- type: object
|
|
properties:
|
|
object:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
props:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
typ:
|
|
oneOf:
|
|
- type: string
|
|
enum:
|
|
[
|
|
"float",
|
|
"int",
|
|
"bool",
|
|
"email",
|
|
"unknown",
|
|
"bytes",
|
|
"dict",
|
|
"datetime",
|
|
"sql",
|
|
]
|
|
- type: object
|
|
properties:
|
|
str: {}
|
|
required: [str]
|
|
required:
|
|
- key
|
|
- typ
|
|
required:
|
|
- object
|
|
- type: object
|
|
properties:
|
|
list:
|
|
oneOf:
|
|
- type: string
|
|
enum:
|
|
[
|
|
"float",
|
|
"int",
|
|
"bool",
|
|
"email",
|
|
"unknown",
|
|
"bytes",
|
|
"dict",
|
|
"datetime",
|
|
"sql",
|
|
]
|
|
- type: object
|
|
properties:
|
|
str: {}
|
|
required: [str]
|
|
nullable: true
|
|
required:
|
|
- list
|
|
has_default:
|
|
type: boolean
|
|
default: {}
|
|
required:
|
|
- name
|
|
- typ
|
|
no_main_func:
|
|
type: boolean
|
|
nullable: true
|
|
has_preprocessor:
|
|
type: boolean
|
|
nullable: true
|
|
required:
|
|
- star_args
|
|
- start_kwargs
|
|
- args
|
|
- type
|
|
- error
|
|
- no_main_func
|
|
- has_preprocessor
|
|
|
|
ScriptLang:
|
|
type: string
|
|
enum: [
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
oracledb,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
ansible,
|
|
csharp,
|
|
nu,
|
|
java,
|
|
ruby,
|
|
duckdb,
|
|
# for related places search: ADD_NEW_LANG
|
|
]
|
|
|
|
Preview:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
description: The code to run
|
|
path:
|
|
type: string
|
|
description: The path to the script
|
|
script_hash:
|
|
type: string
|
|
description: The hash of the script
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
tag:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
enum: [code, identity, http]
|
|
dedicated_worker:
|
|
type: boolean
|
|
lock:
|
|
type: string
|
|
required:
|
|
- args
|
|
|
|
PreviewInline:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
description: The code to run
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
required: [content, args, language]
|
|
|
|
WorkflowTask:
|
|
type: object
|
|
properties:
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
required:
|
|
- args
|
|
|
|
WorkflowStatusRecord:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/WorkflowStatus"
|
|
|
|
WorkflowStatus:
|
|
type: object
|
|
properties:
|
|
scheduled_for:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
duration_ms:
|
|
type: number
|
|
name:
|
|
type: string
|
|
|
|
CreateResource:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: The path to the resource
|
|
value: {}
|
|
description:
|
|
type: string
|
|
description: The description of the resource
|
|
resource_type:
|
|
type: string
|
|
description: The resource_type associated with the resource
|
|
required:
|
|
- path
|
|
- value
|
|
- resource_type
|
|
|
|
EditResource:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: The path to the resource
|
|
description:
|
|
type: string
|
|
description: The new description of the resource
|
|
value: {}
|
|
resource_type:
|
|
type: string
|
|
description: The new resource_type to be associated with the resource
|
|
|
|
Resource:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
description:
|
|
type: string
|
|
resource_type:
|
|
type: string
|
|
value: {}
|
|
is_oauth:
|
|
type: boolean
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
created_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- path
|
|
- resource_type
|
|
- is_oauth
|
|
|
|
ListableResource:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
description:
|
|
type: string
|
|
resource_type:
|
|
type: string
|
|
value: {}
|
|
is_oauth:
|
|
type: boolean
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
is_expired:
|
|
type: boolean
|
|
refresh_error:
|
|
type: string
|
|
is_linked:
|
|
type: boolean
|
|
is_refreshed:
|
|
type: boolean
|
|
account:
|
|
type: number
|
|
created_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- path
|
|
- resource_type
|
|
- is_oauth
|
|
- is_linked
|
|
- is_refreshed
|
|
|
|
ResourceType:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
schema: {}
|
|
description:
|
|
type: string
|
|
created_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
format_extension:
|
|
type: string
|
|
required:
|
|
- name
|
|
|
|
EditResourceType:
|
|
type: object
|
|
properties:
|
|
schema: {}
|
|
description:
|
|
type: string
|
|
|
|
Schedule:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
edited_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
schedule:
|
|
type: string
|
|
timezone:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
email:
|
|
type: string
|
|
error:
|
|
type: string
|
|
on_failure:
|
|
# a reference to a script path, flow path, or webhook (script/<path>, flow/<path>)
|
|
type: string
|
|
on_failure_times:
|
|
type: number
|
|
on_failure_exact:
|
|
type: boolean
|
|
on_failure_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
on_recovery:
|
|
type: string
|
|
on_recovery_times:
|
|
type: number
|
|
on_recovery_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
on_success:
|
|
type: string
|
|
on_success_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
no_flow_overlap:
|
|
type: boolean
|
|
tag:
|
|
type: string
|
|
paused_until:
|
|
type: string
|
|
format: date-time
|
|
cron_version:
|
|
type: string
|
|
dynamic_skip:
|
|
type: string
|
|
description: Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean.
|
|
required:
|
|
- path
|
|
- edited_by
|
|
- edited_at
|
|
- schedule
|
|
- script_path
|
|
- timezone
|
|
- extra_perms
|
|
- is_flow
|
|
- enabled
|
|
- email
|
|
|
|
ScheduleWJobs:
|
|
allOf:
|
|
- $ref: "#/components/schemas/Schedule"
|
|
- type: object
|
|
properties:
|
|
jobs:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
success:
|
|
type: boolean
|
|
duration_ms:
|
|
type: number
|
|
required:
|
|
- id
|
|
- success
|
|
- duration_ms
|
|
|
|
ErrorHandler:
|
|
type: string
|
|
enum:
|
|
- custom
|
|
- slack
|
|
- teams
|
|
- email
|
|
|
|
NewSchedule:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: The path where the schedule will be created
|
|
schedule:
|
|
type: string
|
|
description: The cron schedule to trigger the script or flow. Should include seconds.
|
|
timezone:
|
|
type: string
|
|
description: The timezone to use for the cron schedule
|
|
script_path:
|
|
type: string
|
|
description: The path to the script or flow to trigger
|
|
is_flow:
|
|
type: boolean
|
|
description: Whether the schedule is for a flow
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow
|
|
enabled:
|
|
type: boolean
|
|
description: Whether the schedule is enabled
|
|
on_failure:
|
|
# a reference to a script path, flow path, or webhook (script/<path>, flow/<path>)
|
|
type: string
|
|
description: The path to the script or flow to trigger on failure
|
|
on_failure_times:
|
|
type: number
|
|
description: The number of times to retry on failure
|
|
on_failure_exact:
|
|
type: boolean
|
|
description: Whether the schedule should only run on the exact time
|
|
on_failure_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow on failure
|
|
on_recovery:
|
|
type: string
|
|
description: The path to the script or flow to trigger on recovery
|
|
on_recovery_times:
|
|
type: number
|
|
description: The number of times to retry on recovery
|
|
on_recovery_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow on recovery
|
|
on_success:
|
|
type: string
|
|
description: The path to the script or flow to trigger on success
|
|
on_success_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow on success
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
description: Whether the WebSocket error handler is muted
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
description: The retry configuration for the schedule
|
|
no_flow_overlap:
|
|
type: boolean
|
|
description: Whether the schedule should not run if a flow is already running
|
|
summary:
|
|
type: string
|
|
description: The summary of the schedule
|
|
description:
|
|
type: string
|
|
description: The description of the schedule
|
|
tag:
|
|
type: string
|
|
description: The tag of the schedule
|
|
paused_until:
|
|
type: string
|
|
description: The date and time the schedule will be paused until
|
|
format: date-time
|
|
cron_version:
|
|
type: string
|
|
description: The version of the cron schedule to use (last is v2)
|
|
dynamic_skip:
|
|
type: string
|
|
description: Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean.
|
|
required:
|
|
- path
|
|
- schedule
|
|
- timezone
|
|
- script_path
|
|
- is_flow
|
|
- args
|
|
|
|
EditSchedule:
|
|
type: object
|
|
properties:
|
|
schedule:
|
|
type: string
|
|
description: The cron schedule to trigger the script or flow. Should include seconds.
|
|
timezone:
|
|
type: string
|
|
description: The timezone to use for the cron schedule
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow
|
|
on_failure:
|
|
# a reference to a script path, flow path, or webhook (script/<path>, flow/<path>)
|
|
type: string
|
|
description: The path to the script or flow to trigger on failure
|
|
on_failure_times:
|
|
type: number
|
|
description: The number of times to retry on failure
|
|
on_failure_exact:
|
|
type: boolean
|
|
description: Whether the schedule should only run on the exact time
|
|
on_failure_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow on failure
|
|
on_recovery:
|
|
type: string
|
|
description: The path to the script or flow to trigger on recovery
|
|
on_recovery_times:
|
|
type: number
|
|
description: The number of times to retry on recovery
|
|
on_recovery_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow on recovery
|
|
on_success:
|
|
type: string
|
|
description: The path to the script or flow to trigger on success
|
|
on_success_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
description: The arguments to pass to the script or flow on success
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
description: Whether the WebSocket error handler is muted
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
description: The retry configuration for the schedule
|
|
no_flow_overlap:
|
|
type: boolean
|
|
description: Whether the schedule should not run if a flow is already running
|
|
summary:
|
|
type: string
|
|
description: The summary of the schedule
|
|
description:
|
|
type: string
|
|
description: The description of the schedule
|
|
tag:
|
|
type: string
|
|
description: The tag of the schedule
|
|
paused_until:
|
|
type: string
|
|
description: The date and time the schedule will be paused until
|
|
format: date-time
|
|
cron_version:
|
|
type: string
|
|
description: The version of the cron schedule to use (last is v2)
|
|
dynamic_skip:
|
|
type: string
|
|
description: Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean.
|
|
required:
|
|
- schedule
|
|
- timezone
|
|
- args
|
|
|
|
JobTriggerKind:
|
|
description: job trigger kind (schedule, http, websocket...)
|
|
type: string
|
|
enum:
|
|
- webhook
|
|
- default_email
|
|
- email
|
|
- schedule
|
|
- http
|
|
- websocket
|
|
- postgres
|
|
- kafka
|
|
- nats
|
|
- mqtt
|
|
- sqs
|
|
- gcp
|
|
|
|
TriggerMode:
|
|
description: job trigger mode
|
|
type: string
|
|
enum:
|
|
- enabled
|
|
- disabled
|
|
- suspended
|
|
|
|
TriggerExtraProperty:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
email:
|
|
type: string
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
workspace_id:
|
|
type: string
|
|
edited_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- email
|
|
- extra_perms
|
|
- workspace_id
|
|
- edited_by
|
|
- edited_at
|
|
- is_flow
|
|
- mode
|
|
|
|
AuthenticationMethod:
|
|
type: string
|
|
enum:
|
|
- none
|
|
- windmill
|
|
- api_key
|
|
- basic_http
|
|
- custom_script
|
|
- signature
|
|
|
|
RunnableKind:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
|
|
OpenapiSpecFormat:
|
|
type: string
|
|
enum:
|
|
- yaml
|
|
- json
|
|
|
|
OpenapiHttpRouteFilters:
|
|
type: object
|
|
properties:
|
|
folder_regex:
|
|
type: string
|
|
path_regex:
|
|
type: string
|
|
route_path_regex:
|
|
type: string
|
|
required:
|
|
- folder_regex
|
|
- path_regex
|
|
- route_path_regex
|
|
|
|
WebhookFilters:
|
|
type: object
|
|
properties:
|
|
user_or_folder_regex:
|
|
type: string
|
|
enum:
|
|
- "*"
|
|
- u
|
|
- f
|
|
user_or_folder_regex_value:
|
|
type: string
|
|
path:
|
|
type: string
|
|
runnable_kind:
|
|
$ref: "#/components/schemas/RunnableKind"
|
|
required:
|
|
- user_or_folder_regex
|
|
- user_or_folder_regex_value
|
|
- path
|
|
- runnable_kind
|
|
|
|
OpenapiV3Info:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
version:
|
|
type: string
|
|
description:
|
|
type: string
|
|
terms_of_service:
|
|
type: string
|
|
contact:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
email:
|
|
type: string
|
|
license:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
identifier:
|
|
type: string
|
|
url:
|
|
type: string
|
|
required:
|
|
- name
|
|
required:
|
|
- title
|
|
- version
|
|
|
|
GenerateOpenapiSpec:
|
|
type: object
|
|
properties:
|
|
info:
|
|
$ref: "#/components/schemas/OpenapiV3Info"
|
|
url:
|
|
type: string
|
|
openapi_spec_format:
|
|
$ref: "#/components/schemas/OpenapiSpecFormat"
|
|
http_route_filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/OpenapiHttpRouteFilters"
|
|
webhook_filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WebhookFilters"
|
|
|
|
HttpMethod:
|
|
type: string
|
|
enum:
|
|
- get
|
|
- post
|
|
- put
|
|
- delete
|
|
- patch
|
|
|
|
HttpRequestType:
|
|
type: string
|
|
enum:
|
|
- sync
|
|
- async
|
|
- sync_sse
|
|
|
|
HttpTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
route_path:
|
|
type: string
|
|
static_asset_config:
|
|
type: object
|
|
properties:
|
|
s3:
|
|
type: string
|
|
storage:
|
|
type: string
|
|
filename:
|
|
type: string
|
|
required:
|
|
- s3
|
|
http_method:
|
|
$ref: "#/components/schemas/HttpMethod"
|
|
authentication_resource_path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
request_type:
|
|
$ref: "#/components/schemas/HttpRequestType"
|
|
authentication_method:
|
|
$ref: "#/components/schemas/AuthenticationMethod"
|
|
is_static_website:
|
|
type: boolean
|
|
workspaced_route:
|
|
type: boolean
|
|
wrap_body:
|
|
type: boolean
|
|
raw_string:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- route_path
|
|
- request_type
|
|
- authentication_method
|
|
- http_method
|
|
- is_static_website
|
|
- workspaced_route
|
|
- wrap_body
|
|
- raw_string
|
|
|
|
NewHttpTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
route_path:
|
|
type: string
|
|
workspaced_route:
|
|
type: boolean
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
static_asset_config:
|
|
type: object
|
|
properties:
|
|
s3:
|
|
type: string
|
|
storage:
|
|
type: string
|
|
filename:
|
|
type: string
|
|
required:
|
|
- s3
|
|
is_flow:
|
|
type: boolean
|
|
http_method:
|
|
$ref: "#/components/schemas/HttpMethod"
|
|
authentication_resource_path:
|
|
type: string
|
|
is_async:
|
|
type: boolean
|
|
description: Deprecated, use request_type instead
|
|
request_type:
|
|
$ref: "#/components/schemas/HttpRequestType"
|
|
authentication_method:
|
|
$ref: "#/components/schemas/AuthenticationMethod"
|
|
is_static_website:
|
|
type: boolean
|
|
wrap_body:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
raw_string:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- route_path
|
|
- is_flow
|
|
- authentication_method
|
|
- http_method
|
|
- is_static_website
|
|
|
|
EditHttpTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
route_path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
workspaced_route:
|
|
type: boolean
|
|
static_asset_config:
|
|
type: object
|
|
properties:
|
|
s3:
|
|
type: string
|
|
storage:
|
|
type: string
|
|
filename:
|
|
type: string
|
|
required:
|
|
- s3
|
|
authentication_resource_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
http_method:
|
|
$ref: "#/components/schemas/HttpMethod"
|
|
is_async:
|
|
type: boolean
|
|
description: Deprecated, use request_type instead
|
|
request_type:
|
|
$ref: "#/components/schemas/HttpRequestType"
|
|
authentication_method:
|
|
$ref: "#/components/schemas/AuthenticationMethod"
|
|
is_static_website:
|
|
type: boolean
|
|
wrap_body:
|
|
type: boolean
|
|
raw_string:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- kind
|
|
- authentication_method
|
|
- http_method
|
|
- is_static_website
|
|
|
|
TriggersCount:
|
|
type: object
|
|
properties:
|
|
primary_schedule:
|
|
type: object
|
|
properties:
|
|
schedule:
|
|
type: string
|
|
schedule_count:
|
|
type: number
|
|
http_routes_count:
|
|
type: number
|
|
webhook_count:
|
|
type: number
|
|
email_count:
|
|
type: number
|
|
default_email_count:
|
|
type: number
|
|
websocket_count:
|
|
type: number
|
|
postgres_count:
|
|
type: number
|
|
kafka_count:
|
|
type: number
|
|
nats_count:
|
|
type: number
|
|
mqtt_count:
|
|
type: number
|
|
gcp_count:
|
|
type: number
|
|
sqs_count:
|
|
type: number
|
|
|
|
WebsocketTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
server_id:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error:
|
|
type: string
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- key
|
|
- value
|
|
initial_messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WebsocketTriggerInitialMessage"
|
|
url_runnable_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
can_return_message:
|
|
type: boolean
|
|
can_return_error_result:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- url
|
|
- filters
|
|
- can_return_message
|
|
- can_return_error_result
|
|
|
|
NewWebsocketTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
url:
|
|
type: string
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- key
|
|
- value
|
|
initial_messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WebsocketTriggerInitialMessage"
|
|
url_runnable_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
can_return_message:
|
|
type: boolean
|
|
can_return_error_result:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- url
|
|
- is_flow
|
|
- filters
|
|
- can_return_message
|
|
- can_return_error_result
|
|
|
|
EditWebsocketTrigger:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
value: {}
|
|
required:
|
|
- key
|
|
- value
|
|
initial_messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WebsocketTriggerInitialMessage"
|
|
url_runnable_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
can_return_message:
|
|
type: boolean
|
|
can_return_error_result:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- url
|
|
- is_flow
|
|
- filters
|
|
- can_return_message
|
|
- can_return_error_result
|
|
WebsocketTriggerInitialMessage:
|
|
anyOf:
|
|
- type: object
|
|
properties:
|
|
raw_message:
|
|
type: string
|
|
required:
|
|
- raw_message
|
|
- type: object
|
|
properties:
|
|
runnable_result:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
is_flow:
|
|
type: boolean
|
|
required:
|
|
- path
|
|
- args
|
|
- is_flow
|
|
required:
|
|
- runnable_result
|
|
|
|
MqttQoS:
|
|
type: string
|
|
enum: ["qos0", "qos1", "qos2"]
|
|
|
|
MqttV3Config:
|
|
type: object
|
|
properties:
|
|
clean_session:
|
|
type: boolean
|
|
|
|
MqttV5Config:
|
|
type: object
|
|
properties:
|
|
clean_start:
|
|
type: boolean
|
|
topic_alias_maximum:
|
|
type: number
|
|
session_expiry_interval:
|
|
type: number
|
|
|
|
MqttSubscribeTopic:
|
|
type: object
|
|
properties:
|
|
qos:
|
|
$ref: "#/components/schemas/MqttQoS"
|
|
topic:
|
|
type: string
|
|
required:
|
|
- qos
|
|
- topic
|
|
|
|
MqttClientVersion:
|
|
type: string
|
|
enum: ["v3", "v5"]
|
|
|
|
MqttTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
mqtt_resource_path:
|
|
type: string
|
|
subscribe_topics:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MqttSubscribeTopic"
|
|
v3_config:
|
|
$ref: "#/components/schemas/MqttV3Config"
|
|
v5_config:
|
|
$ref: "#/components/schemas/MqttV5Config"
|
|
client_id:
|
|
type: string
|
|
client_version:
|
|
$ref: "#/components/schemas/MqttClientVersion"
|
|
server_id:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error:
|
|
type: string
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- subscribe_topics
|
|
- mqtt_resource_path
|
|
|
|
NewMqttTrigger:
|
|
type: object
|
|
properties:
|
|
mqtt_resource_path:
|
|
type: string
|
|
subscribe_topics:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MqttSubscribeTopic"
|
|
client_id:
|
|
type: string
|
|
v3_config:
|
|
$ref: "#/components/schemas/MqttV3Config"
|
|
v5_config:
|
|
$ref: "#/components/schemas/MqttV5Config"
|
|
client_version:
|
|
$ref: "#/components/schemas/MqttClientVersion"
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- subscribe_topics
|
|
- mqtt_resource_path
|
|
|
|
EditMqttTrigger:
|
|
type: object
|
|
properties:
|
|
mqtt_resource_path:
|
|
type: string
|
|
subscribe_topics:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MqttSubscribeTopic"
|
|
client_id:
|
|
type: string
|
|
v3_config:
|
|
$ref: "#/components/schemas/MqttV3Config"
|
|
v5_config:
|
|
$ref: "#/components/schemas/MqttV5Config"
|
|
client_version:
|
|
$ref: "#/components/schemas/MqttClientVersion"
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- enabled
|
|
- subscribe_topics
|
|
- mqtt_resource_path
|
|
|
|
DeliveryType:
|
|
type: string
|
|
enum:
|
|
- push
|
|
- pull
|
|
|
|
PushConfig:
|
|
type: object
|
|
properties:
|
|
audience:
|
|
type: string
|
|
authenticate:
|
|
type: boolean
|
|
required:
|
|
- authenticate
|
|
- base_endpoint
|
|
|
|
GcpTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
gcp_resource_path:
|
|
type: string
|
|
topic_id:
|
|
type: string
|
|
subscription_id:
|
|
type: string
|
|
server_id:
|
|
type: string
|
|
delivery_type:
|
|
$ref: "#/components/schemas/DeliveryType"
|
|
delivery_config:
|
|
$ref: "#/components/schemas/PushConfig"
|
|
subscription_mode:
|
|
$ref: "#/components/schemas/SubscriptionMode"
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error:
|
|
type: string
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- gcp_resource_path
|
|
- topic_id
|
|
- subscription_id
|
|
- delivery_type
|
|
- subscription_mode
|
|
|
|
SubscriptionMode:
|
|
type: string
|
|
enum:
|
|
- existing
|
|
- create_update
|
|
description: "The mode of subscription. 'existing' means using an existing GCP subscription, while 'create_update' involves creating or updating a new subscription."
|
|
|
|
GcpTriggerData:
|
|
type: object
|
|
properties:
|
|
gcp_resource_path:
|
|
type: string
|
|
subscription_mode:
|
|
$ref: "#/components/schemas/SubscriptionMode"
|
|
topic_id:
|
|
type: string
|
|
subscription_id:
|
|
type: string
|
|
base_endpoint:
|
|
type: string
|
|
delivery_type:
|
|
$ref: "#/components/schemas/DeliveryType"
|
|
delivery_config:
|
|
$ref: "#/components/schemas/PushConfig"
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
auto_acknowledge_msg:
|
|
type: boolean
|
|
ack_deadline:
|
|
type: integer
|
|
format: int32
|
|
minimum: 10
|
|
maximum: 600
|
|
description: "Time in seconds within which the message must be acknowledged. If not provided, defaults to the subscription's acknowledgment deadline (600 seconds)."
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- gcp_resource_path
|
|
- topic_id
|
|
- subscription_mode
|
|
|
|
GetAllTopicSubscription:
|
|
type: object
|
|
properties:
|
|
topic_id:
|
|
type: string
|
|
required:
|
|
- topic_id
|
|
|
|
DeleteGcpSubscription:
|
|
type: object
|
|
properties:
|
|
subscription_id:
|
|
type: string
|
|
required:
|
|
- subscription_id
|
|
|
|
AwsAuthResourceType:
|
|
type: string
|
|
enum:
|
|
- oidc
|
|
- credentials
|
|
|
|
SqsTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
queue_url:
|
|
type: string
|
|
aws_auth_resource_type:
|
|
$ref: "#/components/schemas/AwsAuthResourceType"
|
|
aws_resource_path:
|
|
type: string
|
|
message_attributes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
server_id:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error:
|
|
type: string
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- queue_url
|
|
- aws_resource_path
|
|
- aws_auth_resource_type
|
|
|
|
LoggedWizardStatus:
|
|
type: string
|
|
enum:
|
|
- OK
|
|
- SKIP
|
|
- FAIL
|
|
|
|
CustomInstanceDbLogs:
|
|
type: object
|
|
properties:
|
|
super_admin:
|
|
$ref: "#/components/schemas/LoggedWizardStatus"
|
|
database_credentials:
|
|
$ref: "#/components/schemas/LoggedWizardStatus"
|
|
valid_dbname:
|
|
$ref: "#/components/schemas/LoggedWizardStatus"
|
|
created_database:
|
|
$ref: "#/components/schemas/LoggedWizardStatus"
|
|
db_connect:
|
|
$ref: "#/components/schemas/LoggedWizardStatus"
|
|
grant_permissions:
|
|
$ref: "#/components/schemas/LoggedWizardStatus"
|
|
|
|
CustomInstanceDbTag:
|
|
type: string
|
|
enum:
|
|
- ducklake
|
|
- datatable
|
|
|
|
CustomInstanceDb:
|
|
type: object
|
|
required:
|
|
- logs
|
|
- success
|
|
properties:
|
|
logs:
|
|
$ref: "#/components/schemas/CustomInstanceDbLogs"
|
|
success:
|
|
type: boolean
|
|
description: Whether the operation completed successfully
|
|
example: true
|
|
error:
|
|
type: string
|
|
nullable: true
|
|
description: Error message if the operation failed
|
|
example: "Connection timeout"
|
|
tag:
|
|
$ref: "#/components/schemas/CustomInstanceDbTag"
|
|
|
|
NewSqsTrigger:
|
|
type: object
|
|
properties:
|
|
queue_url:
|
|
type: string
|
|
aws_auth_resource_type:
|
|
$ref: "#/components/schemas/AwsAuthResourceType"
|
|
aws_resource_path:
|
|
type: string
|
|
message_attributes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- queue_url
|
|
- aws_resource_path
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- aws_auth_resource_type
|
|
|
|
EditSqsTrigger:
|
|
type: object
|
|
properties:
|
|
queue_url:
|
|
type: string
|
|
aws_auth_resource_type:
|
|
$ref: "#/components/schemas/AwsAuthResourceType"
|
|
aws_resource_path:
|
|
type: string
|
|
message_attributes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- queue_url
|
|
- aws_resource_path
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- enabled
|
|
- aws_auth_resource_type
|
|
|
|
Slot:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
|
|
SlotList:
|
|
type: object
|
|
properties:
|
|
slot_name:
|
|
type: string
|
|
active:
|
|
type: boolean
|
|
|
|
PublicationData:
|
|
type: object
|
|
properties:
|
|
table_to_track:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Relations"
|
|
transaction_to_track:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- transaction_to_track
|
|
|
|
TableToTrack:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
table_name:
|
|
type: string
|
|
columns_name:
|
|
type: array
|
|
items:
|
|
type: string
|
|
where_clause:
|
|
type: string
|
|
required:
|
|
- table_name
|
|
|
|
Relations:
|
|
type: object
|
|
properties:
|
|
schema_name:
|
|
type: string
|
|
table_to_track:
|
|
$ref: "#/components/schemas/TableToTrack"
|
|
required:
|
|
- schema_name
|
|
- table_to_track
|
|
|
|
Language:
|
|
type: string
|
|
enum:
|
|
- Typescript
|
|
|
|
TemplateScript:
|
|
type: object
|
|
properties:
|
|
postgres_resource_path:
|
|
type: string
|
|
relations:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Relations"
|
|
language:
|
|
$ref: "#/components/schemas/Language"
|
|
required:
|
|
- postgres_resource_path
|
|
- relations
|
|
- language
|
|
|
|
PostgresTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
postgres_resource_path:
|
|
type: string
|
|
publication_name:
|
|
type: string
|
|
server_id:
|
|
type: string
|
|
replication_slot_name:
|
|
type: string
|
|
error:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- postgres_resource_path
|
|
- replication_slot_name
|
|
- publication_name
|
|
|
|
NewPostgresTrigger:
|
|
type: object
|
|
properties:
|
|
replication_slot_name:
|
|
type: string
|
|
publication_name:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
postgres_resource_path:
|
|
type: string
|
|
publication:
|
|
$ref: "#/components/schemas/PublicationData"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- enabled
|
|
- postgres_resource_path
|
|
|
|
EditPostgresTrigger:
|
|
type: object
|
|
properties:
|
|
replication_slot_name:
|
|
type: string
|
|
publication_name:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
postgres_resource_path:
|
|
type: string
|
|
publication:
|
|
$ref: "#/components/schemas/PublicationData"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- enabled
|
|
- postgres_resource_path
|
|
- publication_name
|
|
- replication_slot_name
|
|
|
|
KafkaTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
kafka_resource_path:
|
|
type: string
|
|
group_id:
|
|
type: string
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: string
|
|
server_id:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error:
|
|
type: string
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- kafka_resource_path
|
|
- group_id
|
|
- topics
|
|
|
|
NewKafkaTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
kafka_resource_path:
|
|
type: string
|
|
group_id:
|
|
type: string
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- kafka_resource_path
|
|
- group_id
|
|
- topics
|
|
|
|
EditKafkaTrigger:
|
|
type: object
|
|
properties:
|
|
kafka_resource_path:
|
|
type: string
|
|
group_id:
|
|
type: string
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- kafka_resource_path
|
|
- group_id
|
|
- topics
|
|
- is_flow
|
|
|
|
NatsTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
nats_resource_path:
|
|
type: string
|
|
use_jetstream:
|
|
type: boolean
|
|
stream_name:
|
|
type: string
|
|
consumer_name:
|
|
type: string
|
|
subjects:
|
|
type: array
|
|
items:
|
|
type: string
|
|
server_id:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
error:
|
|
type: string
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- nats_resource_path
|
|
- use_jetstream
|
|
- subjects
|
|
|
|
NewNatsTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
nats_resource_path:
|
|
type: string
|
|
use_jetstream:
|
|
type: boolean
|
|
stream_name:
|
|
type: string
|
|
consumer_name:
|
|
type: string
|
|
subjects:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
- nats_resource_path
|
|
- use_jetstream
|
|
- subjects
|
|
|
|
EditNatsTrigger:
|
|
type: object
|
|
properties:
|
|
nats_resource_path:
|
|
type: string
|
|
use_jetstream:
|
|
type: boolean
|
|
stream_name:
|
|
type: string
|
|
consumer_name:
|
|
type: string
|
|
subjects:
|
|
type: array
|
|
items:
|
|
type: string
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- nats_resource_path
|
|
- use_jetstream
|
|
- subjects
|
|
- is_flow
|
|
|
|
EmailTrigger:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TriggerExtraProperty"
|
|
type: object
|
|
properties:
|
|
local_part:
|
|
type: string
|
|
workspaced_local_part:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
|
|
required:
|
|
- local_part
|
|
|
|
NewEmailTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
local_part:
|
|
type: string
|
|
workspaced_local_part:
|
|
type: boolean
|
|
is_flow:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
mode:
|
|
$ref: "#/components/schemas/TriggerMode"
|
|
|
|
required:
|
|
- path
|
|
- script_path
|
|
- local_part
|
|
- is_flow
|
|
|
|
EditEmailTrigger:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
local_part:
|
|
type: string
|
|
workspaced_local_part:
|
|
type: boolean
|
|
is_flow:
|
|
type: boolean
|
|
error_handler_path:
|
|
type: string
|
|
error_handler_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
retry:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/Retry"
|
|
required:
|
|
- path
|
|
- script_path
|
|
- is_flow
|
|
|
|
Group:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
members:
|
|
type: array
|
|
items:
|
|
type: string
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
required:
|
|
- name
|
|
|
|
InstanceGroup:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
emails:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
InstanceGroupWithWorkspaces:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
emails:
|
|
type: array
|
|
items:
|
|
type: string
|
|
workspaces:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceInfo"
|
|
|
|
WorkspaceInfo:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
workspace_name:
|
|
type: string
|
|
role:
|
|
type: string
|
|
required:
|
|
- name
|
|
|
|
Folder:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
owners:
|
|
type: array
|
|
items:
|
|
type: string
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
summary:
|
|
type: string
|
|
created_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- name
|
|
- owners
|
|
- extra_perms
|
|
|
|
WorkerPing:
|
|
type: object
|
|
properties:
|
|
worker:
|
|
type: string
|
|
worker_instance:
|
|
type: string
|
|
last_ping:
|
|
type: number
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
ip:
|
|
type: string
|
|
jobs_executed:
|
|
type: integer
|
|
custom_tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
worker_group:
|
|
type: string
|
|
wm_version:
|
|
type: string
|
|
last_job_id:
|
|
type: string
|
|
last_job_workspace_id:
|
|
type: string
|
|
occupancy_rate:
|
|
type: number
|
|
occupancy_rate_15s:
|
|
type: number
|
|
occupancy_rate_5m:
|
|
type: number
|
|
occupancy_rate_30m:
|
|
type: number
|
|
memory:
|
|
type: number
|
|
vcpus:
|
|
type: number
|
|
memory_usage:
|
|
type: number
|
|
wm_memory_usage:
|
|
type: number
|
|
job_isolation:
|
|
type: string
|
|
required:
|
|
- worker
|
|
- worker_instance
|
|
- ping_at
|
|
- started_at
|
|
- ip
|
|
- jobs_executed
|
|
- worker_group
|
|
- wm_version
|
|
UserWorkspaceList:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
workspaces:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
username:
|
|
type: string
|
|
color:
|
|
type: string
|
|
operator_settings:
|
|
$ref: "#/components/schemas/OperatorSettings"
|
|
parent_workspace_id:
|
|
type: string
|
|
nullable: true
|
|
created_by:
|
|
type: string
|
|
nullable: true
|
|
disabled:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- name
|
|
- username
|
|
- color
|
|
- disabled
|
|
required:
|
|
- email
|
|
- workspaces
|
|
|
|
CreateWorkspace:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
username:
|
|
type: string
|
|
color:
|
|
type: string
|
|
required:
|
|
- id
|
|
- name
|
|
|
|
CreateWorkspaceFork:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
color:
|
|
type: string
|
|
required:
|
|
- id
|
|
- name
|
|
- parent_workspace_id
|
|
|
|
Workspace:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
owner:
|
|
type: string
|
|
domain:
|
|
type: string
|
|
color:
|
|
type: string
|
|
parent_workspace_id:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- id
|
|
- name
|
|
- owner
|
|
- created_at
|
|
|
|
DependencyMap:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
nullable: true
|
|
importer_path:
|
|
type: string
|
|
nullable: true
|
|
importer_kind:
|
|
type: string
|
|
nullable: true
|
|
imported_path:
|
|
type: string
|
|
nullable: true
|
|
importer_node_id:
|
|
type: string
|
|
nullable: true
|
|
|
|
DependencyDependent:
|
|
type: object
|
|
properties:
|
|
importer_path:
|
|
type: string
|
|
importer_kind:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
- app
|
|
importer_node_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- importer_path
|
|
- importer_kind
|
|
|
|
DependentsAmount:
|
|
type: object
|
|
properties:
|
|
imported_path:
|
|
type: string
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
required:
|
|
- imported_path
|
|
- count
|
|
|
|
WorkspaceInvite:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
email:
|
|
type: string
|
|
is_admin:
|
|
type: boolean
|
|
operator:
|
|
type: boolean
|
|
parent_workspace_id:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- workspace_id
|
|
- email
|
|
- is_admin
|
|
- operator
|
|
|
|
GlobalUserInfo:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
login_type:
|
|
type: string
|
|
enum: ["password", "github"]
|
|
super_admin:
|
|
type: boolean
|
|
devops:
|
|
type: boolean
|
|
verified:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
company:
|
|
type: string
|
|
username:
|
|
type: string
|
|
operator_only:
|
|
type: boolean
|
|
first_time_user:
|
|
type: boolean
|
|
|
|
required:
|
|
- email
|
|
- login_type
|
|
- super_admin
|
|
- verified
|
|
- first_time_user
|
|
|
|
Flow:
|
|
allOf:
|
|
- $ref: "../../openflow.openapi.yaml#/components/schemas/OpenFlow"
|
|
- $ref: "#/components/schemas/FlowMetadata"
|
|
- type: object
|
|
properties:
|
|
lock_error_logs:
|
|
type: string
|
|
version_id:
|
|
type: number
|
|
|
|
ExtraPerms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
|
|
FlowMetadata:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
edited_by:
|
|
type: string
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
archived:
|
|
type: boolean
|
|
extra_perms:
|
|
$ref: "#/components/schemas/ExtraPerms"
|
|
starred:
|
|
type: boolean
|
|
draft_only:
|
|
type: boolean
|
|
tag:
|
|
type: string
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
priority:
|
|
type: integer
|
|
dedicated_worker:
|
|
type: boolean
|
|
timeout:
|
|
type: number
|
|
visible_to_runner_only:
|
|
type: boolean
|
|
on_behalf_of_email:
|
|
type: string
|
|
required:
|
|
- path
|
|
- edited_by
|
|
- edited_at
|
|
- archived
|
|
- extra_perms
|
|
|
|
OpenFlowWPath:
|
|
allOf:
|
|
- $ref: "../../openflow.openapi.yaml#/components/schemas/OpenFlow"
|
|
- type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
tag:
|
|
type: string
|
|
ws_error_handler_muted:
|
|
type: boolean
|
|
priority:
|
|
type: integer
|
|
dedicated_worker:
|
|
type: boolean
|
|
timeout:
|
|
type: number
|
|
visible_to_runner_only:
|
|
type: boolean
|
|
on_behalf_of_email:
|
|
type: string
|
|
required:
|
|
- path
|
|
|
|
FlowPreview:
|
|
type: object
|
|
properties:
|
|
value:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowValue"
|
|
path:
|
|
type: string
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
tag:
|
|
type: string
|
|
restarted_from:
|
|
$ref: "#/components/schemas/RestartedFrom"
|
|
|
|
required:
|
|
- value
|
|
- content
|
|
- args
|
|
|
|
RestartedFrom:
|
|
type: object
|
|
properties:
|
|
flow_job_id:
|
|
type: string
|
|
format: uuid
|
|
step_id:
|
|
type: string
|
|
branch_or_iteration_n:
|
|
type: integer
|
|
flow_version:
|
|
type: integer
|
|
|
|
Policy:
|
|
type: object
|
|
properties:
|
|
triggerables:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
triggerables_v2:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
s3_inputs:
|
|
type: array
|
|
items:
|
|
type: object
|
|
allowed_s3_keys:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
s3_path:
|
|
type: string
|
|
resource:
|
|
type: string
|
|
execution_mode:
|
|
type: string
|
|
enum: [viewer, publisher, anonymous]
|
|
on_behalf_of:
|
|
type: string
|
|
on_behalf_of_email:
|
|
type: string
|
|
|
|
ListableApp:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
version:
|
|
type: integer
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
starred:
|
|
type: boolean
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
execution_mode:
|
|
type: string
|
|
enum: [viewer, publisher, anonymous]
|
|
raw_app:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- workspace_id
|
|
- path
|
|
- summary
|
|
- version
|
|
- extra_perms
|
|
- edited_at
|
|
- execution_mode
|
|
|
|
ScopeDefinition:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
label:
|
|
type: string
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
requires_resource_path:
|
|
type: boolean
|
|
required:
|
|
- value
|
|
- label
|
|
- requires_resource_path
|
|
|
|
ScopeDomain:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
scopes:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScopeDefinition"
|
|
required:
|
|
- name
|
|
- scopes
|
|
|
|
ListableRawApp:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
starred:
|
|
type: boolean
|
|
version:
|
|
type: number
|
|
edited_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- workspace_id
|
|
- path
|
|
- summary
|
|
- extra_perms
|
|
- version
|
|
- edited_at
|
|
|
|
AppWithLastVersion:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
workspace_id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
versions:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
value:
|
|
type: object
|
|
policy:
|
|
$ref: "#/components/schemas/Policy"
|
|
execution_mode:
|
|
type: string
|
|
enum: [viewer, publisher, anonymous]
|
|
extra_perms:
|
|
type: object
|
|
additionalProperties:
|
|
type: boolean
|
|
custom_path:
|
|
type: string
|
|
raw_app:
|
|
type: boolean
|
|
bundle_secret:
|
|
type: string
|
|
required:
|
|
- id
|
|
- workspace_id
|
|
- path
|
|
- summary
|
|
- versions
|
|
- created_by
|
|
- created_at
|
|
- value
|
|
- policy
|
|
- execution_mode
|
|
- extra_perms
|
|
- raw_app
|
|
|
|
AppWithLastVersionWDraft:
|
|
allOf:
|
|
- $ref: "#/components/schemas/AppWithLastVersion"
|
|
- type: object
|
|
properties:
|
|
draft_only:
|
|
type: boolean
|
|
draft: {}
|
|
|
|
AppHistory:
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: integer
|
|
deployment_msg:
|
|
type: string
|
|
required:
|
|
- version
|
|
|
|
FlowVersion:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
deployment_msg:
|
|
type: string
|
|
required:
|
|
- id
|
|
- created_at
|
|
|
|
SlackToken:
|
|
type: object
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
team_id:
|
|
type: string
|
|
team_name:
|
|
type: string
|
|
bot:
|
|
type: object
|
|
properties:
|
|
bot_access_token:
|
|
type: string
|
|
required:
|
|
- access_token
|
|
- team_id
|
|
- team_name
|
|
- bot
|
|
|
|
TokenResponse:
|
|
type: object
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
expires_in:
|
|
type: integer
|
|
refresh_token:
|
|
type: string
|
|
scope:
|
|
type: array
|
|
items:
|
|
type: string
|
|
grant_type:
|
|
type: string
|
|
|
|
required:
|
|
- access_token
|
|
|
|
HubScriptKind:
|
|
type: string
|
|
enum: [script, failure, trigger, approval]
|
|
|
|
PolarsClientKwargs:
|
|
type: object
|
|
properties:
|
|
region_name:
|
|
type: string
|
|
required:
|
|
- region_name
|
|
|
|
LargeFileStorage:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
[
|
|
"S3Storage",
|
|
"AzureBlobStorage",
|
|
"AzureWorkloadIdentity",
|
|
"S3AwsOidc",
|
|
"GoogleCloudStorage",
|
|
]
|
|
s3_resource_path:
|
|
type: string
|
|
azure_blob_resource_path:
|
|
type: string
|
|
gcs_resource_path:
|
|
type: string
|
|
public_resource:
|
|
type: boolean
|
|
advanced_permissions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/S3PermissionRule"
|
|
secondary_storage:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
[
|
|
"S3Storage",
|
|
"AzureBlobStorage",
|
|
"AzureWorkloadIdentity",
|
|
"S3AwsOidc",
|
|
"GoogleCloudStorage",
|
|
]
|
|
s3_resource_path:
|
|
type: string
|
|
azure_blob_resource_path:
|
|
type: string
|
|
gcs_resource_path:
|
|
type: string
|
|
public_resource:
|
|
type: boolean
|
|
|
|
DucklakeSettings:
|
|
type: object
|
|
required: [ducklakes]
|
|
properties:
|
|
ducklakes:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
required: [catalog, storage]
|
|
properties:
|
|
catalog:
|
|
type: object
|
|
properties:
|
|
resource_type:
|
|
type: string
|
|
enum:
|
|
- postgresql
|
|
- mysql
|
|
- instance
|
|
resource_path:
|
|
type: string
|
|
required:
|
|
- resource_type
|
|
storage:
|
|
type: object
|
|
properties:
|
|
storage:
|
|
type: string
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
extra_args:
|
|
type: string
|
|
|
|
DataTableSettings:
|
|
type: object
|
|
required: [datatables]
|
|
properties:
|
|
datatables:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
required: [database]
|
|
properties:
|
|
database:
|
|
type: object
|
|
properties:
|
|
resource_type:
|
|
type: string
|
|
enum:
|
|
- postgresql
|
|
- instance
|
|
resource_path:
|
|
type: string
|
|
required:
|
|
- resource_type
|
|
|
|
DataTableSchema:
|
|
type: object
|
|
required: [datatable_name, schemas]
|
|
properties:
|
|
datatable_name:
|
|
type: string
|
|
schemas:
|
|
type: object
|
|
description: "Hierarchical schema: schema_name -> table_name -> column_name -> compact_type (e.g. 'int4', 'text?', 'int4?=0')"
|
|
additionalProperties:
|
|
type: object
|
|
description: "Tables in this schema"
|
|
additionalProperties:
|
|
type: object
|
|
description: "Columns in this table"
|
|
additionalProperties:
|
|
type: string
|
|
description: "Compact type: 'type[?][=default]' where ? means nullable"
|
|
error:
|
|
type: string
|
|
|
|
DynamicInputData:
|
|
type: object
|
|
properties:
|
|
entrypoint_function:
|
|
type: string
|
|
description: Name of the function to execute for dynamic select
|
|
args:
|
|
type: object
|
|
description: Arguments to pass to the function
|
|
runnable_ref:
|
|
type: object
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
source:
|
|
type: string
|
|
enum: [deployed]
|
|
path:
|
|
type: string
|
|
description: Path to the deployed script or flow
|
|
runnable_kind:
|
|
$ref: "#/components/schemas/RunnableKind"
|
|
required:
|
|
- source
|
|
- path
|
|
- runnable_kind
|
|
- type: object
|
|
properties:
|
|
source:
|
|
type: string
|
|
enum: [inline]
|
|
code:
|
|
type: string
|
|
description: Code content for inline execution
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
required:
|
|
- source
|
|
- code
|
|
required:
|
|
- entrypoint_function
|
|
- runnable_ref
|
|
|
|
WindmillLargeFile:
|
|
type: object
|
|
properties:
|
|
s3:
|
|
type: string
|
|
required:
|
|
- s3
|
|
|
|
WindmillFileMetadata:
|
|
type: object
|
|
properties:
|
|
mime_type:
|
|
type: string
|
|
size_in_bytes:
|
|
type: integer
|
|
last_modified:
|
|
type: string
|
|
format: date-time
|
|
expires:
|
|
type: string
|
|
format: date-time
|
|
version_id:
|
|
type: string
|
|
|
|
WindmillFilePreview:
|
|
type: object
|
|
properties:
|
|
msg:
|
|
type: string
|
|
content:
|
|
type: string
|
|
content_type:
|
|
type: string
|
|
enum: ["RawText", "Csv", "Parquet", "Unknown"]
|
|
required:
|
|
- content_type
|
|
|
|
S3Resource:
|
|
type: object
|
|
properties:
|
|
bucket:
|
|
type: string
|
|
region:
|
|
type: string
|
|
endPoint:
|
|
type: string
|
|
useSSL:
|
|
type: boolean
|
|
accessKey:
|
|
type: string
|
|
secretKey:
|
|
type: string
|
|
pathStyle:
|
|
type: boolean
|
|
required:
|
|
- bucket
|
|
- region
|
|
- endPoint
|
|
- useSSL
|
|
- pathStyle
|
|
|
|
WorkspaceGitSyncSettings:
|
|
type: object
|
|
properties:
|
|
repositories:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GitRepositorySettings"
|
|
|
|
WorkspaceDeployUISettings:
|
|
type: object
|
|
properties:
|
|
include_path:
|
|
type: array
|
|
items:
|
|
type: string
|
|
include_type:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GitSyncObjectType"
|
|
|
|
WorkspaceDefaultScripts:
|
|
type: object
|
|
properties:
|
|
order:
|
|
type: array
|
|
items:
|
|
type: string
|
|
hidden:
|
|
type: array
|
|
items:
|
|
type: string
|
|
default_script_content:
|
|
additionalProperties:
|
|
type: string
|
|
|
|
S3PermissionRule:
|
|
type: object
|
|
properties:
|
|
pattern:
|
|
type: string
|
|
allow:
|
|
type: string # comma separated permissions : "read,write,delete,list"
|
|
required: ["pattern", "allow"]
|
|
|
|
GitRepositorySettings:
|
|
type: object
|
|
properties:
|
|
script_path:
|
|
type: string
|
|
git_repo_resource_path:
|
|
type: string
|
|
use_individual_branch:
|
|
type: boolean
|
|
group_by_folder:
|
|
type: boolean
|
|
collapsed:
|
|
type: boolean
|
|
settings:
|
|
type: object
|
|
properties:
|
|
include_path:
|
|
type: array
|
|
items:
|
|
type: string
|
|
include_type:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GitSyncObjectType"
|
|
exclude_path:
|
|
type: array
|
|
items:
|
|
type: string
|
|
extra_include_path:
|
|
type: array
|
|
items:
|
|
type: string
|
|
exclude_types_override:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GitSyncObjectType"
|
|
required:
|
|
- script_path
|
|
- git_repo_resource_path
|
|
|
|
MetricMetadata:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- id
|
|
|
|
ScalarMetric:
|
|
type: object
|
|
properties:
|
|
metric_id:
|
|
type: string
|
|
value:
|
|
type: number
|
|
required:
|
|
- id
|
|
- value
|
|
|
|
TimeseriesMetric:
|
|
type: object
|
|
properties:
|
|
metric_id:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MetricDataPoint"
|
|
required:
|
|
- id
|
|
- values
|
|
|
|
MetricDataPoint:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
value:
|
|
type: number
|
|
required:
|
|
- timestamp
|
|
- value
|
|
|
|
RawScriptForDependencies:
|
|
type: object
|
|
properties:
|
|
raw_code:
|
|
type: string
|
|
path:
|
|
type: string
|
|
language:
|
|
$ref: "#/components/schemas/ScriptLang"
|
|
required:
|
|
- raw_code
|
|
- path
|
|
- language
|
|
|
|
ConcurrencyGroup:
|
|
type: object
|
|
properties:
|
|
concurrency_key:
|
|
type: string
|
|
total_running:
|
|
type: number
|
|
required:
|
|
- concurrency_key
|
|
- total_running
|
|
|
|
ExtendedJobs:
|
|
type: object
|
|
properties:
|
|
jobs:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Job"
|
|
obscured_jobs:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ObscuredJob"
|
|
omitted_obscured_jobs:
|
|
description: "Obscured jobs omitted for security because of too specific filtering"
|
|
type: boolean
|
|
required:
|
|
- jobs
|
|
- obscured_jobs
|
|
|
|
ExportedUser:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
password_hash:
|
|
type: string
|
|
super_admin:
|
|
type: boolean
|
|
verified:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
company:
|
|
type: string
|
|
first_time_user:
|
|
type: boolean
|
|
username:
|
|
type: string
|
|
required:
|
|
- email
|
|
- super_admin
|
|
- verified
|
|
- first_time_user
|
|
|
|
GlobalSetting:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: object
|
|
required:
|
|
- name
|
|
- value
|
|
|
|
Config:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
config:
|
|
type: object
|
|
required:
|
|
- name
|
|
|
|
ExportedInstanceGroup:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
emails:
|
|
type: array
|
|
items:
|
|
type: string
|
|
id:
|
|
type: string
|
|
scim_display_name:
|
|
type: string
|
|
external_id:
|
|
type: string
|
|
required:
|
|
- name
|
|
|
|
JobSearchHit:
|
|
type: object
|
|
properties:
|
|
dancer:
|
|
type: string
|
|
|
|
LogSearchHit:
|
|
type: object
|
|
properties:
|
|
dancer:
|
|
type: string
|
|
|
|
AutoscalingEvent:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
format: int64
|
|
worker_group:
|
|
type: string
|
|
event_type:
|
|
type: string
|
|
desired_workers:
|
|
type: integer
|
|
reason:
|
|
type: string
|
|
applied_at:
|
|
type: string
|
|
format: date-time
|
|
|
|
CriticalAlert:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: Unique identifier for the alert
|
|
alert_type:
|
|
type: string
|
|
description: Type of alert (e.g., critical_error)
|
|
message:
|
|
type: string
|
|
description: The message content of the alert
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: Time when the alert was created
|
|
acknowledged:
|
|
type: boolean
|
|
nullable: true
|
|
description: Acknowledgment status of the alert, can be true, false, or null if not set
|
|
workspace_id:
|
|
type: string
|
|
nullable: true
|
|
description: Workspace id if the alert is in the scope of a workspace
|
|
|
|
CaptureTriggerKind:
|
|
type: string
|
|
enum:
|
|
[
|
|
webhook,
|
|
http,
|
|
websocket,
|
|
kafka,
|
|
default_email,
|
|
nats,
|
|
postgres,
|
|
sqs,
|
|
mqtt,
|
|
gcp,
|
|
email,
|
|
]
|
|
|
|
Capture:
|
|
type: object
|
|
properties:
|
|
trigger_kind:
|
|
$ref: "#/components/schemas/CaptureTriggerKind"
|
|
main_args: {}
|
|
preprocessor_args: {}
|
|
id:
|
|
type: integer
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- trigger_kind
|
|
- main_args
|
|
- preprocessor_args
|
|
- id
|
|
- created_at
|
|
CaptureConfig:
|
|
type: object
|
|
properties:
|
|
trigger_config: {}
|
|
trigger_kind:
|
|
$ref: "#/components/schemas/CaptureTriggerKind"
|
|
error:
|
|
type: string
|
|
last_server_ping:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- trigger_kind
|
|
|
|
OperatorSettings:
|
|
nullable: true
|
|
type: object
|
|
required:
|
|
- runs
|
|
- schedules
|
|
- resources
|
|
- assets
|
|
- variables
|
|
- triggers
|
|
- audit_logs
|
|
- groups
|
|
- folders
|
|
- workers
|
|
properties:
|
|
runs:
|
|
type: boolean
|
|
description: Whether operators can view runs
|
|
schedules:
|
|
type: boolean
|
|
description: Whether operators can view schedules
|
|
resources:
|
|
type: boolean
|
|
description: Whether operators can view resources
|
|
variables:
|
|
type: boolean
|
|
description: Whether operators can view variables
|
|
assets:
|
|
type: boolean
|
|
description: Whether operators can view assets
|
|
audit_logs:
|
|
type: boolean
|
|
description: Whether operators can view audit logs
|
|
triggers:
|
|
type: boolean
|
|
description: Whether operators can view triggers
|
|
groups:
|
|
type: boolean
|
|
description: Whether operators can view groups page
|
|
folders:
|
|
type: boolean
|
|
description: Whether operators can view folders page
|
|
workers:
|
|
type: boolean
|
|
description: Whether operators can view workers page
|
|
|
|
WorkspaceComparison:
|
|
type: object
|
|
required:
|
|
- all_ahead_items_visible
|
|
- all_behind_items_visible
|
|
- skipped_comparison
|
|
- diffs
|
|
- summary
|
|
properties:
|
|
all_ahead_items_visible:
|
|
type: boolean
|
|
description: All items with changes ahead are visible by the user of the request.
|
|
all_behind_items_visible:
|
|
type: boolean
|
|
description: All items with changes behind are visible by the user of the request.
|
|
skipped_comparison:
|
|
type: boolean
|
|
description: Whether the comparison was skipped. This happens with old forks that where not being kept track of
|
|
diffs:
|
|
type: array
|
|
description: List of differences found between workspaces
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceItemDiff"
|
|
summary:
|
|
$ref: "#/components/schemas/CompareSummary"
|
|
description: Summary statistics of the comparison
|
|
|
|
WorkspaceItemDiff:
|
|
type: object
|
|
required:
|
|
- kind
|
|
- path
|
|
- ahead
|
|
- behind
|
|
- has_changes
|
|
- exists_in_source
|
|
- exists_in_fork
|
|
properties:
|
|
kind:
|
|
type: string
|
|
enum: ["script", "flow", "app", "resource", "variable"]
|
|
description: Type of the item
|
|
path:
|
|
type: string
|
|
description: Path of the item in the workspace
|
|
ahead:
|
|
type: integer
|
|
description: Number of versions source is ahead of target
|
|
behind:
|
|
type: integer
|
|
description: Number of versions source is behind target
|
|
has_changes:
|
|
type: boolean
|
|
description: Whether the item has any differences
|
|
exists_in_source:
|
|
type: boolean
|
|
description: If the item exists in the source workspace
|
|
exists_in_fork:
|
|
type: boolean
|
|
description: If the item exists in the fork workspace
|
|
|
|
CompareSummary:
|
|
type: object
|
|
required:
|
|
- total_diffs
|
|
- total_ahead
|
|
- total_behind
|
|
- scripts_changed
|
|
- flows_changed
|
|
- apps_changed
|
|
- resources_changed
|
|
- variables_changed
|
|
- conflicts
|
|
properties:
|
|
total_diffs:
|
|
type: integer
|
|
description: Total number of items with differences
|
|
total_ahead:
|
|
type: integer
|
|
description: Total number of ahead changes
|
|
total_behind:
|
|
type: integer
|
|
description: Total number of behind changes
|
|
scripts_changed:
|
|
type: integer
|
|
description: Number of scripts with differences
|
|
flows_changed:
|
|
type: integer
|
|
description: Number of flows with differences
|
|
apps_changed:
|
|
type: integer
|
|
description: Number of apps with differences
|
|
resources_changed:
|
|
type: integer
|
|
description: Number of resources with differences
|
|
variables_changed:
|
|
type: integer
|
|
description: Number of variables with differences
|
|
conflicts:
|
|
type: integer
|
|
description: Number of items that are both ahead and behind (conflicts)
|
|
|
|
TeamInfo:
|
|
type: object
|
|
required:
|
|
- team_id
|
|
- team_name
|
|
- channels
|
|
properties:
|
|
team_id:
|
|
type: string
|
|
description: The unique identifier of the Microsoft Teams team
|
|
example: "19:abc123def456@thread.tacv2"
|
|
team_name:
|
|
type: string
|
|
description: The display name of the Microsoft Teams team
|
|
example: "Engineering Team"
|
|
channels:
|
|
type: array
|
|
description: List of channels within the team
|
|
items:
|
|
$ref: "#/components/schemas/ChannelInfo"
|
|
|
|
ChannelInfo:
|
|
type: object
|
|
required:
|
|
- channel_id
|
|
- channel_name
|
|
- tenant_id
|
|
- service_url
|
|
properties:
|
|
channel_id:
|
|
type: string
|
|
description: The unique identifier of the channel
|
|
example: "19:channel123@thread.tacv2"
|
|
channel_name:
|
|
type: string
|
|
description: The display name of the channel
|
|
example: "General"
|
|
tenant_id:
|
|
type: string
|
|
description: The Microsoft Teams tenant identifier
|
|
example: "12345678-1234-1234-1234-123456789012"
|
|
service_url:
|
|
type: string
|
|
description: The service URL for the channel
|
|
example: "https://smba.trafficmanager.net/amer/12345678-1234-1234-1234-123456789012/"
|
|
|
|
GithubInstallations:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
installation_id:
|
|
type: number
|
|
account_id:
|
|
type: string
|
|
repositories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
required:
|
|
- name
|
|
- url
|
|
total_count:
|
|
type: number
|
|
description: Total number of repositories available for this installation
|
|
per_page:
|
|
type: number
|
|
description: Number of repositories loaded per page
|
|
error:
|
|
type: string
|
|
description: Error message if token retrieval failed
|
|
required:
|
|
- installation_id
|
|
- account_id
|
|
- repositories
|
|
- total_count
|
|
- per_page
|
|
|
|
WorkspaceGithubInstallation:
|
|
type: object
|
|
properties:
|
|
account_id:
|
|
type: string
|
|
installation_id:
|
|
type: number
|
|
required:
|
|
- account_id
|
|
- installation_id
|
|
|
|
S3Object:
|
|
type: object
|
|
properties:
|
|
s3:
|
|
type: string
|
|
filename:
|
|
type: string
|
|
storage:
|
|
type: string
|
|
presigned:
|
|
type: string
|
|
required:
|
|
- s3
|
|
TeamsChannel:
|
|
type: object
|
|
required:
|
|
- team_id
|
|
- team_name
|
|
- channel_id
|
|
- channel_name
|
|
properties:
|
|
team_id:
|
|
type: string
|
|
description: Microsoft Teams team ID
|
|
minLength: 1
|
|
team_name:
|
|
type: string
|
|
description: Microsoft Teams team name
|
|
minLength: 1
|
|
channel_id:
|
|
type: string
|
|
description: Microsoft Teams channel ID
|
|
minLength: 1
|
|
channel_name:
|
|
type: string
|
|
description: Microsoft Teams channel name
|
|
minLength: 1
|
|
AssetUsageKind:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
AssetUsageAccessType:
|
|
type: string
|
|
enum:
|
|
- r
|
|
- w
|
|
- rw
|
|
AssetKind:
|
|
type: string
|
|
enum:
|
|
- s3object
|
|
- resource
|
|
- ducklake
|
|
- datatable
|
|
Asset:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/AssetKind"
|
|
required: [path, kind]
|