* Allow setting progress explicitly from script body.
This feature exposes:
* `getProgress`
* `setProgress`
* `incProgress`
API in TypeScript client (python is coming soon).
NOTE: Progress cannot be out of range 0..100 and cannot decrease.
With exposed APIs there is also UI changes, so progress can be shown for individual jobs as well.
For optimization reasons, jobs start to ask for progress only after N-seconds of execution.
* feat: Add `shell.nix`
If you dont have anything but nix, dont worry, run nix-shell in root, or activate with direnv and get all needed dependencies
NOTE: You will still need docker
* feat: Add `dev.nu` to typescript client
Little helper function, allowing developer to work on ts client easier.
To use:
`./dev.nu watch`
Now add import of windmill in body of your script and `//nobundle` on top of the file
Edit ts client in your favourite editor and hit save. Script will do the rest.
* Cleanup files
* Fix: Failed to deserialize query string: missing field `get_progress`
* perf: Implement non-naive polling mechanism for getting job progress
* Add independant delay for getProgress
Problem in `TestJobLoader`:
There should be 2 delays:
One until we find our first progress (every 5s)
Once we found our first progress, we can do it every second
* nit: Use `query_scalar!` instead of `query_as`
* Fix: Sql error, no rows returned by a query that expected to return at least one row
* refactor: Remove global CSS for JobProgressBar
* Change UI for progress of flow subjobs
* Replace `Step 1` with `Running` in ProgressBar for individual jobs
* Remove `incProgress`
incProgress is not very usefull and error-prone
* perf: Set metric only for jobs that are actually using it
(https://github.com/windmill-labs/windmill/pull/4373#discussion_r1759843773)
* Offload registering progress from clients to server
* Add `jobId?` argument to typescript-client's `setProgress` and `getProgress`
Allows to set progress of other jobs and flows,
if jobId specified, than flow id will be inferred automatically.
Could be used by SDK.
* Add `Error::MetricNotFound` for better error handling
* Fix: Make `JobProgressBar` display in red when failed
* Add persistant progress bar
Now you can reload the page after job is done and progress will be still there
* Allow succeeded individual job's progress bar stick to 100%
* Add python support
* nit: Remove usage of undefined variable in python-client
* Add `async` in ts client (for error handling)
* nit(frontend): Remove unused import
* Dont load JobProgressBar when it is not needed
* nit: npm check fix
* cargo sqlx prepare
* fix sqlx
---------
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
11587 lines
292 KiB
YAML
11587 lines
292 KiB
YAML
openapi: "3.0.3"
|
|
|
|
info:
|
|
version: 1.395.0
|
|
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
|
|
|
|
/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"
|
|
|
|
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
|
|
|
|
/w/{workspace}/users/{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/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
|
|
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
|
|
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"
|
|
|
|
/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
|
|
|
|
/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"
|
|
|
|
/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
|
|
|
|
/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/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
|
|
required:
|
|
- host
|
|
- username
|
|
- password
|
|
- port
|
|
- from
|
|
- tls_implicit
|
|
required:
|
|
- to
|
|
- smtp
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/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"
|
|
|
|
/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
|
|
responses:
|
|
"200":
|
|
description: free usage
|
|
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
|
|
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
|
|
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
|
|
endpoint_openai_sync:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
description:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
required:
|
|
- workspace
|
|
- endpoint_async
|
|
- endpoint_sync
|
|
- endpoint_openai_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"
|
|
|
|
/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
|
|
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"
|
|
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}/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"
|
|
|
|
/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"
|
|
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
|
|
auto_invite_domain:
|
|
type: string
|
|
auto_invite_operator:
|
|
type: boolean
|
|
auto_add:
|
|
type: boolean
|
|
plan:
|
|
type: string
|
|
automatic_billing:
|
|
type: boolean
|
|
customer_id:
|
|
type: string
|
|
webhook:
|
|
type: string
|
|
deploy_to:
|
|
type: string
|
|
openai_resource_path:
|
|
type: string
|
|
code_completion_enabled:
|
|
type: boolean
|
|
error_handler:
|
|
type: string
|
|
error_handler_extra_args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
error_handler_muted_on_cancel:
|
|
type: boolean
|
|
large_file_storage:
|
|
$ref: "#/components/schemas/LargeFileStorage"
|
|
git_sync:
|
|
$ref: "#/components/schemas/WorkspaceGitSyncSettings"
|
|
deploy_ui:
|
|
$ref: "#/components/schemas/WorkspaceDeployUISettings"
|
|
default_app:
|
|
type: string
|
|
default_scripts:
|
|
$ref: "#/components/schemas/WorkspaceDefaultScripts"
|
|
required:
|
|
- code_completion_enabled
|
|
- automatic_billing
|
|
- 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"
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
premium:
|
|
type: boolean
|
|
usage:
|
|
type: number
|
|
seats:
|
|
type: number
|
|
automatic_billing:
|
|
type: boolean
|
|
required:
|
|
- premium
|
|
- automatic_billing
|
|
|
|
/w/{workspace}/workspaces/set_automatic_billing:
|
|
post:
|
|
summary: set automatic billing
|
|
operationId: setAutomaticBilling
|
|
tags:
|
|
- workspace
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
requestBody:
|
|
description: automatic billing
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
automatic_billing:
|
|
type: boolean
|
|
seats:
|
|
type: number
|
|
required:
|
|
- automatic_billing
|
|
|
|
responses:
|
|
"200":
|
|
description: status
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/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/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/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_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:
|
|
type: object
|
|
required:
|
|
- code_completion_enabled
|
|
properties:
|
|
openai_resource_path:
|
|
type: string
|
|
code_completion_enabled:
|
|
type: boolean
|
|
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:
|
|
text/plain:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
exists_openai_resource_path:
|
|
type: boolean
|
|
code_completion_enabled:
|
|
type: boolean
|
|
required:
|
|
- exists_openai_resource_path
|
|
- code_completion_enabled
|
|
|
|
/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_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/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_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}/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
|
|
|
|
/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
|
|
|
|
responses:
|
|
"200":
|
|
description: new oidc token
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/variables/create:
|
|
post:
|
|
summary: create variable
|
|
operationId: createVariable
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: already_encrypted
|
|
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
|
|
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/update/{path}:
|
|
post:
|
|
summary: update variable
|
|
operationId: updateVariable
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
- name: already_encrypted
|
|
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
|
|
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"
|
|
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
|
|
tags:
|
|
- variable
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: path_start
|
|
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"
|
|
|
|
/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
|
|
expires_in:
|
|
type: integer
|
|
client:
|
|
type: string
|
|
required:
|
|
- expires_in
|
|
- client
|
|
responses:
|
|
"200":
|
|
description: account set
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/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
|
|
|
|
/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: string
|
|
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
|
|
|
|
|
|
|
|
|
|
/w/{workspace}/resources/create:
|
|
post:
|
|
summary: create resource
|
|
operationId: createResource
|
|
tags:
|
|
- resource
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- name: update_if_exists
|
|
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
|
|
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/update/{path}:
|
|
post:
|
|
summary: update resource
|
|
operationId: updateResource
|
|
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
|
|
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
|
|
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/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
|
|
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
|
|
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/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/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
|
|
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}/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
|
|
|
|
/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/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
|
|
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
|
|
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
|
|
responses:
|
|
"200":
|
|
description: list of custom tags
|
|
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}/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 all scripts at a given path (require admin)
|
|
operationId: deleteScriptByPath
|
|
tags:
|
|
- script
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
responses:
|
|
"200":
|
|
description: script path
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/w/{workspace}/scripts/get/p/{path}:
|
|
get:
|
|
summary: get script by path
|
|
operationId: getScriptByPath
|
|
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/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/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
|
|
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
|
|
|
|
/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
|
|
- $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/openai_sync/p/{path}:
|
|
post:
|
|
summary: run script by path in openai format
|
|
operationId: openaiSyncScriptByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/ParentJob"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
|
|
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/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"
|
|
|
|
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"
|
|
|
|
responses:
|
|
"200":
|
|
description: job result
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
|
|
/w/{workspace}/jobs/openai_sync/f/{path}:
|
|
post:
|
|
summary: run flow by path and wait until completion in openai format
|
|
operationId: openaiSyncFlowByPath
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
- $ref: "#/components/parameters/IncludeHeader"
|
|
- $ref: "#/components/parameters/QueueLimit"
|
|
- $ref: "#/components/parameters/NewJobId"
|
|
|
|
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/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"
|
|
|
|
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/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
|
|
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
|
|
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/v/{version}/p/{path}:
|
|
get:
|
|
summary: get flow version
|
|
operationId: getFlowVersion
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- type: string
|
|
name: version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
tags:
|
|
- flow
|
|
responses:
|
|
"200":
|
|
description: flow details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Flow"
|
|
|
|
/w/{workspace}/flows/history_update/v/{version}/p/{path}:
|
|
post:
|
|
summary: update flow history
|
|
operationId: updateFlowHistory
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- type: string
|
|
name: version
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
- $ref: "#/components/parameters/ScriptPath"
|
|
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
|
|
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/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"
|
|
responses:
|
|
"200":
|
|
description: flow delete
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
|
|
/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
|
|
required:
|
|
- path
|
|
- value
|
|
- summary
|
|
- policy
|
|
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/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/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/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
|
|
responses:
|
|
"200":
|
|
description: app updated
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
|
|
/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
|
|
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
|
|
force_viewer_static_fields:
|
|
type: object
|
|
force_viewer_one_of_fields:
|
|
type: object
|
|
force_viewer_allow_user_resources:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- args
|
|
- component
|
|
|
|
responses:
|
|
"200":
|
|
description: job uuid
|
|
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/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: 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/restart/f/{id}/from/{step_id}/{branch_or_iteration_n}:
|
|
post:
|
|
summary: restart a completed flow at a given step
|
|
operationId: restartFlowAtStep
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/JobId"
|
|
- name: step_id
|
|
description: step id to restart the flow from
|
|
required: true
|
|
in: path
|
|
schema:
|
|
type: string
|
|
- name: branch_or_iteration_n
|
|
description:
|
|
for branchall or loop, the iteration at which the flow should
|
|
restart
|
|
required: true
|
|
in: path
|
|
schema:
|
|
type: integer
|
|
- 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: 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/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/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/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"
|
|
|
|
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/queue/list:
|
|
get:
|
|
summary: list all queued jobs
|
|
operationId: listQueue
|
|
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/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/queue/list_filtered_uuids:
|
|
get:
|
|
summary: get the ids of all jobs matching the given filters
|
|
operationId: listFilteredUuids
|
|
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/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"
|
|
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/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/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/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/list:
|
|
get:
|
|
summary: list all jobs
|
|
operationId: listJobs
|
|
tags:
|
|
- job
|
|
parameters:
|
|
- $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/CreatedBefore"
|
|
- $ref: "#/components/parameters/CreatedAfter"
|
|
- $ref: "#/components/parameters/CreatedOrStartedBefore"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/CreatedOrStartedAfter"
|
|
- $ref: "#/components/parameters/CreatedOrStartedAfterCompletedJob"
|
|
- $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: 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
|
|
|
|
/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
|
|
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"
|
|
responses:
|
|
"200":
|
|
description: job details
|
|
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/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: get_progress
|
|
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
|
|
flow_status:
|
|
$ref: "#/components/schemas/WorkflowStatusRecord"
|
|
|
|
/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:
|
|
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/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/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
|
|
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_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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: path_start
|
|
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
|
|
|
|
/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/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}/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/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
|
|
|
|
/workers/list:
|
|
get:
|
|
summary: list workers
|
|
operationId: listWorkers
|
|
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_worker_with_tag:
|
|
get:
|
|
summary: exists worker with tag
|
|
operationId: existsWorkerWithTag
|
|
tags:
|
|
- worker
|
|
parameters:
|
|
- name: tag
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: whether a worker with the tag exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
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
|
|
|
|
/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: {}
|
|
|
|
/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"
|
|
|
|
/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,
|
|
]
|
|
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,
|
|
]
|
|
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,
|
|
]
|
|
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_u/{path}:
|
|
post:
|
|
summary: update flow preview capture
|
|
operationId: updateCapture
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"204":
|
|
description: flow preview captured
|
|
|
|
/w/{workspace}/capture/{path}:
|
|
put:
|
|
summary: create flow preview capture
|
|
operationId: createCapture
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"201":
|
|
description: flow preview capture created
|
|
get:
|
|
summary: get flow preview capture
|
|
operationId: getCapture
|
|
tags:
|
|
- capture
|
|
parameters:
|
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
- $ref: "#/components/parameters/Path"
|
|
responses:
|
|
"200":
|
|
description: captured flow preview
|
|
content:
|
|
application/json:
|
|
schema: {}
|
|
"404":
|
|
description: capture does not exist for this flow
|
|
|
|
/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"
|
|
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
|
|
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/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:
|
|
schema: {}
|
|
|
|
/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:
|
|
schema: {}
|
|
|
|
/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
|
|
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 to 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/CreatedOrStartedBefore"
|
|
- $ref: "#/components/parameters/Running"
|
|
- $ref: "#/components/parameters/ScheduledForBeforeNow"
|
|
- $ref: "#/components/parameters/CreatedOrStartedAfter"
|
|
- $ref: "#/components/parameters/CreatedOrStartedAfterCompletedJob"
|
|
- $ref: "#/components/parameters/JobKinds"
|
|
- $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: 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
|
|
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: object
|
|
properties:
|
|
dancer:
|
|
type: string
|
|
hits:
|
|
description: the jobs that matched the query
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/JobSearchHit"
|
|
|
|
|
|
components:
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
cookieAuth:
|
|
type: apiKey
|
|
in: cookie
|
|
name: token
|
|
|
|
parameters:
|
|
Key:
|
|
name: key
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
WorkspaceId:
|
|
name: workspace
|
|
in: path
|
|
required: true
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
CreatedOrStartedAfter:
|
|
name: created_or_started_after
|
|
description:
|
|
filter on created_at for non non started job and started_at otherwise
|
|
after (exclusive) timestamp
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
CreatedOrStartedAfterCompletedJob:
|
|
name: created_or_started_after_completed_jobs
|
|
description:
|
|
filter on created_at for non non started job and started_at otherwise
|
|
after (exclusive) timestamp but only for the completed jobs
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
CreatedOrStartedBefore:
|
|
name: created_or_started_before
|
|
description:
|
|
filter on created_at for non non started job and started_at otherwise
|
|
before (inclusive) timestamp
|
|
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
|
|
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
|
|
|
|
schemas:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas"
|
|
|
|
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:
|
|
type: string
|
|
enum:
|
|
[
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
]
|
|
kind:
|
|
type: string
|
|
enum: [script, failure, trigger, command, approval]
|
|
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
|
|
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
|
|
|
|
required:
|
|
- hash
|
|
- path
|
|
- summary
|
|
- description
|
|
- content
|
|
- created_by
|
|
- created_at
|
|
- archived
|
|
- deleted
|
|
- is_template
|
|
- extra_perms
|
|
- language
|
|
- kind
|
|
- starred
|
|
- no_main_func
|
|
|
|
|
|
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:
|
|
type: string
|
|
enum:
|
|
[
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
]
|
|
kind:
|
|
type: string
|
|
enum: [script, failure, trigger, command, approval]
|
|
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
|
|
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
|
|
visible_to_runner_only:
|
|
type: boolean
|
|
no_main_func:
|
|
type: boolean
|
|
codebase:
|
|
type: string
|
|
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
|
|
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",
|
|
"singlescriptflow",
|
|
]
|
|
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"
|
|
raw_flow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowValue"
|
|
is_flow_step:
|
|
type: boolean
|
|
language:
|
|
type: string
|
|
enum:
|
|
[
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
]
|
|
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
|
|
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
|
|
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",
|
|
"singlescriptflow",
|
|
]
|
|
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"
|
|
raw_flow:
|
|
$ref: "../../openflow.openapi.yaml#/components/schemas/FlowValue"
|
|
is_flow_step:
|
|
type: boolean
|
|
language:
|
|
type: string
|
|
enum:
|
|
[
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
]
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
required:
|
|
- email
|
|
- username
|
|
- is_admin
|
|
- is_super_admin
|
|
- created_at
|
|
- operator
|
|
- disabled
|
|
- folders
|
|
- folders_owners
|
|
|
|
UserUsage:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
executions:
|
|
type: number
|
|
|
|
Login:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
password:
|
|
type: string
|
|
required:
|
|
- email
|
|
- password
|
|
|
|
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
|
|
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
|
|
|
|
NewTokenImpersonate:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
expiration:
|
|
type: string
|
|
format: date-time
|
|
impersonate_email:
|
|
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
|
|
value:
|
|
type: string
|
|
is_secret:
|
|
type: boolean
|
|
description:
|
|
type: string
|
|
account:
|
|
type: integer
|
|
is_oauth:
|
|
type: boolean
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- path
|
|
- value
|
|
- is_secret
|
|
- description
|
|
|
|
EditVariable:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
value:
|
|
type: string
|
|
is_secret:
|
|
type: boolean
|
|
description:
|
|
type: string
|
|
|
|
AuditLog:
|
|
type: object
|
|
properties:
|
|
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"
|
|
- "openai.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.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.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
|
|
required:
|
|
- 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: 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
|
|
required:
|
|
- star_args
|
|
- start_kwargs
|
|
- args
|
|
- type
|
|
- error
|
|
- no_main_func
|
|
|
|
Preview:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
path:
|
|
type: string
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
language:
|
|
type: string
|
|
enum:
|
|
[
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
]
|
|
tag:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
enum: [code, identity, http]
|
|
dedicated_worker:
|
|
type: boolean
|
|
lock:
|
|
type: string
|
|
required:
|
|
- args
|
|
|
|
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
|
|
value: {}
|
|
description:
|
|
type: string
|
|
resource_type:
|
|
type: string
|
|
required:
|
|
- path
|
|
- value
|
|
- resource_type
|
|
|
|
EditResource:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description:
|
|
type: string
|
|
value: {}
|
|
|
|
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
|
|
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
|
|
no_flow_overlap:
|
|
type: boolean
|
|
tag:
|
|
type: string
|
|
paused_until:
|
|
type: string
|
|
format: date-time
|
|
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
|
|
|
|
NewSchedule:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
schedule:
|
|
type: string
|
|
timezone:
|
|
type: string
|
|
script_path:
|
|
type: string
|
|
is_flow:
|
|
type: boolean
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
enabled:
|
|
type: boolean
|
|
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"
|
|
no_flow_overlap:
|
|
type: boolean
|
|
summary:
|
|
type: string
|
|
tag:
|
|
type: string
|
|
paused_until:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- path
|
|
- schedule
|
|
- timezone
|
|
- script_path
|
|
- is_flow
|
|
- args
|
|
|
|
EditSchedule:
|
|
type: object
|
|
properties:
|
|
schedule:
|
|
type: string
|
|
timezone:
|
|
type: string
|
|
args:
|
|
$ref: "#/components/schemas/ScriptArgs"
|
|
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"
|
|
no_flow_overlap:
|
|
type: boolean
|
|
summary:
|
|
type: string
|
|
tag:
|
|
type: string
|
|
paused_until:
|
|
type: string
|
|
format: date-time
|
|
required:
|
|
- schedule
|
|
- timezone
|
|
- script_path
|
|
- is_flow
|
|
- args
|
|
|
|
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
|
|
properties:
|
|
name:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
emails:
|
|
type: array
|
|
items:
|
|
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
|
|
memory:
|
|
type: number
|
|
vcpus:
|
|
type: number
|
|
memory_usage:
|
|
type: number
|
|
wm_memory_usage:
|
|
type: number
|
|
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
|
|
required:
|
|
- id
|
|
- name
|
|
- username
|
|
required:
|
|
- email
|
|
- workspaces
|
|
|
|
CreateWorkspace:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- id
|
|
- name
|
|
|
|
Workspace:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
owner:
|
|
type: string
|
|
domain:
|
|
type: string
|
|
required:
|
|
- id
|
|
- name
|
|
- owner
|
|
|
|
WorkspaceInvite:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
email:
|
|
type: string
|
|
is_admin:
|
|
type: boolean
|
|
operator:
|
|
type: boolean
|
|
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
|
|
verified:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
company:
|
|
type: string
|
|
username:
|
|
type: string
|
|
|
|
required:
|
|
- email
|
|
- login_type
|
|
- super_admin
|
|
- verified
|
|
|
|
Flow:
|
|
allOf:
|
|
- $ref: "../../openflow.openapi.yaml#/components/schemas/OpenFlow"
|
|
- $ref: "#/components/schemas/FlowMetadata"
|
|
|
|
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
|
|
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
|
|
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
|
|
|
|
Policy:
|
|
type: object
|
|
properties:
|
|
triggerables:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
triggerables_v2:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
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]
|
|
required:
|
|
- id
|
|
- workspace_id
|
|
- path
|
|
- summary
|
|
- version
|
|
- extra_perms
|
|
- edited_at
|
|
- execution_mode
|
|
|
|
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
|
|
required:
|
|
- id
|
|
- workspace_id
|
|
- path
|
|
- summary
|
|
- versions
|
|
- created_by
|
|
- created_at
|
|
- value
|
|
- policy
|
|
- execution_mode
|
|
- extra_perms
|
|
|
|
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
|
|
|
|
required:
|
|
- access_token
|
|
|
|
HubScriptKind:
|
|
name: kind
|
|
schema:
|
|
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",
|
|
]
|
|
s3_resource_path:
|
|
type: string
|
|
azure_blob_resource_path:
|
|
type: string
|
|
public_resource:
|
|
type: boolean
|
|
secondary_storage:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
[
|
|
"S3Storage",
|
|
"AzureBlobStorage",
|
|
"AzureWorkloadIdentity",
|
|
"S3AwsOidc",
|
|
]
|
|
s3_resource_path:
|
|
type: string
|
|
azure_blob_resource_path:
|
|
type: string
|
|
public_resource:
|
|
type: boolean
|
|
|
|
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:
|
|
include_path:
|
|
type: array
|
|
items:
|
|
type: string
|
|
include_type:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
- app
|
|
- folder
|
|
- resource
|
|
- variable
|
|
- secret
|
|
- resourcetype
|
|
- schedule
|
|
- user
|
|
- group
|
|
repositories:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GitRepositorySettings"
|
|
|
|
WorkspaceDeployUISettings:
|
|
type: object
|
|
properties:
|
|
include_path:
|
|
type: array
|
|
items:
|
|
type: string
|
|
include_type:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
- app
|
|
- resource
|
|
- variable
|
|
- secret
|
|
|
|
WorkspaceDefaultScripts:
|
|
type: object
|
|
properties:
|
|
order:
|
|
type: array
|
|
items:
|
|
type: string
|
|
hidden:
|
|
type: array
|
|
items:
|
|
type: string
|
|
default_script_content:
|
|
additionalProperties:
|
|
type: string
|
|
|
|
GitRepositorySettings:
|
|
type: object
|
|
properties:
|
|
script_path:
|
|
type: string
|
|
git_repo_resource_path:
|
|
type: string
|
|
use_individual_branch:
|
|
type: boolean
|
|
group_by_folder:
|
|
type: boolean
|
|
exclude_types_override:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- script
|
|
- flow
|
|
- app
|
|
- folder
|
|
- resource
|
|
- variable
|
|
- secret
|
|
- resourcetype
|
|
- schedule
|
|
- user
|
|
- group
|
|
required:
|
|
- script_path
|
|
- git_repo_resource_path
|
|
|
|
UploadFilePart:
|
|
type: object
|
|
properties:
|
|
part_number:
|
|
type: integer
|
|
tag:
|
|
type: string
|
|
required:
|
|
- part_number
|
|
- tag
|
|
|
|
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:
|
|
type: string
|
|
enum:
|
|
[
|
|
python3,
|
|
deno,
|
|
go,
|
|
bash,
|
|
powershell,
|
|
postgresql,
|
|
mysql,
|
|
bigquery,
|
|
snowflake,
|
|
mssql,
|
|
graphql,
|
|
nativets,
|
|
bun,
|
|
php,
|
|
rust,
|
|
]
|
|
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
|