diff --git a/backend/windmill-api/openapi-deref.json b/backend/windmill-api/openapi-deref.json index 1186be6069..717ac07138 100644 --- a/backend/windmill-api/openapi-deref.json +++ b/backend/windmill-api/openapi-deref.json @@ -1,7 +1,7 @@ { "openapi": "3.0.3", "info": { - "version": "1.492.1", + "version": "1.519.2", "title": "Windmill API", "contact": { "name": "Windmill Team", @@ -573,6 +573,10 @@ }, "company": { "type": "string" + }, + "skip_email": { + "type": "boolean", + "description": "Skip sending email notifications to the user" } }, "required": [ @@ -889,7 +893,7 @@ "summary": "get connected repositories", "operationId": "getGlobalConnectedRepositories", "tags": [ - "git_sync" + "Git Sync" ], "responses": { "200": { @@ -1118,6 +1122,73 @@ } } }, + "/settings/databases_exist": { + "post": { + "summary": "checks that all given databases exist or else return the ones that don't", + "operationId": "databasesExist", + "tags": [ + "setting" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "responses": { + "200": { + "description": "databases that do not exist", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "/settings/create_ducklake_database/{name}": { + "post": { + "summary": "Runs CREATE DATABASE on the Windmill Postgres and grants access to the ducklake_user", + "operationId": "createDucklakeDatabase", + "tags": [ + "setting" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the database to create" + } + ], + "responses": { + "200": { + "description": "status", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, "/settings/global/{key}": { "get": { "summary": "get global settings", @@ -2933,6 +3004,9 @@ "large_file_storage": { "$ref": "#/components/schemas/LargeFileStorage" }, + "ducklake": { + "$ref": "#/components/schemas/DucklakeSettings" + }, "git_sync": { "$ref": "#/components/schemas/WorkspaceGitSyncSettings" }, @@ -3738,6 +3812,78 @@ } } }, + "/w/{workspace}/workspaces/list_ducklakes": { + "get": { + "summary": "list ducklakes", + "operationId": "listDucklakes", + "tags": [ + "workspace" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "responses": { + "200": { + "description": "status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "/w/{workspace}/workspaces/edit_ducklake_config": { + "post": { + "summary": "edit ducklake settings", + "operationId": "editDucklakeConfig", + "tags": [ + "workspace" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "Ducklake settings", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "settings" + ], + "properties": { + "settings": { + "$ref": "#/components/schemas/DucklakeSettings" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "status", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, "/w/{workspace}/workspaces/edit_git_sync_config": { "post": { "summary": "edit workspace git sync settings", @@ -3778,6 +3924,98 @@ } } }, + "/w/{workspace}/workspaces/edit_git_sync_repository": { + "post": { + "summary": "add or update individual git sync repository", + "operationId": "editGitSyncRepository", + "tags": [ + "workspace" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "Git sync repository settings to add or update", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "git_repo_resource_path": { + "type": "string", + "description": "The resource path of the git repository to update" + }, + "repository": { + "$ref": "#/components/schemas/GitRepositorySettings" + } + }, + "required": [ + "git_repo_resource_path", + "repository" + ] + } + } + } + }, + "responses": { + "200": { + "description": "status", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/w/{workspace}/workspaces/delete_git_sync_repository": { + "delete": { + "summary": "delete individual git sync repository", + "operationId": "deleteGitSyncRepository", + "tags": [ + "workspace" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "Git sync repository to delete", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "git_repo_resource_path": { + "type": "string", + "description": "The resource path of the git repository to delete" + } + }, + "required": [ + "git_repo_resource_path" + ] + } + } + } + }, + "responses": { + "200": { + "description": "status", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, "/w/{workspace}/workspaces/edit_deploy_ui_config": { "post": { "summary": "edit workspace deploy ui settings", @@ -4314,6 +4552,30 @@ } } }, + "/tokens/list/scopes": { + "get": { + "summary": "list of available scopes", + "operationId": "ListAvailableScopes", + "tags": [ + "token" + ], + "responses": { + "200": { + "description": "list of available scopes", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ScopeDomain" + } + } + } + } + } + } + } + }, "/users/tokens/create": { "post": { "summary": "create token", @@ -4813,6 +5075,35 @@ } } }, + "/w/{workspace}/workspaces/get_secondary_storage_names": { + "get": { + "summary": "get secondary storage names", + "operationId": "getSecondaryStorageNames", + "tags": [ + "setting" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "responses": { + "200": { + "description": "status", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, "/w/{workspace}/workspaces/critical_alerts": { "get": { "summary": "Get all critical alerts for this workspace", @@ -5217,6 +5508,22 @@ }, "client": { "type": "string" + }, + "grant_type": { + "type": "string", + "default": "authorization_code" + }, + "cc_client_id": { + "type": "string", + "description": "OAuth client ID for resource-level credentials (client_credentials flow only)" + }, + "cc_client_secret": { + "type": "string", + "description": "OAuth client secret for resource-level credentials (client_credentials flow only)" + }, + "cc_token_url": { + "type": "string", + "description": "OAuth token URL override for resource-level authentication (client_credentials flow only)" } }, "required": [ @@ -5241,6 +5548,73 @@ } } }, + "/oauth/connect_client_credentials/{client}": { + "post": { + "summary": "connect OAuth using client credentials", + "operationId": "connectClientCredentials", + "tags": [ + "oauth" + ], + "parameters": [ + { + "name": "client", + "in": "path", + "description": "OAuth client name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "client credentials flow parameters", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "cc_client_id": { + "type": "string", + "description": "OAuth client ID for resource-level authentication" + }, + "cc_client_secret": { + "type": "string", + "description": "OAuth client secret for resource-level authentication" + }, + "cc_token_url": { + "type": "string", + "description": "OAuth token URL override for resource-level authentication" + } + }, + "required": [ + "cc_client_id", + "cc_client_secret" + ] + } + } + } + }, + "responses": { + "200": { + "description": "OAuth token response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + } + } + }, "/w/{workspace}/oauth/refresh_token/{id}": { "post": { "summary": "refresh token", @@ -5474,6 +5848,12 @@ "items": { "type": "string" } + }, + "grant_types": { + "type": "array", + "items": { + "type": "string" + } } } } @@ -6973,6 +7353,14 @@ "schema": { "type": "boolean" } + }, + { + "name": "languages", + "in": "query", + "description": "Filter to only include scripts written in the given languages.\nAccepts multiple values as a comma-separated list.\n", + "schema": { + "type": "string" + } } ], "responses": { @@ -7788,6 +8176,13 @@ "schema": { "type": "boolean" } + }, + { + "name": "authed", + "in": "query", + "schema": { + "type": "boolean" + } } ], "responses": { @@ -11981,6 +12376,13 @@ "schema": { "type": "boolean" } + }, + { + "name": "no_code", + "in": "query", + "schema": { + "type": "boolean" + } } ], "responses": { @@ -12110,12 +12512,26 @@ "type": "integer" } }, + { + "name": "stream_offset", + "in": "query", + "schema": { + "type": "integer" + } + }, { "name": "get_progress", "in": "query", "schema": { "type": "boolean" } + }, + { + "name": "no_logs", + "in": "query", + "schema": { + "type": "boolean" + } } ], "responses": { @@ -12144,8 +12560,17 @@ "progress": { "type": "integer" }, + "stream_offset": { + "type": "integer" + }, + "new_result_stream": { + "type": "string" + }, "flow_status": { - "$ref": "#/components/schemas/WorkflowStatusRecord" + "$ref": "#/components/schemas/FlowStatus" + }, + "workflow_as_code_status": { + "$ref": "#/components/schemas/WorkflowStatus" } } } @@ -12155,6 +12580,70 @@ } } }, + "/w/{workspace}/jobs_u/getupdate_sse/{id}": { + "get": { + "summary": "get job updates via server-sent events", + "operationId": "getJobUpdatesSSE", + "tags": [ + "job" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + }, + { + "$ref": "#/components/parameters/JobId" + }, + { + "name": "running", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "log_offset", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "get_progress", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "only_result", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "no_logs", + "in": "query", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "server-sent events stream of job updates", + "content": { + "text/event-stream": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, "/w/{workspace}/jobs_u/get_log_file/{path}": { "get": { "summary": "get log file from object store", @@ -13612,6 +14101,119 @@ } } }, + "/w/{workspace}/openapi/generate": { + "post": { + "summary": "generate openapi spec from http routes/webhook", + "operationId": "generateOpenapiSpec", + "tags": [ + "openapi" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "openapi spec info and url", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateOpenapiSpec" + } + } + } + }, + "responses": { + "200": { + "description": "openapi spec", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/w/{workspace}/openapi/download": { + "post": { + "summary": "Download the OpenAPI v3.1 spec as a file", + "operationId": "DownloadOpenapiSpec", + "tags": [ + "openapi" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "openapi spec info and url", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateOpenapiSpec" + } + } + } + }, + "responses": { + "200": { + "description": "Downloaded OpenAPI spec", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + }, + "/w/{workspace}/http_triggers/create_many": { + "post": { + "summary": "create many HTTP triggers", + "operationId": "createHttpTriggers", + "tags": [ + "http_trigger" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "new http trigger", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NewHttpTrigger" + } + } + } + } + }, + "responses": { + "201": { + "description": "http trigger created", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, "/w/{workspace}/http_triggers/create": { "post": { "summary": "create http trigger", @@ -13858,14 +14460,7 @@ "type": "string" }, "http_method": { - "type": "string", - "enum": [ - "get", - "post", - "put", - "delete", - "patch" - ] + "$ref": "#/components/schemas/HttpMethod" }, "trigger_path": { "type": "string" @@ -15908,6 +16503,35 @@ } } }, + "/w/{workspace}/postgres_triggers/postgres/version/{path}": { + "get": { + "summary": "get postgres version", + "operationId": "getPostgresVersion", + "tags": [ + "postgres_trigger" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + }, + { + "$ref": "#/components/parameters/Path" + } + ], + "responses": { + "200": { + "description": "postgres version", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, "/w/{workspace}/postgres_triggers/is_valid_postgres_configuration/{path}": { "get": { "summary": "check if postgres configuration is set to logical", @@ -18067,6 +18691,140 @@ } } }, + "/agent_workers/blacklist_token": { + "post": { + "summary": "blacklist agent token (requires super admin)", + "operationId": "blacklistAgentToken", + "tags": [ + "agent_workers" + ], + "requestBody": { + "description": "token to blacklist", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The agent token to blacklist" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Optional expiration date for the blacklist entry" + } + }, + "required": [ + "token" + ] + } + } + } + }, + "responses": { + "200": { + "description": "token blacklisted successfully" + } + } + } + }, + "/agent_workers/remove_blacklist_token": { + "post": { + "summary": "remove agent token from blacklist (requires super admin)", + "operationId": "removeBlacklistAgentToken", + "tags": [ + "agent_workers" + ], + "requestBody": { + "description": "token to remove from blacklist", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The agent token to remove from blacklist" + } + }, + "required": [ + "token" + ] + } + } + } + }, + "responses": { + "200": { + "description": "token removed from blacklist successfully" + } + } + } + }, + "/agent_workers/list_blacklisted_tokens": { + "get": { + "summary": "list blacklisted agent tokens (requires super admin)", + "operationId": "listBlacklistedAgentTokens", + "tags": [ + "agent_workers" + ], + "parameters": [ + { + "name": "include_expired", + "in": "query", + "description": "Whether to include expired blacklisted tokens", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "list of blacklisted tokens", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The blacklisted token (without prefix)" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "When the blacklist entry expires" + }, + "blacklisted_at": { + "type": "string", + "format": "date-time", + "description": "When the token was blacklisted" + }, + "blacklisted_by": { + "type": "string", + "description": "Email of the user who blacklisted the token" + } + }, + "required": [ + "token", + "expires_at", + "blacklisted_at", + "blacklisted_by" + ] + } + } + } + } + } + } + } + }, "/w/{workspace}/acls/get/{kind}/{path}": { "get": { "summary": "get granular acls", @@ -19499,9 +20257,7 @@ "200": { "description": "Parquet Preview", "content": { - "application/json": { - "schema": {} - } + "application/json": {} } } } @@ -19637,9 +20393,7 @@ "200": { "description": "Csv Preview", "content": { - "application/json": { - "schema": {} - } + "application/json": {} } } } @@ -20680,6 +21434,158 @@ } } } + }, + "/w/{workspace}/assets/list": { + "get": { + "summary": "List all assets in the workspace", + "operationId": "listAssets", + "tags": [ + "asset" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "responses": { + "200": { + "description": "all assets in the workspace", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind", + "usages" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/AssetKind" + }, + "usages": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/AssetUsageKind" + }, + "access_type": { + "$ref": "#/components/schemas/AssetUsageAccessType" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "resource_type": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/w/{workspace}/assets/list_by_usages": { + "post": { + "summary": "List all assets used by given usages paths", + "operationId": "listAssetsByUsage", + "tags": [ + "asset" + ], + "parameters": [ + { + "$ref": "#/components/parameters/WorkspaceId" + } + ], + "requestBody": { + "description": "list assets by usages", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "usages" + ], + "properties": { + "usages": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/AssetUsageKind" + } + } + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "all assets used by the given usage paths, in the same order", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/AssetKind" + }, + "access_type": { + "$ref": "#/components/schemas/AssetUsageAccessType" + } + } + } + } + } + } + } + } + } + } } }, "components": { @@ -21204,11 +22110,827 @@ } }, "schemas": { - "InputTransform": { - "allOf": [ - { - "$ref": "#/components/schemas/schemas-InputTransform" + "OpenFlow": { + "type": "object", + "properties": { + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/schemas-FlowValue" + }, + "schema": { + "type": "object" } + }, + "required": [ + "summary", + "value" + ] + }, + "FlowValue": { + "type": "object", + "properties": { + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowModule" + } + }, + "failure_module": { + "$ref": "#/components/schemas/schemas-FlowModule" + }, + "preprocessor_module": { + "$ref": "#/components/schemas/schemas-FlowModule" + }, + "same_worker": { + "type": "boolean" + }, + "concurrent_limit": { + "type": "number" + }, + "concurrency_key": { + "type": "string" + }, + "concurrency_time_window_s": { + "type": "number" + }, + "skip_expr": { + "type": "string" + }, + "cache_ttl": { + "type": "number" + }, + "priority": { + "type": "number" + }, + "early_return": { + "type": "string" + } + }, + "required": [ + "modules" + ] + }, + "Retry": { + "type": "object", + "properties": { + "constant": { + "type": "object", + "properties": { + "attempts": { + "type": "integer" + }, + "seconds": { + "type": "integer" + } + } + }, + "exponential": { + "type": "object", + "properties": { + "attempts": { + "type": "integer" + }, + "multiplier": { + "type": "integer" + }, + "seconds": { + "type": "integer" + }, + "random_factor": { + "type": "integer", + "minimum": 0, + "maximum": 100 + } + } + } + } + }, + "StopAfterIf": { + "type": "object", + "properties": { + "skip_if_stopped": { + "type": "boolean" + }, + "expr": { + "type": "string" + }, + "error_message": { + "type": "string" + } + }, + "required": [ + "expr" + ] + }, + "FlowModule": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/schemas-FlowModuleValue" + }, + "stop_after_if": { + "$ref": "#/components/schemas/schemas-StopAfterIf" + }, + "stop_after_all_iters_if": { + "$ref": "#/components/schemas/schemas-StopAfterIf" + }, + "skip_if": { + "type": "object", + "properties": { + "expr": { + "type": "string" + } + }, + "required": [ + "expr" + ] + }, + "sleep": { + "$ref": "#/components/schemas/schemas-InputTransform" + }, + "cache_ttl": { + "type": "number" + }, + "timeout": { + "type": "number" + }, + "delete_after_use": { + "type": "boolean" + }, + "summary": { + "type": "string" + }, + "mock": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "return_value": {} + } + }, + "suspend": { + "type": "object", + "properties": { + "required_events": { + "type": "integer" + }, + "timeout": { + "type": "integer" + }, + "resume_form": { + "type": "object", + "properties": { + "schema": { + "type": "object" + } + } + }, + "user_auth_required": { + "type": "boolean" + }, + "user_groups_required": { + "$ref": "#/components/schemas/schemas-InputTransform" + }, + "self_approval_disabled": { + "type": "boolean" + }, + "hide_cancel": { + "type": "boolean" + }, + "continue_on_disapprove_timeout": { + "type": "boolean" + } + } + }, + "priority": { + "type": "number" + }, + "continue_on_error": { + "type": "boolean" + }, + "retry": { + "$ref": "#/components/schemas/schemas-Retry" + } + }, + "required": [ + "value", + "id" + ] + }, + "InputTransform": { + "oneOf": [ + { + "$ref": "#/components/schemas/schemas-StaticTransform" + }, + { + "$ref": "#/components/schemas/schemas-JavascriptTransform" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "static": "#/components/schemas/schemas-StaticTransform", + "javascript": "#/components/schemas/schemas-JavascriptTransform" + } + } + }, + "StaticTransform": { + "type": "object", + "properties": { + "value": {}, + "type": { + "type": "string", + "enum": [ + "static" + ] + } + }, + "required": [ + "value", + "type" + ] + }, + "JavascriptTransform": { + "type": "object", + "properties": { + "expr": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "javascript" + ] + } + }, + "required": [ + "expr", + "type" + ] + }, + "FlowModuleValue": { + "oneOf": [ + { + "$ref": "#/components/schemas/schemas-RawScript" + }, + { + "$ref": "#/components/schemas/schemas-PathScript" + }, + { + "$ref": "#/components/schemas/schemas-PathFlow" + }, + { + "$ref": "#/components/schemas/schemas-ForloopFlow" + }, + { + "$ref": "#/components/schemas/schemas-WhileloopFlow" + }, + { + "$ref": "#/components/schemas/schemas-BranchOne" + }, + { + "$ref": "#/components/schemas/schemas-BranchAll" + }, + { + "$ref": "#/components/schemas/schemas-Identity" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "rawscript": "#/components/schemas/schemas-RawScript", + "script": "#/components/schemas/schemas-PathScript", + "flow": "#/components/schemas/schemas-PathFlow", + "forloopflow": "#/components/schemas/schemas-ForloopFlow", + "whileloopflow": "#/components/schemas/schemas-WhileloopFlow", + "branchone": "#/components/schemas/schemas-BranchOne", + "branchall": "#/components/schemas/schemas-BranchAll", + "identity": "#/components/schemas/schemas-Identity" + } + } + }, + "RawScript": { + "type": "object", + "properties": { + "input_transforms": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/schemas-InputTransform" + } + }, + "content": { + "type": "string" + }, + "language": { + "type": "string", + "enum": [ + "deno", + "bun", + "python3", + "go", + "bash", + "powershell", + "postgresql", + "mysql", + "bigquery", + "snowflake", + "mssql", + "oracledb", + "graphql", + "nativets", + "php" + ] + }, + "path": { + "type": "string" + }, + "lock": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "rawscript" + ] + }, + "tag": { + "type": "string" + }, + "concurrent_limit": { + "type": "number" + }, + "concurrency_time_window_s": { + "type": "number" + }, + "custom_concurrency_key": { + "type": "string" + }, + "is_trigger": { + "type": "boolean" + }, + "assets": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "s3object", + "resource", + "ducklake" + ] + }, + "access_type": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + }, + "alt_access_type": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + } + } + } + } + }, + "required": [ + "type", + "content", + "language", + "input_transforms" + ] + }, + "PathScript": { + "type": "object", + "properties": { + "input_transforms": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/schemas-InputTransform" + } + }, + "path": { + "type": "string" + }, + "hash": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "script" + ] + }, + "tag_override": { + "type": "string" + }, + "is_trigger": { + "type": "boolean" + } + }, + "required": [ + "type", + "path", + "input_transforms" + ] + }, + "PathFlow": { + "type": "object", + "properties": { + "input_transforms": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/schemas-InputTransform" + } + }, + "path": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "flow" + ] + } + }, + "required": [ + "type", + "path", + "input_transforms" + ] + }, + "ForloopFlow": { + "type": "object", + "properties": { + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowModule" + } + }, + "iterator": { + "$ref": "#/components/schemas/schemas-InputTransform" + }, + "skip_failures": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": [ + "forloopflow" + ] + }, + "parallel": { + "type": "boolean" + }, + "parallelism": { + "type": "integer" + } + }, + "required": [ + "modules", + "iterator", + "skip_failures", + "type" + ] + }, + "WhileloopFlow": { + "type": "object", + "properties": { + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowModule" + } + }, + "skip_failures": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": [ + "whileloopflow" + ] + }, + "parallel": { + "type": "boolean" + }, + "parallelism": { + "type": "integer" + } + }, + "required": [ + "modules", + "skip_failures", + "type" + ] + }, + "BranchOne": { + "type": "object", + "properties": { + "branches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "summary": { + "type": "string" + }, + "expr": { + "type": "string" + }, + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowModule" + } + } + }, + "required": [ + "modules", + "expr" + ] + } + }, + "default": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowModule" + }, + "required": [ + "modules" + ] + }, + "type": { + "type": "string", + "enum": [ + "branchone" + ] + } + }, + "required": [ + "branches", + "default", + "type" + ] + }, + "BranchAll": { + "type": "object", + "properties": { + "branches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "summary": { + "type": "string" + }, + "skip_failure": { + "type": "boolean" + }, + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowModule" + } + } + }, + "required": [ + "modules" + ] + } + }, + "type": { + "type": "string", + "enum": [ + "branchall" + ] + }, + "parallel": { + "type": "boolean" + } + }, + "required": [ + "branches", + "type" + ] + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "identity" + ] + }, + "flow": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + }, + "FlowStatus": { + "type": "object", + "properties": { + "step": { + "type": "integer" + }, + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/schemas-FlowStatusModule" + } + }, + "user_states": { + "additionalProperties": true + }, + "preprocessor_module": { + "allOf": [ + { + "$ref": "#/components/schemas/schemas-FlowStatusModule" + } + ] + }, + "failure_module": { + "allOf": [ + { + "$ref": "#/components/schemas/schemas-FlowStatusModule" + }, + { + "type": "object", + "properties": { + "parent_module": { + "type": "string" + } + } + } + ] + }, + "retry": { + "type": "object", + "properties": { + "fail_count": { + "type": "integer" + }, + "failed_jobs": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + } + } + } + }, + "required": [ + "step", + "modules", + "failure_module" + ] + }, + "FlowStatusModule": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "WaitingForPriorSteps", + "WaitingForEvents", + "WaitingForExecutor", + "InProgress", + "Success", + "Failure" + ] + }, + "id": { + "type": "string" + }, + "job": { + "type": "string", + "format": "uuid" + }, + "count": { + "type": "integer" + }, + "progress": { + "type": "integer" + }, + "iterator": { + "type": "object", + "properties": { + "index": { + "type": "integer" + }, + "itered": { + "type": "array", + "items": {} + }, + "args": {} + } + }, + "flow_jobs": { + "type": "array", + "items": { + "type": "string" + } + }, + "flow_jobs_success": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "branch_chosen": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "branch", + "default" + ] + }, + "branch": { + "type": "integer" + } + }, + "required": [ + "type" + ] + }, + "branchall": { + "type": "object", + "properties": { + "branch": { + "type": "integer" + }, + "len": { + "type": "integer" + } + }, + "required": [ + "branch", + "len" + ] + }, + "approvers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "resume_id": { + "type": "integer" + }, + "approver": { + "type": "string" + } + }, + "required": [ + "resume_id", + "approver" + ] + } + }, + "failed_retries": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "skipped": { + "type": "boolean" + } + }, + "required": [ + "type" ] }, "AIProvider": { @@ -21226,6 +22948,25 @@ "customai" ] }, + "GitSyncObjectType": { + "type": "string", + "enum": [ + "script", + "flow", + "app", + "folder", + "resource", + "variable", + "secret", + "resourcetype", + "schedule", + "user", + "group", + "trigger", + "settings", + "key" + ] + }, "AIProviderModel": { "type": "object", "properties": { @@ -21574,6 +23315,40 @@ }, "on_behalf_of_email": { "type": "string" + }, + "assets": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/AssetKind" + }, + "access_type": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + }, + "alt_access_type": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + } + } + } } }, "required": [ @@ -21787,6 +23562,9 @@ "flow_status": { "$ref": "#/components/schemas/FlowStatus" }, + "workflow_as_code_status": { + "$ref": "#/components/schemas/WorkflowStatus" + }, "raw_flow": { "$ref": "#/components/schemas/FlowValue" }, @@ -21927,6 +23705,9 @@ "flow_status": { "$ref": "#/components/schemas/FlowStatus" }, + "workflow_as_code_status": { + "$ref": "#/components/schemas/WorkflowStatus" + }, "raw_flow": { "$ref": "#/components/schemas/FlowValue" }, @@ -22470,6 +24251,9 @@ }, "parameters": { "type": "object" + }, + "span": { + "type": "string" } }, "required": [ @@ -22554,45 +24338,53 @@ "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": { + "name": { + "type": "string" + }, + "props": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" }, - { - "type": "object", - "properties": { - "str": {} - }, - "required": [ - "str" + "typ": { + "oneOf": [ + { + "type": "string", + "enum": [ + "float", + "int", + "bool", + "email", + "unknown", + "bytes", + "dict", + "datetime", + "sql" + ] + }, + { + "type": "object", + "properties": { + "str": {} + }, + "required": [ + "str" + ] + } ] } + }, + "required": [ + "key", + "typ" ] } - }, - "required": [ - "key", - "typ" - ] + } } } }, @@ -22690,7 +24482,8 @@ "ansible", "csharp", "nu", - "java" + "java", + "duckdb" ] }, "Preview": { @@ -23289,6 +25082,155 @@ "signature" ] }, + "RunnableKind": { + "type": "string", + "enum": [ + "script", + "flow" + ] + }, + "OpenapiSpecFormat": { + "type": "string", + "enum": [ + "yaml", + "json" + ] + }, + "OpenapiHttpRouteFilters": { + "type": "object", + "properties": { + "folder_regex": { + "type": "string" + }, + "path_regex": { + "type": "string" + }, + "route_path_regex": { + "type": "string" + } + }, + "required": [ + "folder_regex", + "path_regex", + "route_path_regex" + ] + }, + "WebhookFilters": { + "type": "object", + "properties": { + "user_or_folder_regex": { + "type": "string", + "enum": [ + "*", + "u", + "f" + ] + }, + "user_or_folder_regex_value": { + "type": "string" + }, + "path": { + "type": "string" + }, + "runnable_kind": { + "$ref": "#/components/schemas/RunnableKind" + } + }, + "required": [ + "user_or_folder_regex", + "user_or_folder_regex_value", + "path", + "runnable_kind" + ] + }, + "OpenapiV3Info": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "version": { + "type": "string" + }, + "description": { + "type": "string" + }, + "terms_of_service": { + "type": "string" + }, + "contact": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "email": { + "type": "string" + } + } + }, + "license": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "identifier": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "name" + ] + } + }, + "required": [ + "title", + "version" + ] + }, + "GenerateOpenapiSpec": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/OpenapiV3Info" + }, + "url": { + "type": "string" + }, + "openapi_spec_format": { + "$ref": "#/components/schemas/OpenapiSpecFormat" + }, + "http_route_filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenapiHttpRouteFilters" + } + }, + "webhook_filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebhookFilters" + } + } + } + }, + "HttpMethod": { + "type": "string", + "enum": [ + "get", + "post", + "put", + "delete", + "patch" + ] + }, "HttpTrigger": { "allOf": [ { @@ -23318,18 +25260,17 @@ ] }, "http_method": { - "type": "string", - "enum": [ - "get", - "post", - "put", - "delete", - "patch" - ] + "$ref": "#/components/schemas/HttpMethod" }, "authentication_resource_path": { "type": "string" }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, "is_async": { "type": "boolean" }, @@ -23347,6 +25288,15 @@ }, "raw_string": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23375,6 +25325,12 @@ "workspaced_route": { "type": "boolean" }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, "static_asset_config": { "type": "object", "properties": { @@ -23396,14 +25352,7 @@ "type": "boolean" }, "http_method": { - "type": "string", - "enum": [ - "get", - "post", - "put", - "delete", - "patch" - ] + "$ref": "#/components/schemas/HttpMethod" }, "authentication_resource_path": { "type": "string" @@ -23422,6 +25371,15 @@ }, "raw_string": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23447,6 +25405,12 @@ "route_path": { "type": "string" }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, "workspaced_route": { "type": "boolean" }, @@ -23474,14 +25438,7 @@ "type": "boolean" }, "http_method": { - "type": "string", - "enum": [ - "get", - "post", - "put", - "delete", - "patch" - ] + "$ref": "#/components/schemas/HttpMethod" }, "is_async": { "type": "boolean" @@ -23497,6 +25454,15 @@ }, "raw_string": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23607,6 +25573,15 @@ }, "can_return_message": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23661,6 +25636,15 @@ }, "can_return_message": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23714,6 +25698,15 @@ }, "can_return_message": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23789,7 +25782,7 @@ "clean_start": { "type": "boolean" }, - "topic_alias": { + "topic_alias_maximum": { "type": "number" }, "session_expiry_interval": { @@ -23860,6 +25853,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23903,6 +25905,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -23948,6 +25959,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24019,6 +26039,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24073,6 +26102,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24148,6 +26186,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24186,6 +26233,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24226,6 +26282,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24372,6 +26437,15 @@ "last_server_ping": { "type": "string", "format": "date-time" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24407,6 +26481,15 @@ }, "publication": { "$ref": "#/components/schemas/PublicationData" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24443,6 +26526,15 @@ }, "publication": { "$ref": "#/components/schemas/PublicationData" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24487,6 +26579,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24522,6 +26623,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24556,6 +26666,15 @@ }, "is_flow": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24605,6 +26724,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24646,6 +26774,15 @@ }, "enabled": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -24686,6 +26823,15 @@ }, "is_flow": { "type": "boolean" + }, + "error_handler_path": { + "type": "string" + }, + "error_handler_args": { + "$ref": "#/components/schemas/ScriptArgs" + }, + "retry": { + "$ref": "#/components/schemas/Retry" } }, "required": [ @@ -25272,6 +27418,51 @@ "execution_mode" ] }, + "ScopeDefinition": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "label": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "requires_resource_path": { + "type": "boolean" + } + }, + "required": [ + "value", + "label", + "requires_resource_path" + ] + }, + "ScopeDomain": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "scopes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ScopeDefinition" + } + } + }, + "required": [ + "name", + "scopes" + ] + }, "ListableRawApp": { "type": "object", "properties": { @@ -25470,6 +27661,9 @@ "items": { "type": "string" } + }, + "grant_type": { + "type": "string" } }, "required": [ @@ -25505,7 +27699,8 @@ "S3Storage", "AzureBlobStorage", "AzureWorkloadIdentity", - "S3AwsOidc" + "S3AwsOidc", + "GoogleCloudStorage" ] }, "s3_resource_path": { @@ -25514,6 +27709,9 @@ "azure_blob_resource_path": { "type": "string" }, + "gcs_resource_path": { + "type": "string" + }, "public_resource": { "type": "boolean" }, @@ -25528,7 +27726,8 @@ "S3Storage", "AzureBlobStorage", "AzureWorkloadIdentity", - "S3AwsOidc" + "S3AwsOidc", + "GoogleCloudStorage" ] }, "s3_resource_path": { @@ -25537,6 +27736,9 @@ "azure_blob_resource_path": { "type": "string" }, + "gcs_resource_path": { + "type": "string" + }, "public_resource": { "type": "boolean" } @@ -25545,6 +27747,59 @@ } } }, + "DucklakeSettings": { + "type": "object", + "required": [ + "ducklakes" + ], + "properties": { + "ducklakes": { + "type": "object", + "additionalProperties": { + "type": "object", + "required": [ + "catalog", + "storage" + ], + "properties": { + "catalog": { + "type": "object", + "properties": { + "resource_type": { + "type": "string", + "enum": [ + "postgresql", + "mysql", + "instance" + ] + }, + "resource_path": { + "type": "string" + } + }, + "required": [ + "resource_type" + ] + }, + "storage": { + "type": "object", + "properties": { + "storage": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path" + ] + } + } + } + } + } + }, "WindmillLargeFile": { "type": "object", "properties": { @@ -25637,32 +27892,6 @@ "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", - "trigger" - ] - } - }, "repositories": { "type": "array", "items": { @@ -25683,16 +27912,7 @@ "include_type": { "type": "array", "items": { - "type": "string", - "enum": [ - "script", - "flow", - "app", - "resource", - "variable", - "secret", - "trigger" - ] + "$ref": "#/components/schemas/GitSyncObjectType" } } } @@ -25734,24 +27954,42 @@ "group_by_folder": { "type": "boolean" }, + "collapsed": { + "type": "boolean" + }, + "settings": { + "type": "object", + "properties": { + "include_path": { + "type": "array", + "items": { + "type": "string" + } + }, + "include_type": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GitSyncObjectType" + } + }, + "exclude_path": { + "type": "array", + "items": { + "type": "string" + } + }, + "extra_include_path": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "exclude_types_override": { "type": "array", "items": { - "type": "string", - "enum": [ - "script", - "flow", - "app", - "folder", - "resource", - "variable", - "secret", - "resourcetype", - "schedule", - "user", - "group", - "trigger" - ] + "$ref": "#/components/schemas/GitSyncObjectType" } } }, @@ -26128,6 +28366,7 @@ "runs", "schedules", "resources", + "assets", "variables", "triggers", "audit_logs", @@ -26152,6 +28391,10 @@ "type": "boolean", "description": "Whether operators can view variables" }, + "assets": { + "type": "boolean", + "description": "Whether operators can view assets" + }, "audit_logs": { "type": "boolean", "description": "Whether operators can view audit logs" @@ -26338,23 +28581,61 @@ } } }, - "StaticTransform": { + "AssetUsageKind": { + "type": "string", + "enum": [ + "script", + "flow" + ] + }, + "AssetUsageAccessType": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + }, + "AssetKind": { + "type": "string", + "enum": [ + "s3object", + "resource", + "ducklake" + ] + }, + "Asset": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/AssetKind" + } + }, + "required": [ + "path", + "kind" + ] + }, + "schemas-StaticTransform": { "type": "object", "properties": { "value": {}, "type": { "type": "string", "enum": [ - "javascript" + "static" ] } }, "required": [ - "expr", + "value", "type" ] }, - "JavascriptTransform": { + "schemas-JavascriptTransform": { "type": "object", "properties": { "expr": { @@ -26375,21 +28656,21 @@ "schemas-InputTransform": { "oneOf": [ { - "$ref": "#/components/schemas/StaticTransform" + "$ref": "#/components/schemas/schemas-StaticTransform" }, { - "$ref": "#/components/schemas/JavascriptTransform" + "$ref": "#/components/schemas/schemas-JavascriptTransform" } ], "discriminator": { "propertyName": "type", "mapping": { - "static": "#/components/schemas/StaticTransform", - "javascript": "#/components/schemas/JavascriptTransform" + "static": "#/components/schemas/schemas-StaticTransform", + "javascript": "#/components/schemas/schemas-JavascriptTransform" } } }, - "RawScript": { + "schemas-RawScript": { "type": "object", "properties": { "input_transforms": { @@ -26447,6 +28728,45 @@ }, "is_trigger": { "type": "boolean" + }, + "assets": { + "type": "array", + "items": { + "type": "object", + "required": [ + "path", + "kind" + ], + "properties": { + "path": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "s3object", + "resource", + "ducklake" + ] + }, + "access_type": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + }, + "alt_access_type": { + "type": "string", + "enum": [ + "r", + "w", + "rw" + ] + } + } + } } }, "required": [ @@ -26456,7 +28776,7 @@ "input_transforms" ] }, - "PathScript": { + "schemas-PathScript": { "type": "object", "properties": { "input_transforms": { @@ -26490,7 +28810,7 @@ "input_transforms" ] }, - "PathFlow": { + "schemas-PathFlow": { "type": "object", "properties": { "input_transforms": { @@ -26515,20 +28835,20 @@ "input_transforms" ] }, - "FlowModule": { + "schemas-FlowModule": { "type": "object", "properties": { "id": { "type": "string" }, "value": { - "$ref": "#/components/schemas/FlowModuleValue" + "$ref": "#/components/schemas/schemas-FlowModuleValue" }, "stop_after_if": { - "$ref": "#/components/schemas/StopAfterIf" + "$ref": "#/components/schemas/schemas-StopAfterIf" }, "stop_after_all_iters_if": { - "$ref": "#/components/schemas/StopAfterIf" + "$ref": "#/components/schemas/schemas-StopAfterIf" }, "skip_if": { "type": "object", @@ -26606,7 +28926,7 @@ "type": "boolean" }, "retry": { - "$ref": "#/components/schemas/Retry" + "$ref": "#/components/schemas/schemas-Retry" } }, "required": [ @@ -26614,13 +28934,13 @@ "id" ] }, - "ForloopFlow": { + "schemas-ForloopFlow": { "type": "object", "properties": { "modules": { "type": "array", "items": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" } }, "iterator": { @@ -26649,13 +28969,13 @@ "type" ] }, - "WhileloopFlow": { + "schemas-WhileloopFlow": { "type": "object", "properties": { "modules": { "type": "array", "items": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" } }, "skip_failures": { @@ -26664,7 +28984,7 @@ "type": { "type": "string", "enum": [ - "forloopflow" + "whileloopflow" ] }, "parallel": { @@ -26680,7 +29000,7 @@ "type" ] }, - "BranchOne": { + "schemas-BranchOne": { "type": "object", "properties": { "branches": { @@ -26697,7 +29017,7 @@ "modules": { "type": "array", "items": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" } } }, @@ -26710,7 +29030,7 @@ "default": { "type": "array", "items": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" }, "required": [ "modules" @@ -26729,7 +29049,7 @@ "type" ] }, - "BranchAll": { + "schemas-BranchAll": { "type": "object", "properties": { "branches": { @@ -26746,13 +29066,12 @@ "modules": { "type": "array", "items": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" } } }, "required": [ - "modules", - "expr" + "modules" ] } }, @@ -26771,7 +29090,7 @@ "type" ] }, - "Identity": { + "schemas-Identity": { "type": "object", "properties": { "type": { @@ -26788,48 +29107,48 @@ "type" ] }, - "FlowModuleValue": { + "schemas-FlowModuleValue": { "oneOf": [ { - "$ref": "#/components/schemas/RawScript" + "$ref": "#/components/schemas/schemas-RawScript" }, { - "$ref": "#/components/schemas/PathScript" + "$ref": "#/components/schemas/schemas-PathScript" }, { - "$ref": "#/components/schemas/PathFlow" + "$ref": "#/components/schemas/schemas-PathFlow" }, { - "$ref": "#/components/schemas/ForloopFlow" + "$ref": "#/components/schemas/schemas-ForloopFlow" }, { - "$ref": "#/components/schemas/WhileloopFlow" + "$ref": "#/components/schemas/schemas-WhileloopFlow" }, { - "$ref": "#/components/schemas/BranchOne" + "$ref": "#/components/schemas/schemas-BranchOne" }, { - "$ref": "#/components/schemas/BranchAll" + "$ref": "#/components/schemas/schemas-BranchAll" }, { - "$ref": "#/components/schemas/Identity" + "$ref": "#/components/schemas/schemas-Identity" } ], "discriminator": { "propertyName": "type", "mapping": { - "rawscript": "#/components/schemas/RawScript", - "script": "#/components/schemas/PathScript", - "flow": "#/components/schemas/PathFlow", - "forloopflow": "#/components/schemas/ForloopFlow", - "whileloopflow": "#/components/schemas/WhileloopFlow", - "branchone": "#/components/schemas/BranchOne", - "branchall": "#/components/schemas/BranchAll", - "identity": "#/components/schemas/Identity" + "rawscript": "#/components/schemas/schemas-RawScript", + "script": "#/components/schemas/schemas-PathScript", + "flow": "#/components/schemas/schemas-PathFlow", + "forloopflow": "#/components/schemas/schemas-ForloopFlow", + "whileloopflow": "#/components/schemas/schemas-WhileloopFlow", + "branchone": "#/components/schemas/schemas-BranchOne", + "branchall": "#/components/schemas/schemas-BranchAll", + "identity": "#/components/schemas/schemas-Identity" } } }, - "StopAfterIf": { + "schemas-StopAfterIf": { "type": "object", "properties": { "skip_if_stopped": { @@ -26846,7 +29165,7 @@ "expr" ] }, - "Retry": { + "schemas-Retry": { "type": "object", "properties": { "constant": { @@ -26881,20 +29200,20 @@ } } }, - "FlowValue": { + "schemas-FlowValue": { "type": "object", "properties": { "modules": { "type": "array", "items": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" } }, "failure_module": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" }, "preprocessor_module": { - "$ref": "#/components/schemas/FlowModule" + "$ref": "#/components/schemas/schemas-FlowModule" }, "same_worker": { "type": "boolean" @@ -26925,28 +29244,7 @@ "modules" ] }, - "OpenFlow": { - "type": "object", - "properties": { - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "value": { - "$ref": "#/components/schemas/FlowValue" - }, - "schema": { - "type": "object" - } - }, - "required": [ - "summary", - "value" - ] - }, - "FlowStatusModule": { + "schemas-FlowStatusModule": { "type": "object", "properties": { "type": { @@ -27063,65 +29361,6 @@ "required": [ "type" ] - }, - "FlowStatus": { - "type": "object", - "properties": { - "step": { - "type": "integer" - }, - "modules": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FlowStatusModule" - } - }, - "user_states": { - "additionalProperties": true - }, - "preprocessor_module": { - "allOf": [ - { - "$ref": "#/components/schemas/FlowStatusModule" - } - ] - }, - "failure_module": { - "allOf": [ - { - "$ref": "#/components/schemas/FlowStatusModule" - }, - { - "type": "object", - "properties": { - "parent_module": { - "type": "string" - } - } - } - ] - }, - "retry": { - "type": "object", - "properties": { - "fail_count": { - "type": "integer" - }, - "failed_jobs": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - } - } - } - }, - "required": [ - "step", - "modules", - "failure_module" - ] } } } diff --git a/backend/windmill-api/openapi-deref.yaml b/backend/windmill-api/openapi-deref.yaml index 4c13a9c7f8..35f21c39c8 100644 --- a/backend/windmill-api/openapi-deref.yaml +++ b/backend/windmill-api/openapi-deref.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - version: 1.492.1 + version: 1.519.2 title: Windmill API contact: name: Windmill Team @@ -87,7 +87,7 @@ paths: - name: id in: path required: true - schema: &ref_34 + schema: &ref_41 type: integer responses: '200': @@ -203,6 +203,8 @@ paths: type: string parameters: type: object + span: + type: string required: &ref_2 - id - timestamp @@ -233,24 +235,24 @@ paths: - name: before description: filter on started before (inclusive) timestamp in: query - schema: &ref_183 + schema: &ref_200 type: string format: date-time - name: after description: filter on created after (exclusive) timestamp in: query - schema: &ref_184 + schema: &ref_201 type: string format: date-time - name: username description: filter on exact username of user in: query - schema: &ref_189 + schema: &ref_209 type: string - name: operation description: filter on exact or prefix name of operation in: query - schema: &ref_190 + schema: &ref_210 type: string - name: operations in: query @@ -265,12 +267,12 @@ paths: - name: resource description: filter on exact or prefix name of resource in: query - schema: &ref_191 + schema: &ref_211 type: string - name: action_kind description: filter on type of operation in: query - schema: &ref_192 + schema: &ref_212 type: string enum: - Create @@ -307,12 +309,12 @@ paths: application/json: schema: type: object - properties: &ref_210 + properties: &ref_249 email: type: string password: type: string - required: &ref_211 + required: &ref_250 - email - password responses: @@ -437,7 +439,7 @@ paths: application/json: schema: type: object - properties: &ref_212 + properties: &ref_251 is_admin: type: boolean operator: @@ -465,7 +467,7 @@ paths: - name: path in: path required: true - schema: &ref_26 + schema: &ref_31 type: string responses: '200': @@ -585,6 +587,9 @@ paths: type: string company: type: string + skip_email: + type: boolean + description: Skip sending email notifications to the user required: - email - password @@ -806,7 +811,7 @@ paths: summary: get connected repositories operationId: getGlobalConnectedRepositories tags: - - git_sync + - Git Sync responses: '200': description: connected repositories @@ -814,7 +819,7 @@ paths: application/json: schema: type: array - items: &ref_331 + items: &ref_374 type: object properties: workspace_id: @@ -895,7 +900,7 @@ paths: application/json: schema: type: object - properties: &ref_280 + properties: &ref_323 email: type: string workspaces: @@ -918,6 +923,7 @@ paths: - runs - schedules - resources + - assets - variables - triggers - audit_logs @@ -937,6 +943,9 @@ paths: variables: type: boolean description: Whether operators can view variables + assets: + type: boolean + description: Whether operators can view assets audit_logs: type: boolean description: Whether operators can view audit logs @@ -957,7 +966,7 @@ paths: - name - username - color - required: &ref_281 + required: &ref_324 - email - workspaces /workspaces/list_as_superadmin: @@ -999,7 +1008,7 @@ paths: application/json: schema: type: object - properties: &ref_282 + properties: &ref_325 id: type: string name: @@ -1008,7 +1017,7 @@ paths: type: string color: type: string - required: &ref_283 + required: &ref_326 - id - name responses: @@ -1070,6 +1079,50 @@ paths: text/plain: schema: type: boolean + /settings/databases_exist: + post: + summary: checks that all given databases exist or else return the ones that don't + operationId: databasesExist + tags: + - setting + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: databases that do not exist + content: + application/json: + schema: + type: array + items: + type: string + /settings/create_ducklake_database/{name}: + post: + summary: >- + Runs CREATE DATABASE on the Windmill Postgres and grants access to the + ducklake_user + operationId: createDucklakeDatabase + tags: + - setting + parameters: + - in: path + name: name + required: true + schema: + type: string + description: The name of the database to create + responses: + '200': + description: status + content: + application/json: + schema: {} /settings/global/{key}: get: summary: get global settings @@ -1244,7 +1297,7 @@ paths: type: array items: type: object - properties: &ref_29 + properties: &ref_34 id: type: integer description: Unique identifier for the alert @@ -1468,12 +1521,12 @@ paths: type: array items: type: object - properties: &ref_318 + properties: &ref_361 name: type: string value: type: object - required: &ref_319 + required: &ref_362 - name - value /users/email: @@ -2356,19 +2409,19 @@ paths: type: string ai_config: type: object - properties: &ref_20 + properties: &ref_21 providers: type: object additionalProperties: type: object - properties: &ref_197 + properties: &ref_236 resource_path: type: string models: type: array items: type: string - required: &ref_198 + required: &ref_237 - resource_path - models default_model: @@ -2378,7 +2431,7 @@ paths: type: string provider: type: string - enum: &ref_196 + enum: &ref_235 - openai - azure_openai - anthropic @@ -2400,12 +2453,12 @@ paths: type: string error_handler_extra_args: type: object - additionalProperties: &ref_21 {} + additionalProperties: &ref_22 {} error_handler_muted_on_cancel: type: boolean large_file_storage: type: object - properties: &ref_22 + properties: &ref_23 type: type: string enum: @@ -2413,10 +2466,13 @@ paths: - AzureBlobStorage - AzureWorkloadIdentity - S3AwsOidc + - GoogleCloudStorage s3_resource_path: type: string azure_blob_resource_path: type: string + gcs_resource_path: + type: string public_resource: type: boolean secondary_storage: @@ -2431,41 +2487,58 @@ paths: - AzureBlobStorage - AzureWorkloadIdentity - S3AwsOidc + - GoogleCloudStorage s3_resource_path: type: string azure_blob_resource_path: type: string + gcs_resource_path: + type: string public_resource: type: boolean + ducklake: + type: object + required: &ref_24 + - ducklakes + properties: &ref_25 + ducklakes: + type: object + additionalProperties: + type: object + required: + - catalog + - storage + properties: + catalog: + type: object + properties: + resource_type: + type: string + enum: + - postgresql + - mysql + - instance + resource_path: + type: string + required: + - resource_type + storage: + type: object + properties: + storage: + type: string + path: + type: string + required: + - path git_sync: type: object - properties: &ref_23 - 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 - - trigger + properties: &ref_26 repositories: type: array items: type: object - properties: &ref_302 + properties: &ref_27 script_path: type: string git_repo_resource_path: @@ -2474,29 +2547,53 @@ paths: type: boolean group_by_folder: type: boolean + collapsed: + type: boolean + settings: + type: object + properties: + include_path: + type: array + items: + type: string + include_type: + type: array + items: + type: string + enum: &ref_20 + - script + - flow + - app + - folder + - resource + - variable + - secret + - resourcetype + - schedule + - user + - group + - trigger + - settings + - key + exclude_path: + type: array + items: + type: string + extra_include_path: + type: array + items: + type: string exclude_types_override: type: array items: type: string - enum: - - script - - flow - - app - - folder - - resource - - variable - - secret - - resourcetype - - schedule - - user - - group - - trigger - required: &ref_303 + enum: *ref_20 + required: &ref_28 - script_path - git_repo_resource_path deploy_ui: type: object - properties: &ref_24 + properties: &ref_29 include_path: type: array items: @@ -2505,19 +2602,12 @@ paths: type: array items: type: string - enum: - - script - - flow - - app - - resource - - variable - - secret - - trigger + enum: *ref_20 default_app: type: string default_scripts: type: object - properties: &ref_25 + properties: &ref_30 order: type: array items: @@ -2975,7 +3065,7 @@ paths: application/json: schema: type: object - properties: *ref_20 + properties: *ref_21 responses: '200': description: status @@ -3001,7 +3091,7 @@ paths: application/json: schema: type: object - properties: *ref_20 + properties: *ref_21 /w/{workspace}/workspaces/edit_error_handler: post: summary: edit error handler @@ -3025,7 +3115,7 @@ paths: type: string error_handler_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 error_handler_muted_on_cancel: type: boolean responses: @@ -3056,7 +3146,58 @@ paths: properties: large_file_storage: type: object - properties: *ref_22 + properties: *ref_23 + responses: + '200': + description: status + content: + application/json: + schema: {} + /w/{workspace}/workspaces/list_ducklakes: + get: + summary: list ducklakes + operationId: listDucklakes + tags: + - workspace + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + responses: + '200': + description: status + content: + application/json: + schema: + type: array + items: + type: string + /w/{workspace}/workspaces/edit_ducklake_config: + post: + summary: edit ducklake settings + operationId: editDucklakeConfig + tags: + - workspace + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: Ducklake settings + required: true + content: + application/json: + schema: + type: object + required: + - settings + properties: + settings: + type: object + required: *ref_24 + properties: *ref_25 responses: '200': description: status @@ -3084,7 +3225,72 @@ paths: properties: git_sync_settings: type: object - properties: *ref_23 + properties: *ref_26 + responses: + '200': + description: status + content: + application/json: + schema: {} + /w/{workspace}/workspaces/edit_git_sync_repository: + post: + summary: add or update individual git sync repository + operationId: editGitSyncRepository + tags: + - workspace + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: Git sync repository settings to add or update + required: true + content: + application/json: + schema: + type: object + properties: + git_repo_resource_path: + type: string + description: The resource path of the git repository to update + repository: + type: object + properties: *ref_27 + required: *ref_28 + required: + - git_repo_resource_path + - repository + responses: + '200': + description: status + content: + application/json: + schema: {} + /w/{workspace}/workspaces/delete_git_sync_repository: + delete: + summary: delete individual git sync repository + operationId: deleteGitSyncRepository + tags: + - workspace + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: Git sync repository to delete + required: true + content: + application/json: + schema: + type: object + properties: + git_repo_resource_path: + type: string + description: The resource path of the git repository to delete + required: + - git_repo_resource_path responses: '200': description: status @@ -3112,7 +3318,7 @@ paths: properties: deploy_ui_settings: type: object - properties: *ref_24 + properties: *ref_29 responses: '200': description: status @@ -3164,7 +3370,7 @@ paths: application/json: schema: type: object - properties: *ref_25 + properties: *ref_30 responses: '200': description: status @@ -3189,7 +3395,7 @@ paths: application/json: schema: type: object - properties: *ref_25 + properties: *ref_30 /w/{workspace}/workspaces/set_environment_variable: post: summary: set environment variable @@ -3315,7 +3521,7 @@ paths: application/json: schema: type: object - properties: *ref_22 + properties: *ref_23 /w/{workspace}/workspaces/usage: get: summary: get usage @@ -3420,7 +3626,7 @@ paths: type: array items: type: object - properties: &ref_209 + properties: &ref_248 email: type: string executions: @@ -3468,6 +3674,48 @@ paths: text/plain: schema: type: string + /tokens/list/scopes: + get: + summary: list of available scopes + operationId: ListAvailableScopes + tags: + - token + responses: + '200': + description: list of available scopes + content: + application/json: + schema: + type: array + items: + type: object + properties: &ref_337 + name: + type: string + description: + type: string + nullable: true + scopes: + type: array + items: + type: object + properties: &ref_335 + value: + type: string + label: + type: string + description: + type: string + nullable: true + requires_resource_path: + type: boolean + required: &ref_336 + - value + - label + - requires_resource_path + required: &ref_338 + - name + - scopes /users/tokens/create: post: summary: create token @@ -3481,7 +3729,7 @@ paths: application/json: schema: type: object - properties: &ref_213 + properties: &ref_252 label: type: string expiration: @@ -3513,7 +3761,7 @@ paths: application/json: schema: type: object - properties: &ref_214 + properties: &ref_253 label: type: string expiration: @@ -3523,7 +3771,7 @@ paths: type: string workspace_id: type: string - required: &ref_215 + required: &ref_254 - impersonate_email responses: '201': @@ -3579,7 +3827,7 @@ paths: type: array items: type: object - properties: &ref_47 + properties: &ref_54 label: type: string expiration: @@ -3599,7 +3847,7 @@ paths: type: string email: type: string - required: &ref_48 + required: &ref_55 - token_prefix - created_at - last_used_at @@ -3648,7 +3896,7 @@ paths: application/json: schema: type: object - properties: &ref_218 + properties: &ref_257 path: type: string value: @@ -3664,7 +3912,7 @@ paths: expires_at: type: string format: date-time - required: &ref_219 + required: &ref_258 - path - value - is_secret @@ -3715,7 +3963,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: variable deleted @@ -3737,7 +3985,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: already_encrypted in: query schema: @@ -3749,7 +3997,7 @@ paths: application/json: schema: type: object - properties: &ref_220 + properties: &ref_259 path: type: string value: @@ -3779,7 +4027,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: decrypt_secret description: | ask to decrypt secret if this variable is secret @@ -3801,7 +4049,7 @@ paths: application/json: schema: type: object - properties: &ref_27 + properties: &ref_32 workspace_id: type: string path: @@ -3831,7 +4079,7 @@ paths: expires_at: type: string format: date-time - required: &ref_28 + required: &ref_33 - workspace_id - path - is_secret @@ -3850,7 +4098,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: variable @@ -3872,7 +4120,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: variable @@ -3912,8 +4160,8 @@ paths: type: array items: type: object - properties: *ref_27 - required: *ref_28 + properties: *ref_32 + required: *ref_33 /w/{workspace}/variables/list_contextual: get: summary: list contextual variables @@ -3934,7 +4182,7 @@ paths: type: array items: type: object - properties: &ref_216 + properties: &ref_255 name: type: string value: @@ -3943,11 +4191,31 @@ paths: type: string is_custom: type: boolean - required: &ref_217 + required: &ref_256 - name - value - description - is_custom + /w/{workspace}/workspaces/get_secondary_storage_names: + get: + summary: get secondary storage names + operationId: getSecondaryStorageNames + tags: + - setting + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + responses: + '200': + description: status + content: + application/json: + schema: + type: array + items: + type: string /w/{workspace}/workspaces/critical_alerts: get: summary: Get all critical alerts for this workspace @@ -3992,7 +4260,7 @@ paths: type: array items: type: object - properties: *ref_29 + properties: *ref_34 total_rows: type: integer description: Total number of rows matching the query. @@ -4089,7 +4357,7 @@ paths: - name: client_name in: path required: true - schema: &ref_30 + schema: &ref_35 type: string requestBody: description: Partially filled script @@ -4190,7 +4458,7 @@ paths: - name: client_name in: path required: true - schema: *ref_30 + schema: *ref_35 requestBody: description: code endpoint required: true @@ -4213,7 +4481,7 @@ paths: application/json: schema: type: object - properties: &ref_295 + properties: &ref_36 access_token: type: string expires_in: @@ -4224,7 +4492,9 @@ paths: type: array items: type: string - required: &ref_296 + grant_type: + type: string + required: &ref_37 - access_token /w/{workspace}/oauth/create_account: post: @@ -4251,6 +4521,24 @@ paths: type: integer client: type: string + grant_type: + type: string + default: authorization_code + cc_client_id: + type: string + description: >- + OAuth client ID for resource-level credentials + (client_credentials flow only) + cc_client_secret: + type: string + description: >- + OAuth client secret for resource-level credentials + (client_credentials flow only) + cc_token_url: + type: string + description: >- + OAuth token URL override for resource-level authentication + (client_credentials flow only) required: - expires_in - client @@ -4261,6 +4549,52 @@ paths: text/plain: schema: type: string + /oauth/connect_client_credentials/{client}: + post: + summary: connect OAuth using client credentials + operationId: connectClientCredentials + tags: + - oauth + parameters: + - name: client + in: path + description: OAuth client name + required: true + schema: + type: string + requestBody: + description: client credentials flow parameters + required: true + content: + application/json: + schema: + type: object + properties: + scopes: + type: array + items: + type: string + cc_client_id: + type: string + description: OAuth client ID for resource-level authentication + cc_client_secret: + type: string + description: OAuth client secret for resource-level authentication + cc_token_url: + type: string + description: OAuth token URL override for resource-level authentication + required: + - cc_client_id + - cc_client_secret + responses: + '200': + description: OAuth token response + content: + application/json: + schema: + type: object + properties: *ref_36 + required: *ref_37 /w/{workspace}/oauth/refresh_token/{id}: post: summary: refresh token @@ -4275,7 +4609,7 @@ paths: - name: id in: path required: true - schema: &ref_31 + schema: &ref_38 type: integer requestBody: description: variable path @@ -4310,7 +4644,7 @@ paths: - name: id in: path required: true - schema: *ref_31 + schema: *ref_38 responses: '200': description: disconnected client @@ -4425,6 +4759,10 @@ paths: type: array items: type: string + grant_types: + type: array + items: + type: string /teams/sync: post: operationId: syncTeams @@ -4440,11 +4778,11 @@ paths: type: array items: type: object - required: &ref_327 + required: &ref_370 - team_id - team_name - channels - properties: &ref_328 + properties: &ref_371 team_id: type: string description: The unique identifier of the Microsoft Teams team @@ -4458,12 +4796,12 @@ paths: description: List of channels within the team items: type: object - required: &ref_329 + required: &ref_372 - channel_id - channel_name - tenant_id - service_url - properties: &ref_330 + properties: &ref_373 channel_id: type: string description: The unique identifier of the channel @@ -4536,7 +4874,7 @@ paths: application/json: schema: type: object - properties: &ref_227 + properties: &ref_264 path: type: string value: {} @@ -4544,7 +4882,7 @@ paths: type: string resource_type: type: string - required: &ref_228 + required: &ref_265 - path - value - resource_type @@ -4569,7 +4907,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: resource deleted @@ -4591,7 +4929,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated resource required: true @@ -4599,7 +4937,7 @@ paths: application/json: schema: type: object - properties: &ref_229 + properties: &ref_266 path: type: string description: @@ -4626,7 +4964,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated resource required: true @@ -4657,7 +4995,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: resource @@ -4665,7 +5003,7 @@ paths: application/json: schema: type: object - properties: &ref_230 + properties: &ref_267 workspace_id: type: string path: @@ -4686,7 +5024,7 @@ paths: edited_at: type: string format: date-time - required: &ref_231 + required: &ref_268 - path - resource_type - is_oauth @@ -4704,7 +5042,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: job_id description: job id in: query @@ -4731,7 +5069,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: resource value @@ -4752,7 +5090,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: does resource exists @@ -4802,7 +5140,7 @@ paths: type: array items: type: object - properties: &ref_232 + properties: &ref_269 workspace_id: type: string path: @@ -4833,7 +5171,7 @@ paths: edited_at: type: string format: date-time - required: &ref_233 + required: &ref_270 - path - resource_type - is_oauth @@ -4880,7 +5218,7 @@ paths: - name: name in: path required: true - schema: &ref_163 + schema: &ref_180 type: string responses: '200': @@ -4917,7 +5255,7 @@ paths: application/json: schema: type: object - properties: &ref_32 + properties: &ref_39 workspace_id: type: string name: @@ -4932,7 +5270,7 @@ paths: format: date-time format_extension: type: string - required: &ref_33 + required: &ref_40 - name responses: '201': @@ -4972,7 +5310,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: resource_type deleted @@ -4994,7 +5332,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated resource_type required: true @@ -5002,7 +5340,7 @@ paths: application/json: schema: type: object - properties: &ref_234 + properties: &ref_271 schema: {} description: type: string @@ -5027,7 +5365,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: resource_type deleted @@ -5035,8 +5373,8 @@ paths: application/json: schema: type: object - properties: *ref_32 - required: *ref_33 + properties: *ref_39 + required: *ref_40 /w/{workspace}/resources/type/exists/{path}: get: summary: does resource_type exists @@ -5051,7 +5389,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: does resource_type exist @@ -5079,8 +5417,8 @@ paths: type: array items: type: object - properties: *ref_32 - required: *ref_33 + properties: *ref_39 + required: *ref_40 /w/{workspace}/resources/type/listnames: get: summary: list resource_types names @@ -5219,7 +5557,7 @@ paths: - name: id in: path required: true - schema: *ref_34 + schema: *ref_41 responses: '200': description: flow @@ -5230,55 +5568,57 @@ paths: properties: flow: type: object - properties: &ref_61 + properties: &ref_68 summary: type: string description: type: string value: type: object - properties: &ref_78 + properties: &ref_375 modules: type: array items: type: object - properties: &ref_37 + properties: &ref_44 id: type: string value: - oneOf: &ref_352 + oneOf: &ref_216 - type: object - properties: &ref_336 + properties: &ref_219 input_transforms: type: object additionalProperties: - oneOf: &ref_35 + oneOf: &ref_42 - type: object - properties: &ref_332 + properties: &ref_84 value: {} type: type: string enum: - - javascript - required: &ref_333 - - expr + - static + required: &ref_85 + - value - type - type: object - properties: &ref_334 + properties: &ref_86 expr: type: string type: type: string enum: - javascript - required: &ref_335 + required: &ref_87 - expr - type - discriminator: &ref_36 + discriminator: &ref_43 propertyName: type mapping: - static: '#/components/schemas/StaticTransform' - javascript: '#/components/schemas/JavascriptTransform' + static: >- + #/components/schemas/schemas-StaticTransform + javascript: >- + #/components/schemas/schemas-JavascriptTransform content: type: string language: @@ -5317,18 +5657,46 @@ paths: type: string is_trigger: type: boolean - required: &ref_337 + assets: + type: array + items: + type: object + required: + - path + - kind + properties: + path: + type: string + kind: + type: string + enum: + - s3object + - resource + - ducklake + access_type: + type: string + enum: + - r + - w + - rw + alt_access_type: + type: string + enum: + - r + - w + - rw + required: &ref_220 - type - content - language - input_transforms - type: object - properties: &ref_338 + properties: &ref_221 input_transforms: type: object additionalProperties: - oneOf: *ref_35 - discriminator: *ref_36 + oneOf: *ref_42 + discriminator: *ref_43 path: type: string hash: @@ -5341,40 +5709,40 @@ paths: type: string is_trigger: type: boolean - required: &ref_339 + required: &ref_222 - type - path - input_transforms - type: object - properties: &ref_340 + properties: &ref_223 input_transforms: type: object additionalProperties: - oneOf: *ref_35 - discriminator: *ref_36 + oneOf: *ref_42 + discriminator: *ref_43 path: type: string type: type: string enum: - flow - required: &ref_341 + required: &ref_224 - type - path - input_transforms - type: object - properties: &ref_342 + properties: &ref_225 modules: type: array items: type: object - properties: *ref_37 - required: &ref_38 + properties: *ref_44 + required: &ref_45 - value - id iterator: - oneOf: *ref_35 - discriminator: *ref_36 + oneOf: *ref_42 + discriminator: *ref_43 skip_failures: type: boolean type: @@ -5385,35 +5753,35 @@ paths: type: boolean parallelism: type: integer - required: &ref_343 + required: &ref_226 - modules - iterator - skip_failures - type - type: object - properties: &ref_344 + properties: &ref_227 modules: type: array items: type: object - properties: *ref_37 - required: *ref_38 + properties: *ref_44 + required: *ref_45 skip_failures: type: boolean type: type: string enum: - - forloopflow + - whileloopflow parallel: type: boolean parallelism: type: integer - required: &ref_345 + required: &ref_228 - modules - skip_failures - type - type: object - properties: &ref_346 + properties: &ref_229 branches: type: array items: @@ -5427,8 +5795,8 @@ paths: type: array items: type: object - properties: *ref_37 - required: *ref_38 + properties: *ref_44 + required: *ref_45 required: - modules - expr @@ -5436,20 +5804,20 @@ paths: type: array items: type: object - properties: *ref_37 - required: *ref_38 + properties: *ref_44 + required: *ref_45 required: - modules type: type: string enum: - branchone - required: &ref_347 + required: &ref_230 - branches - default - type - type: object - properties: &ref_348 + properties: &ref_231 branches: type: array items: @@ -5463,56 +5831,56 @@ paths: type: array items: type: object - properties: *ref_37 - required: *ref_38 + properties: *ref_44 + required: *ref_45 required: - modules - - expr type: type: string enum: - branchall parallel: type: boolean - required: &ref_349 + required: &ref_232 - branches - type - type: object - properties: &ref_350 + properties: &ref_233 type: type: string enum: - identity flow: type: boolean - required: &ref_351 + required: &ref_234 - type - discriminator: &ref_353 + discriminator: &ref_217 propertyName: type mapping: - rawscript: '#/components/schemas/RawScript' - script: '#/components/schemas/PathScript' - flow: '#/components/schemas/PathFlow' - forloopflow: '#/components/schemas/ForloopFlow' - whileloopflow: '#/components/schemas/WhileloopFlow' - branchone: '#/components/schemas/BranchOne' - branchall: '#/components/schemas/BranchAll' - identity: '#/components/schemas/Identity' + rawscript: '#/components/schemas/schemas-RawScript' + script: '#/components/schemas/schemas-PathScript' + flow: '#/components/schemas/schemas-PathFlow' + forloopflow: '#/components/schemas/schemas-ForloopFlow' + whileloopflow: >- + #/components/schemas/schemas-WhileloopFlow + branchone: '#/components/schemas/schemas-BranchOne' + branchall: '#/components/schemas/schemas-BranchAll' + identity: '#/components/schemas/schemas-Identity' stop_after_if: type: object - properties: &ref_39 + properties: &ref_46 skip_if_stopped: type: boolean expr: type: string error_message: type: string - required: &ref_40 + required: &ref_47 - expr stop_after_all_iters_if: type: object - properties: *ref_39 - required: *ref_40 + properties: *ref_46 + required: *ref_47 skip_if: type: object properties: @@ -5521,8 +5889,8 @@ paths: required: - expr sleep: - oneOf: *ref_35 - discriminator: *ref_36 + oneOf: *ref_42 + discriminator: *ref_43 cache_ttl: type: number timeout: @@ -5552,8 +5920,8 @@ paths: user_auth_required: type: boolean user_groups_required: - oneOf: *ref_35 - discriminator: *ref_36 + oneOf: *ref_42 + discriminator: *ref_43 self_approval_disabled: type: boolean hide_cancel: @@ -5566,7 +5934,7 @@ paths: type: boolean retry: type: object - properties: &ref_114 + properties: &ref_218 constant: type: object properties: @@ -5587,15 +5955,15 @@ paths: type: integer minimum: 0 maximum: 100 - required: *ref_38 + required: *ref_45 failure_module: type: object - properties: *ref_37 - required: *ref_38 + properties: *ref_44 + required: *ref_45 preprocessor_module: type: object - properties: *ref_37 - required: *ref_38 + properties: *ref_44 + required: *ref_45 same_worker: type: boolean concurrent_limit: @@ -5612,11 +5980,11 @@ paths: type: number early_return: type: string - required: &ref_79 + required: &ref_376 - modules schema: type: object - required: &ref_62 + required: &ref_69 - summary - value /apps/hub/list: @@ -5669,7 +6037,7 @@ paths: - name: id in: path required: true - schema: *ref_34 + schema: *ref_41 responses: '200': description: app @@ -5699,7 +6067,7 @@ paths: - name: custom_path in: path required: true - schema: &ref_74 + schema: &ref_81 type: string responses: '200': @@ -5709,7 +6077,7 @@ paths: schema: allOf: - type: object - properties: &ref_69 + properties: &ref_76 id: type: integer workspace_id: @@ -5731,7 +6099,7 @@ paths: type: object policy: type: object - properties: &ref_68 + properties: &ref_75 triggerables: type: object additionalProperties: @@ -5775,7 +6143,7 @@ paths: type: boolean custom_path: type: string - required: &ref_70 + required: &ref_77 - id - workspace_id - path @@ -5801,7 +6169,7 @@ paths: - name: path in: path required: true - schema: &ref_41 + schema: &ref_48 type: string responses: '200': @@ -5820,7 +6188,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script details @@ -5891,7 +6259,7 @@ paths: type: number kind: type: string - enum: &ref_42 + enum: &ref_49 - script - failure - trigger @@ -5962,7 +6330,7 @@ paths: type: string kind: type: string - enum: *ref_42 + enum: *ref_49 score: type: number required: @@ -6023,12 +6391,12 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: &ref_59 + schema: &ref_66 type: boolean - name: created_by description: mask to filter exact matching user creator in: query - schema: &ref_60 + schema: &ref_67 type: string - name: path_start description: mask to filter matching starting path @@ -6132,6 +6500,13 @@ paths: in: query schema: type: boolean + - name: languages + in: query + description: | + Filter to only include scripts written in the given languages. + Accepts multiple values as a comma-separated list. + schema: + type: string responses: '200': description: All scripts @@ -6141,7 +6516,7 @@ paths: type: array items: type: object - properties: &ref_44 + properties: &ref_51 workspace_id: type: string hash: @@ -6184,7 +6559,7 @@ paths: type: string language: type: string - enum: &ref_43 + enum: &ref_50 - python3 - deno - go @@ -6205,6 +6580,7 @@ paths: - csharp - nu - java + - duckdb kind: type: string enum: @@ -6256,7 +6632,7 @@ paths: type: boolean on_behalf_of_email: type: string - required: &ref_45 + required: &ref_52 - hash - path - summary @@ -6354,7 +6730,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: draft deleted @@ -6380,7 +6756,7 @@ paths: application/json: schema: type: object - properties: &ref_49 + properties: &ref_56 path: type: string parent_hash: @@ -6399,7 +6775,7 @@ paths: type: string language: type: string - enum: *ref_43 + enum: *ref_50 kind: type: string enum: @@ -6449,7 +6825,35 @@ paths: type: boolean on_behalf_of_email: type: string - required: &ref_50 + assets: + type: array + items: + type: object + required: + - path + - kind + properties: + path: + type: string + kind: + type: string + enum: &ref_202 + - s3object + - resource + - ducklake + access_type: + type: string + enum: + - r + - w + - rw + alt_access_type: + type: string + enum: + - r + - w + - rw + required: &ref_57 - path - summary - description @@ -6476,7 +6880,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: Workspace error handler enabled required: true @@ -6564,7 +6968,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script archived @@ -6586,7 +6990,7 @@ paths: - name: hash in: path required: true - schema: &ref_46 + schema: &ref_53 type: string responses: '200': @@ -6595,8 +6999,8 @@ paths: application/json: schema: type: object - properties: *ref_44 - required: *ref_45 + properties: *ref_51 + required: *ref_52 /w/{workspace}/scripts/delete/h/{hash}: post: summary: delete script by hash (erase content but keep hash, require admin) @@ -6611,7 +7015,7 @@ paths: - name: hash in: path required: true - schema: *ref_46 + schema: *ref_53 responses: '200': description: script details @@ -6619,8 +7023,8 @@ paths: application/json: schema: type: object - properties: *ref_44 - required: *ref_45 + properties: *ref_51 + required: *ref_52 /w/{workspace}/scripts/delete/p/{path}: post: summary: delete script at a given path (require admin) @@ -6635,7 +7039,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: keep_captures description: keep captures in: query @@ -6662,7 +7066,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: with_starred_info in: query schema: @@ -6674,8 +7078,8 @@ paths: application/json: schema: type: object - properties: *ref_44 - required: *ref_45 + properties: *ref_51 + required: *ref_52 /w/{workspace}/scripts/get_triggers_count/{path}: get: summary: get triggers count of script @@ -6690,7 +7094,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: triggers count @@ -6698,7 +7102,7 @@ paths: application/json: schema: type: object - properties: &ref_66 + properties: &ref_73 primary_schedule: type: object properties: @@ -6740,7 +7144,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: tokens list @@ -6750,8 +7154,8 @@ paths: type: array items: type: object - properties: *ref_47 - required: *ref_48 + properties: *ref_54 + required: *ref_55 /w/{workspace}/scripts/get/draft/{path}: get: summary: get script by path with draft @@ -6766,23 +7170,23 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script details content: application/json: schema: - allOf: &ref_202 + allOf: &ref_241 - type: object - properties: *ref_49 - required: *ref_50 + properties: *ref_56 + required: *ref_57 - type: object properties: draft: type: object - properties: *ref_49 - required: *ref_50 + properties: *ref_56 + required: *ref_57 hash: type: string required: @@ -6801,7 +7205,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script history @@ -6811,12 +7215,12 @@ paths: type: array items: type: object - properties: &ref_51 + properties: &ref_58 script_hash: type: string deployment_msg: type: string - required: &ref_52 + required: &ref_59 - script_hash /w/{workspace}/scripts/list_paths_from_workspace_runnable/{path}: get: @@ -6832,7 +7236,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: list of script paths @@ -6854,7 +7258,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 tags: - script responses: @@ -6864,8 +7268,8 @@ paths: application/json: schema: type: object - properties: *ref_51 - required: *ref_52 + properties: *ref_58 + required: *ref_59 /w/{workspace}/scripts/history_update/h/{hash}/p/{path}: post: summary: update history of a script @@ -6880,11 +7284,11 @@ paths: - name: hash in: path required: true - schema: *ref_46 + schema: *ref_53 - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: Script deployment message required: true @@ -6916,7 +7320,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script content @@ -6940,12 +7344,12 @@ paths: - name: token in: path required: true - schema: &ref_187 + schema: &ref_207 type: string - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script content @@ -6967,7 +7371,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: does it exists @@ -6989,11 +7393,15 @@ paths: - name: hash in: path required: true - schema: *ref_46 + schema: *ref_53 - name: with_starred_info in: query schema: type: boolean + - name: authed + in: query + schema: + type: boolean responses: '200': description: script details @@ -7001,8 +7409,8 @@ paths: application/json: schema: type: object - properties: *ref_44 - required: *ref_45 + properties: *ref_51 + required: *ref_52 /w/{workspace}/scripts/raw/h/{path}: get: summary: raw script by hash @@ -7017,7 +7425,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: script content @@ -7039,7 +7447,7 @@ paths: - name: hash in: path required: true - schema: *ref_46 + schema: *ref_53 responses: '200': description: script details @@ -7128,7 +7536,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: scheduled_for description: when to schedule this job (leave empty for immediate run) in: query @@ -7150,20 +7558,20 @@ paths: The parent job that is at the origin and responsible for the execution of this script if any in: query - schema: &ref_53 + schema: &ref_60 type: string format: uuid - name: tag description: Override the tag to use in: query - schema: &ref_55 + schema: &ref_62 type: string - 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: &ref_56 + schema: &ref_63 type: string - name: job_id description: >- @@ -7172,7 +7580,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: &ref_54 + schema: &ref_61 type: string format: uuid - name: invisible_to_owner @@ -7187,7 +7595,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '201': description: job created @@ -7210,13 +7618,13 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - 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: *ref_53 + schema: *ref_60 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -7224,7 +7632,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -7233,14 +7641,14 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: &ref_57 + schema: &ref_64 type: string - 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: &ref_58 + schema: &ref_65 type: string requestBody: description: script args @@ -7249,7 +7657,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '200': description: job result @@ -7270,23 +7678,23 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - 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: *ref_53 + schema: *ref_60 - name: tag description: Override the tag to use in: query - schema: *ref_55 + schema: *ref_62 - 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: *ref_56 + schema: *ref_63 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -7294,7 +7702,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -7303,13 +7711,13 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - 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: *ref_58 + schema: *ref_65 requestBody: description: script args required: true @@ -7317,7 +7725,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '200': description: job result @@ -7337,23 +7745,23 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - 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: *ref_53 + schema: *ref_60 - name: tag description: Override the tag to use in: query - schema: *ref_55 + schema: *ref_62 - 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: *ref_56 + schema: *ref_63 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -7361,7 +7769,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -7370,13 +7778,13 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - 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: *ref_58 + schema: *ref_65 - name: payload description: > The base64 encoded payload that has been encoded as a JSON. e.g how @@ -7384,7 +7792,7 @@ paths: `encodeURIComponent(btoa(JSON.stringify({a: 2})))` in: query - schema: &ref_113 + schema: &ref_126 type: string responses: '200': @@ -7406,7 +7814,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -7415,13 +7823,13 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - 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: *ref_58 + schema: *ref_65 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -7429,7 +7837,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 requestBody: description: script args required: true @@ -7437,7 +7845,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '200': description: job result @@ -7458,7 +7866,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -7467,13 +7875,13 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - 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: *ref_58 + schema: *ref_65 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -7481,7 +7889,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 requestBody: description: script args required: true @@ -7489,7 +7897,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '200': description: job result @@ -7592,11 +8000,11 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - name: path_start description: mask to filter matching starting path in: query @@ -7650,12 +8058,12 @@ paths: type: array items: allOf: - - allOf: &ref_65 + - allOf: &ref_72 - type: object - properties: *ref_61 - required: *ref_62 + properties: *ref_68 + required: *ref_69 - type: object - properties: &ref_285 + properties: &ref_328 workspace_id: type: string path: @@ -7669,7 +8077,7 @@ paths: type: boolean extra_perms: type: object - additionalProperties: &ref_284 + additionalProperties: &ref_327 type: boolean starred: type: boolean @@ -7689,7 +8097,7 @@ paths: type: boolean on_behalf_of_email: type: string - required: &ref_286 + required: &ref_329 - path - edited_by - edited_at @@ -7717,7 +8125,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 tags: - flow responses: @@ -7729,7 +8137,7 @@ paths: type: array items: type: object - properties: &ref_63 + properties: &ref_70 id: type: integer created_at: @@ -7737,7 +8145,7 @@ paths: format: date-time deployment_msg: type: string - required: &ref_64 + required: &ref_71 - id - created_at /w/{workspace}/flows/get_latest_version/{path}: @@ -7752,7 +8160,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 tags: - flow responses: @@ -7762,8 +8170,8 @@ paths: application/json: schema: type: object - properties: *ref_63 - required: *ref_64 + properties: *ref_70 + required: *ref_71 /w/{workspace}/flows/list_paths_from_workspace_runnable/{runnable_kind}/{path}: get: summary: list flow paths from workspace runnable @@ -7778,7 +8186,7 @@ paths: - name: runnable_kind in: path required: true - schema: &ref_73 + schema: &ref_80 type: string enum: - script @@ -7786,7 +8194,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: list of flow paths @@ -7813,7 +8221,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 tags: - flow responses: @@ -7822,7 +8230,7 @@ paths: content: application/json: schema: - allOf: *ref_65 + allOf: *ref_72 /w/{workspace}/flows/history_update/v/{version}/p/{path}: post: summary: update flow history @@ -7840,7 +8248,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: Flow deployment message required: true @@ -7876,7 +8284,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: with_starred_info in: query schema: @@ -7887,7 +8295,7 @@ paths: content: application/json: schema: - allOf: *ref_65 + allOf: *ref_72 /w/{workspace}/flows/deployment_status/p/{path}: get: summary: get flow deployment status @@ -7902,7 +8310,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: flow status @@ -7927,7 +8335,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: triggers count @@ -7935,7 +8343,7 @@ paths: application/json: schema: type: object - properties: *ref_66 + properties: *ref_73 /w/{workspace}/flows/list_tokens/{path}: get: summary: get tokens with flow scope @@ -7950,7 +8358,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: tokens list @@ -7960,8 +8368,8 @@ paths: type: array items: type: object - properties: *ref_47 - required: *ref_48 + properties: *ref_54 + required: *ref_55 /w/{workspace}/flows/toggle_workspace_error_handler/{path}: post: summary: Toggle ON and OFF the workspace error handler for a given flow @@ -7976,7 +8384,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: Workspace error handler enabled required: true @@ -8008,7 +8416,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: flow details with draft @@ -8016,11 +8424,11 @@ paths: application/json: schema: allOf: - - allOf: *ref_65 + - allOf: *ref_72 - type: object properties: draft: - allOf: *ref_65 + allOf: *ref_72 /w/{workspace}/flows/exists/{path}: get: summary: exists flow by path @@ -8035,7 +8443,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: flow details @@ -8061,10 +8469,10 @@ paths: application/json: schema: allOf: - - allOf: &ref_67 + - allOf: &ref_74 - type: object - properties: *ref_61 - required: *ref_62 + properties: *ref_68 + required: *ref_69 - type: object properties: path: @@ -8112,7 +8520,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: Partially filled flow required: true @@ -8120,7 +8528,7 @@ paths: application/json: schema: allOf: - - allOf: *ref_67 + - allOf: *ref_74 - type: object properties: deployment_message: @@ -8146,7 +8554,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: archiveFlow required: true @@ -8178,7 +8586,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: keep_captures description: keep captures in: query @@ -8213,11 +8621,11 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - name: path_start description: mask to filter matching starting path in: query @@ -8244,7 +8652,7 @@ paths: type: array items: type: object - properties: &ref_292 + properties: &ref_339 workspace_id: type: string path: @@ -8262,7 +8670,7 @@ paths: edited_at: type: string format: date-time - required: &ref_293 + required: &ref_340 - workspace_id - path - summary @@ -8283,7 +8691,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: app exists @@ -8305,12 +8713,12 @@ paths: - name: version in: path required: true - schema: &ref_186 + schema: &ref_206 type: number - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: app details @@ -8367,11 +8775,11 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - name: path_start description: mask to filter matching starting path in: query @@ -8412,7 +8820,7 @@ paths: type: array items: type: object - properties: &ref_290 + properties: &ref_333 id: type: integer workspace_id: @@ -8440,7 +8848,7 @@ paths: - anonymous raw_app: type: boolean - required: &ref_291 + required: &ref_334 - id - workspace_id - path @@ -8475,7 +8883,7 @@ paths: type: string policy: type: object - properties: *ref_68 + properties: *ref_75 draft_only: type: boolean deployment_message: @@ -8523,7 +8931,7 @@ paths: type: string policy: type: object - properties: *ref_68 + properties: *ref_75 draft_only: type: boolean deployment_message: @@ -8560,7 +8968,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: app exists @@ -8582,7 +8990,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: with_starred_info in: query schema: @@ -8594,8 +9002,8 @@ paths: application/json: schema: type: object - properties: *ref_69 - required: *ref_70 + properties: *ref_76 + required: *ref_77 /w/{workspace}/apps/get/lite/{path}: get: summary: get app lite by path @@ -8610,7 +9018,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: app lite details @@ -8618,8 +9026,8 @@ paths: application/json: schema: type: object - properties: *ref_69 - required: *ref_70 + properties: *ref_76 + required: *ref_77 /w/{workspace}/apps/get/draft/{path}: get: summary: get app by path with draft @@ -8634,17 +9042,17 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: app details with draft content: application/json: schema: - allOf: &ref_294 + allOf: &ref_341 - type: object - properties: *ref_69 - required: *ref_70 + properties: *ref_76 + required: *ref_77 - type: object properties: draft_only: @@ -8664,7 +9072,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: app history @@ -8674,12 +9082,12 @@ paths: type: array items: type: object - properties: &ref_71 + properties: &ref_78 version: type: integer deployment_msg: type: string - required: &ref_72 + required: &ref_79 - version /w/{workspace}/apps/get_latest_version/{path}: get: @@ -8693,7 +9101,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 tags: - app responses: @@ -8703,8 +9111,8 @@ paths: application/json: schema: type: object - properties: *ref_71 - required: *ref_72 + properties: *ref_78 + required: *ref_79 /w/{workspace}/apps/list_paths_from_workspace_runnable/{runnable_kind}/{path}: get: summary: list app paths from workspace runnable @@ -8719,11 +9127,11 @@ paths: - name: runnable_kind in: path required: true - schema: *ref_73 + schema: *ref_80 - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 responses: '200': description: list of app paths @@ -8747,11 +9155,11 @@ paths: - name: id in: path required: true - schema: *ref_34 + schema: *ref_41 - name: version in: path required: true - schema: &ref_188 + schema: &ref_208 type: integer requestBody: description: App deployment message @@ -8784,7 +9192,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: app details @@ -8792,8 +9200,8 @@ paths: application/json: schema: type: object - properties: *ref_69 - required: *ref_70 + properties: *ref_76 + required: *ref_77 /w/{workspace}/apps_u/public_resource/{path}: get: summary: get public resource @@ -8808,7 +9216,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: resource value @@ -8829,7 +9237,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: app secret @@ -8851,7 +9259,7 @@ paths: - name: id in: path required: true - schema: *ref_34 + schema: *ref_41 responses: '200': description: app details @@ -8859,8 +9267,8 @@ paths: application/json: schema: type: object - properties: *ref_69 - required: *ref_70 + properties: *ref_76 + required: *ref_77 /w/{workspace}/raw_apps/create: post: summary: create raw app @@ -8911,7 +9319,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: updateraw app required: true @@ -8947,7 +9355,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: app deleted @@ -8969,7 +9377,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: app deleted @@ -8991,7 +9399,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: update app required: true @@ -9007,7 +9415,7 @@ paths: value: {} policy: type: object - properties: *ref_68 + properties: *ref_75 deployment_message: type: string custom_path: @@ -9033,7 +9441,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: update app required: true @@ -9052,7 +9460,7 @@ paths: value: {} policy: type: object - properties: *ref_68 + properties: *ref_75 deployment_message: type: string custom_path: @@ -9082,7 +9490,7 @@ paths: - name: custom_path in: path required: true - schema: *ref_74 + schema: *ref_81 responses: '200': description: custom path exists @@ -9113,7 +9521,7 @@ paths: type: array items: type: object - properties: &ref_75 + properties: &ref_82 s3: type: string filename: @@ -9122,7 +9530,7 @@ paths: type: string presigned: type: string - required: &ref_76 + required: &ref_83 - s3 required: - s3_objects @@ -9135,8 +9543,8 @@ paths: type: array items: type: object - properties: *ref_75 - required: *ref_76 + properties: *ref_82 + required: *ref_83 /w/{workspace}/apps_u/execute_component/{path}: post: summary: executeComponent @@ -9151,7 +9559,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 requestBody: description: update app required: true @@ -9217,7 +9625,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: file_key in: query required: false @@ -9310,7 +9718,7 @@ paths: - name: path in: path required: true - schema: *ref_41 + schema: *ref_48 - name: scheduled_for description: when to schedule this job (leave empty for immediate run) in: query @@ -9332,11 +9740,11 @@ paths: The parent job that is at the origin and responsible for the execution of this script if any in: query - schema: *ref_53 + schema: *ref_60 - name: tag description: Override the tag to use in: query - schema: *ref_55 + schema: *ref_62 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -9344,7 +9752,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -9353,7 +9761,7 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - name: invisible_to_owner description: make the run invisible to the the flow owner (default false) in: query @@ -9366,7 +9774,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '201': description: job created @@ -9410,9 +9818,18 @@ paths: input_transforms: type: object additionalProperties: - allOf: &ref_77 - - oneOf: *ref_35 - discriminator: *ref_36 + oneOf: &ref_88 + - type: object + properties: *ref_84 + required: *ref_85 + - type: object + properties: *ref_86 + required: *ref_87 + discriminator: &ref_89 + propertyName: type + mapping: + static: '#/components/schemas/schemas-StaticTransform' + javascript: '#/components/schemas/schemas-JavascriptTransform' use_latest_version: type: boolean flow_options_by_path: @@ -9423,7 +9840,8 @@ paths: input_transforms: type: object additionalProperties: - allOf: *ref_77 + oneOf: *ref_88 + discriminator: *ref_89 use_latest_version: type: boolean responses: @@ -9449,7 +9867,7 @@ paths: - name: id in: path required: true - schema: &ref_110 + schema: &ref_123 type: string format: uuid - name: step_id @@ -9482,11 +9900,11 @@ paths: The parent job that is at the origin and responsible for the execution of this script if any in: query - schema: *ref_53 + schema: *ref_60 - name: tag description: Override the tag to use in: query - schema: *ref_55 + schema: *ref_62 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -9494,7 +9912,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -9503,7 +9921,7 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - name: invisible_to_owner description: make the run invisible to the the flow owner (default false) in: query @@ -9516,7 +9934,7 @@ paths: application/json: schema: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 responses: '201': description: job created @@ -9539,7 +9957,7 @@ paths: - name: hash in: path required: true - schema: *ref_46 + schema: *ref_53 - name: scheduled_for description: when to schedule this job (leave empty for immediate run) in: query @@ -9561,17 +9979,17 @@ paths: The parent job that is at the origin and responsible for the execution of this script if any in: query - schema: *ref_53 + schema: *ref_60 - name: tag description: Override the tag to use in: query - schema: *ref_55 + schema: *ref_62 - 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: *ref_56 + schema: *ref_63 - name: job_id description: >- The job id to assign to the created job. if missing, job is chosen @@ -9579,7 +9997,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 - name: include_header description: > List of headers's keys (separated with ',') whove value are added to @@ -9588,7 +10006,7 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - name: invisible_to_owner description: make the run invisible to the the script owner (default false) in: query @@ -9628,7 +10046,7 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - name: invisible_to_owner description: make the run invisible to the the script owner (default false) in: query @@ -9641,7 +10059,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 requestBody: description: preview required: true @@ -9649,7 +10067,7 @@ paths: application/json: schema: type: object - properties: &ref_221 + properties: &ref_260 content: type: string path: @@ -9658,10 +10076,10 @@ paths: type: string args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 language: type: string - enum: *ref_43 + enum: *ref_50 tag: type: string kind: @@ -9674,7 +10092,7 @@ paths: type: boolean lock: type: string - required: &ref_222 + required: &ref_261 - args responses: '201': @@ -9712,11 +10130,11 @@ paths: application/json: schema: type: object - properties: &ref_223 + properties: &ref_262 args: type: object - additionalProperties: *ref_21 - required: &ref_224 + additionalProperties: *ref_22 + required: &ref_263 - args responses: '201': @@ -9749,15 +10167,15 @@ paths: type: array items: type: object - properties: &ref_312 + properties: &ref_355 raw_code: type: string path: type: string language: type: string - enum: *ref_43 - required: &ref_313 + enum: *ref_50 + required: &ref_356 - raw_code - path - language @@ -9797,7 +10215,7 @@ paths: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 - name: invisible_to_owner description: make the run invisible to the the script owner (default false) in: query @@ -9810,7 +10228,7 @@ paths: queue or as a completed job, the request to create one will fail (Bad Request) in: query - schema: *ref_54 + schema: *ref_61 requestBody: description: preview required: true @@ -9818,21 +10236,52 @@ paths: application/json: schema: type: object - properties: &ref_287 + properties: &ref_330 value: type: object - properties: *ref_78 - required: *ref_79 + properties: &ref_92 + modules: + type: array + items: + type: object + properties: *ref_44 + required: *ref_45 + failure_module: + type: object + properties: *ref_44 + required: *ref_45 + preprocessor_module: + type: object + properties: *ref_44 + required: *ref_45 + same_worker: + type: boolean + concurrent_limit: + type: number + concurrency_key: + type: string + concurrency_time_window_s: + type: number + skip_expr: + type: string + cache_ttl: + type: number + priority: + type: number + early_return: + type: string + required: &ref_93 + - modules path: type: string args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 tag: type: string restarted_from: type: object - properties: &ref_289 + properties: &ref_332 flow_job_id: type: string format: uuid @@ -9840,7 +10289,7 @@ paths: type: string branch_or_iteration_n: type: integer - required: &ref_288 + required: &ref_331 - value - content - args @@ -9866,104 +10315,104 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - 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: *ref_53 + schema: *ref_60 - name: worker description: worker this job was ran on in: query - schema: &ref_82 + schema: &ref_94 type: string - name: script_path_exact description: mask to filter exact matching path in: query - schema: &ref_83 + schema: &ref_95 type: string - name: script_path_start description: mask to filter matching starting path in: query - schema: &ref_84 + schema: &ref_96 type: string - name: schedule_path description: mask to filter by schedule path in: query - schema: &ref_85 + schema: &ref_97 type: string - name: script_hash description: mask to filter exact matching path in: query - schema: &ref_86 + schema: &ref_98 type: string - name: started_before description: filter on started before (inclusive) timestamp in: query - schema: &ref_87 + schema: &ref_99 type: string format: date-time - name: started_after description: filter on started after (exclusive) timestamp in: query - schema: &ref_88 + schema: &ref_100 type: string format: date-time - name: success description: filter on successful jobs in: query - schema: &ref_96 + schema: &ref_108 type: boolean - name: scheduled_for_before_now description: filter on jobs scheduled_for before now (hence waitinf for a worker) in: query - schema: &ref_90 + schema: &ref_102 type: boolean - name: job_kinds description: >- filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: &ref_91 + schema: &ref_103 type: string - name: suspended description: filter on suspended jobs in: query - schema: &ref_92 + schema: &ref_104 type: boolean - name: running description: filter on running jobs in: query - schema: &ref_89 + schema: &ref_101 type: boolean - name: args description: >- filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: &ref_93 + schema: &ref_105 type: string - name: result description: >- filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: &ref_95 + schema: &ref_107 type: string - name: allow_wildcards description: allow wildcards (*) in the filter of label, tag, worker in: query - schema: &ref_97 + schema: &ref_109 type: boolean - name: tag description: filter on jobs with a given tag/worker group in: query - schema: &ref_94 + schema: &ref_106 type: string - name: page description: which page to return (start at 1, default 1) @@ -9994,7 +10443,7 @@ paths: type: array items: type: object - properties: &ref_108 + properties: &ref_121 workspace_id: type: string id: @@ -10022,7 +10471,7 @@ paths: type: string args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 logs: type: string raw_code: @@ -10064,14 +10513,14 @@ paths: by extension its DT_TOKEN. flow_status: type: object - properties: &ref_99 + properties: &ref_111 step: type: integer modules: type: array items: type: object - properties: &ref_80 + properties: &ref_90 type: type: string enum: @@ -10148,20 +10597,20 @@ paths: format: uuid skipped: type: boolean - required: &ref_81 + required: &ref_91 - type user_states: additionalProperties: true preprocessor_module: allOf: - type: object - properties: *ref_80 - required: *ref_81 + properties: *ref_90 + required: *ref_91 failure_module: allOf: - type: object - properties: *ref_80 - required: *ref_81 + properties: *ref_90 + required: *ref_91 - type: object properties: parent_module: @@ -10176,19 +10625,32 @@ paths: items: type: string format: uuid - required: &ref_100 + required: &ref_112 - step - modules - failure_module + workflow_as_code_status: + type: object + properties: &ref_113 + scheduled_for: + type: string + format: date-time + started_at: + type: string + format: date-time + duration_ms: + type: number + name: + type: string raw_flow: type: object - properties: *ref_78 - required: *ref_79 + properties: *ref_92 + required: *ref_93 is_flow_step: type: boolean language: type: string - enum: *ref_43 + enum: *ref_50 email: type: string visible_to_owner: @@ -10209,7 +10671,7 @@ paths: type: boolean worker: type: string - required: &ref_109 + required: &ref_122 - id - running - canceled @@ -10322,59 +10784,59 @@ paths: - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - 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: &ref_98 + schema: &ref_110 type: string - name: worker description: worker this job was ran on in: query - schema: *ref_82 + schema: *ref_94 - 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: *ref_53 + schema: *ref_60 - name: script_path_exact description: mask to filter exact matching path in: query - schema: *ref_83 + schema: *ref_95 - name: script_path_start description: mask to filter matching starting path in: query - schema: *ref_84 + schema: *ref_96 - name: schedule_path description: mask to filter by schedule path in: query - schema: *ref_85 + schema: *ref_97 - name: script_hash description: mask to filter exact matching path in: query - schema: *ref_86 + schema: *ref_98 - name: started_before description: filter on started before (inclusive) timestamp in: query - schema: *ref_87 + schema: *ref_99 - name: started_after description: filter on started after (exclusive) timestamp in: query - schema: *ref_88 + schema: *ref_100 - name: created_before description: filter on created before (inclusive) timestamp in: query - schema: &ref_101 + schema: &ref_114 type: string format: date-time - name: created_after description: filter on created after (exclusive) timestamp in: query - schema: &ref_102 + schema: &ref_115 type: string format: date-time - name: created_or_started_before @@ -10382,23 +10844,23 @@ paths: filter on created_at for non non started job and started_at otherwise before (inclusive) timestamp in: query - schema: &ref_103 + schema: &ref_116 type: string format: date-time - name: running description: filter on running jobs in: query - schema: *ref_89 + schema: *ref_101 - name: scheduled_for_before_now description: filter on jobs scheduled_for before now (hence waitinf for a worker) in: query - schema: *ref_90 + schema: *ref_102 - 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: &ref_104 + schema: &ref_117 type: string format: date-time - name: created_or_started_after_completed_jobs @@ -10407,7 +10869,7 @@ paths: otherwise after (exclusive) timestamp but only for the completed jobs in: query - schema: &ref_105 + schema: &ref_118 type: string format: date-time - name: job_kinds @@ -10415,27 +10877,27 @@ paths: filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: *ref_91 + schema: *ref_103 - name: suspended description: filter on suspended jobs in: query - schema: *ref_92 + schema: *ref_104 - name: args description: >- filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: tag description: filter on jobs with a given tag/worker group in: query - schema: *ref_94 + schema: *ref_106 - name: result description: >- filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: *ref_95 + schema: *ref_107 - name: page description: which page to return (start at 1, default 1) in: query @@ -10499,83 +10961,83 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - 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: *ref_53 + schema: *ref_60 - name: script_path_exact description: mask to filter exact matching path in: query - schema: *ref_83 + schema: *ref_95 - name: script_path_start description: mask to filter matching starting path in: query - schema: *ref_84 + schema: *ref_96 - name: schedule_path description: mask to filter by schedule path in: query - schema: *ref_85 + schema: *ref_97 - name: script_hash description: mask to filter exact matching path in: query - schema: *ref_86 + schema: *ref_98 - name: started_before description: filter on started before (inclusive) timestamp in: query - schema: *ref_87 + schema: *ref_99 - name: started_after description: filter on started after (exclusive) timestamp in: query - schema: *ref_88 + schema: *ref_100 - name: success description: filter on successful jobs in: query - schema: *ref_96 + schema: *ref_108 - name: scheduled_for_before_now description: filter on jobs scheduled_for before now (hence waitinf for a worker) in: query - schema: *ref_90 + schema: *ref_102 - name: job_kinds description: >- filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: *ref_91 + schema: *ref_103 - name: suspended description: filter on suspended jobs in: query - schema: *ref_92 + schema: *ref_104 - name: running description: filter on running jobs in: query - schema: *ref_89 + schema: *ref_101 - name: args description: >- filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: result description: >- filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: *ref_95 + schema: *ref_107 - name: allow_wildcards description: allow wildcards (*) in the filter of label, tag, worker in: query - schema: *ref_97 + schema: *ref_109 - name: tag description: filter on jobs with a given tag/worker group in: query - schema: *ref_94 + schema: *ref_106 - name: page description: which page to return (start at 1, default 1) in: query @@ -10653,82 +11115,82 @@ paths: - name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - 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: *ref_98 + schema: *ref_110 - name: worker description: worker this job was ran on in: query - schema: *ref_82 + schema: *ref_94 - 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: *ref_53 + schema: *ref_60 - name: script_path_exact description: mask to filter exact matching path in: query - schema: *ref_83 + schema: *ref_95 - name: script_path_start description: mask to filter matching starting path in: query - schema: *ref_84 + schema: *ref_96 - name: schedule_path description: mask to filter by schedule path in: query - schema: *ref_85 + schema: *ref_97 - name: script_hash description: mask to filter exact matching path in: query - schema: *ref_86 + schema: *ref_98 - name: started_before description: filter on started before (inclusive) timestamp in: query - schema: *ref_87 + schema: *ref_99 - name: started_after description: filter on started after (exclusive) timestamp in: query - schema: *ref_88 + schema: *ref_100 - name: success description: filter on successful jobs in: query - schema: *ref_96 + schema: *ref_108 - name: job_kinds description: >- filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: *ref_91 + schema: *ref_103 - name: args description: >- filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: result description: >- filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: *ref_95 + schema: *ref_107 - name: allow_wildcards description: allow wildcards (*) in the filter of label, tag, worker in: query - schema: *ref_97 + schema: *ref_109 - name: tag description: filter on jobs with a given tag/worker group in: query - schema: *ref_94 + schema: *ref_106 - name: page description: which page to return (start at 1, default 1) in: query @@ -10766,7 +11228,7 @@ paths: type: array items: type: object - properties: &ref_106 + properties: &ref_119 workspace_id: type: string id: @@ -10793,7 +11255,7 @@ paths: type: string args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 result: {} logs: type: string @@ -10835,17 +11297,20 @@ paths: by extension its DT_TOKEN. flow_status: type: object - properties: *ref_99 - required: *ref_100 + properties: *ref_111 + required: *ref_112 + workflow_as_code_status: + type: object + properties: *ref_113 raw_flow: type: object - properties: *ref_78 - required: *ref_79 + properties: *ref_92 + required: *ref_93 is_flow_step: type: boolean language: type: string - enum: *ref_43 + enum: *ref_50 is_skipped: type: boolean email: @@ -10870,7 +11335,7 @@ paths: type: boolean worker: type: string - required: &ref_107 + required: &ref_120 - id - created_by - duration_ms @@ -10899,113 +11364,113 @@ paths: - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - 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: *ref_98 + schema: *ref_110 - name: worker description: worker this job was ran on in: query - schema: *ref_82 + schema: *ref_94 - 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: *ref_53 + schema: *ref_60 - name: script_path_exact description: mask to filter exact matching path in: query - schema: *ref_83 + schema: *ref_95 - name: script_path_start description: mask to filter matching starting path in: query - schema: *ref_84 + schema: *ref_96 - name: schedule_path description: mask to filter by schedule path in: query - schema: *ref_85 + schema: *ref_97 - name: script_hash description: mask to filter exact matching path in: query - schema: *ref_86 + schema: *ref_98 - name: started_before description: filter on started before (inclusive) timestamp in: query - schema: *ref_87 + schema: *ref_99 - name: started_after description: filter on started after (exclusive) timestamp in: query - schema: *ref_88 + schema: *ref_100 - name: created_before description: filter on created before (inclusive) timestamp in: query - schema: *ref_101 + schema: *ref_114 - name: created_after description: filter on created after (exclusive) timestamp in: query - schema: *ref_102 + schema: *ref_115 - 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: *ref_103 + schema: *ref_116 - name: running description: filter on running jobs in: query - schema: *ref_89 + schema: *ref_101 - name: scheduled_for_before_now description: filter on jobs scheduled_for before now (hence waitinf for a worker) in: query - schema: *ref_90 + schema: *ref_102 - 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: *ref_104 + schema: *ref_117 - 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: *ref_105 + schema: *ref_118 - name: job_kinds description: >- filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: *ref_91 + schema: *ref_103 - name: suspended description: filter on suspended jobs in: query - schema: *ref_92 + schema: *ref_104 - name: args description: >- filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: tag description: filter on jobs with a given tag/worker group in: query - schema: *ref_94 + schema: *ref_106 - name: result description: >- filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: *ref_95 + schema: *ref_107 - name: allow_wildcards description: allow wildcards (*) in the filter of label, tag, worker in: query - schema: *ref_97 + schema: *ref_109 - name: page description: which page to return (start at 1, default 1) in: query @@ -11054,11 +11519,11 @@ paths: schema: type: array items: - oneOf: &ref_111 + oneOf: &ref_124 - allOf: - type: object - properties: *ref_106 - required: *ref_107 + properties: *ref_119 + required: *ref_120 - type: object properties: type: @@ -11067,15 +11532,15 @@ paths: - CompletedJob - allOf: - type: object - properties: *ref_108 - required: *ref_109 + properties: *ref_121 + required: *ref_122 - type: object properties: type: type: string enum: - QueuedJob - discriminator: &ref_112 + discriminator: &ref_125 propertyName: type /jobs/db_clock: get: @@ -11142,19 +11607,23 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: no_logs in: query schema: type: boolean + - name: no_code + in: query + schema: + type: boolean responses: '200': description: job details content: application/json: schema: - oneOf: *ref_111 - discriminator: *ref_112 + oneOf: *ref_124 + discriminator: *ref_125 /w/{workspace}/jobs_u/get_root_job_id/{id}: get: summary: get root job id @@ -11169,7 +11638,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: get root job id @@ -11191,7 +11660,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: job details @@ -11213,7 +11682,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: job args @@ -11234,7 +11703,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: running in: query schema: @@ -11243,10 +11712,18 @@ paths: in: query schema: type: integer + - name: stream_offset + in: query + schema: + type: integer - name: get_progress in: query schema: type: boolean + - name: no_logs + in: query + schema: + type: boolean responses: '200': description: job details @@ -11267,21 +11744,59 @@ paths: type: integer progress: type: integer + stream_offset: + type: integer + new_result_stream: + type: string flow_status: type: object - additionalProperties: &ref_225 - type: object - properties: &ref_226 - scheduled_for: - type: string - format: date-time - started_at: - type: string - format: date-time - duration_ms: - type: number - name: - type: string + properties: *ref_111 + required: *ref_112 + workflow_as_code_status: + type: object + properties: *ref_113 + /w/{workspace}/jobs_u/getupdate_sse/{id}: + get: + summary: get job updates via server-sent events + operationId: getJobUpdatesSSE + tags: + - job + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + - name: id + in: path + required: true + schema: *ref_123 + - name: running + in: query + schema: + type: boolean + - name: log_offset + in: query + schema: + type: integer + - name: get_progress + in: query + schema: + type: boolean + - name: only_result + in: query + schema: + type: boolean + - name: no_logs + in: query + schema: + type: boolean + responses: + '200': + description: server-sent events stream of job updates + content: + text/event-stream: + schema: + type: string /w/{workspace}/jobs_u/get_log_file/{path}: get: summary: get log file from object store @@ -11319,7 +11834,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: flow debug info details @@ -11340,7 +11855,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: job details @@ -11348,8 +11863,8 @@ paths: application/json: schema: type: object - properties: *ref_106 - required: *ref_107 + properties: *ref_119 + required: *ref_120 /w/{workspace}/jobs_u/completed/get_result/{id}: get: summary: get completed job result @@ -11364,7 +11879,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: suspended_job in: query schema: @@ -11401,10 +11916,10 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: get_started in: query - schema: &ref_194 + schema: &ref_214 type: boolean responses: '200': @@ -11438,7 +11953,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: job details @@ -11446,8 +11961,8 @@ paths: application/json: schema: type: object - properties: *ref_106 - required: *ref_107 + properties: *ref_119 + required: *ref_120 /w/{workspace}/jobs_u/queue/cancel/{id}: post: summary: cancel queued or running job @@ -11462,7 +11977,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 requestBody: description: reason required: true @@ -11494,7 +12009,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: reason required: true @@ -11526,7 +12041,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 requestBody: description: reason required: true @@ -11558,7 +12073,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: resume_id in: path required: true @@ -11589,7 +12104,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: resume_id in: path required: true @@ -11631,7 +12146,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: approver in: query schema: @@ -11682,7 +12197,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: approver in: query schema: @@ -11733,7 +12248,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: payload description: > The base64 encoded payload that has been encoded as a JSON. e.g how @@ -11741,7 +12256,7 @@ paths: `encodeURIComponent(btoa(JSON.stringify({a: 2})))` in: query - schema: *ref_113 + schema: *ref_126 - name: resume_id in: path required: true @@ -11776,7 +12291,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: resume_id in: path required: true @@ -11818,7 +12333,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: key in: path required: true @@ -11850,7 +12365,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: key in: path required: true @@ -11876,7 +12391,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 requestBody: required: true content: @@ -11904,7 +12419,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: resume_id in: path required: true @@ -11939,7 +12454,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: resume_id in: path required: true @@ -11981,7 +12496,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 - name: resume_id in: path required: true @@ -12005,8 +12520,8 @@ paths: type: object properties: job: - oneOf: *ref_111 - discriminator: *ref_112 + oneOf: *ref_124 + discriminator: *ref_125 approvers: type: array items: @@ -12073,7 +12588,7 @@ paths: application/json: schema: type: object - properties: &ref_236 + properties: &ref_273 path: type: string schedule: @@ -12086,7 +12601,7 @@ paths: type: boolean args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 enabled: type: boolean on_failure: @@ -12097,24 +12612,44 @@ paths: type: boolean on_failure_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_recovery: type: string on_recovery_times: type: number on_recovery_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_success: type: string on_success_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 ws_error_handler_muted: type: boolean retry: type: object - properties: *ref_114 + properties: &ref_127 + constant: + type: object + properties: + attempts: + type: integer + seconds: + type: integer + exponential: + type: object + properties: + attempts: + type: integer + multiplier: + type: integer + seconds: + type: integer + random_factor: + type: integer + minimum: 0 + maximum: 100 no_flow_overlap: type: boolean summary: @@ -12128,7 +12663,7 @@ paths: format: date-time cron_version: type: string - required: &ref_237 + required: &ref_274 - path - schedule - timezone @@ -12156,7 +12691,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated schedule required: true @@ -12164,14 +12699,14 @@ paths: application/json: schema: type: object - properties: &ref_238 + properties: &ref_275 schedule: type: string timezone: type: string args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_failure: type: string on_failure_times: @@ -12180,24 +12715,24 @@ paths: type: boolean on_failure_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_recovery: type: string on_recovery_times: type: number on_recovery_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_success: type: string on_success_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 ws_error_handler_muted: type: boolean retry: type: object - properties: *ref_114 + properties: *ref_127 no_flow_overlap: type: boolean summary: @@ -12211,7 +12746,7 @@ paths: format: date-time cron_version: type: string - required: &ref_239 + required: &ref_276 - schedule - timezone - script_path @@ -12238,7 +12773,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated schedule enable required: true @@ -12272,7 +12807,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: schedule deleted @@ -12294,7 +12829,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: schedule deleted @@ -12302,7 +12837,7 @@ paths: application/json: schema: type: object - properties: &ref_115 + properties: &ref_128 path: type: string edited_by: @@ -12322,7 +12857,7 @@ paths: type: boolean args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 extra_perms: type: object additionalProperties: @@ -12339,24 +12874,24 @@ paths: type: boolean on_failure_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_recovery: type: string on_recovery_times: type: number on_recovery_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 on_success: type: string on_success_extra_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 ws_error_handler_muted: type: boolean retry: type: object - properties: *ref_114 + properties: *ref_127 summary: type: string description: @@ -12370,7 +12905,7 @@ paths: format: date-time cron_version: type: string - required: &ref_116 + required: &ref_129 - path - edited_by - edited_at @@ -12395,7 +12930,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: schedule exists @@ -12427,7 +12962,7 @@ paths: filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: path description: filter by path in: query @@ -12450,8 +12985,8 @@ paths: type: array items: type: object - properties: *ref_115 - required: *ref_116 + properties: *ref_128 + required: *ref_129 /w/{workspace}/schedules/list_with_jobs: get: summary: list schedules with last 20 jobs @@ -12479,10 +13014,10 @@ paths: schema: type: array items: - allOf: &ref_235 + allOf: &ref_272 - type: object - properties: *ref_115 - required: *ref_116 + properties: *ref_128 + required: *ref_129 - type: object properties: jobs: @@ -12543,6 +13078,235 @@ paths: responses: '201': description: default error handler set + /w/{workspace}/openapi/generate: + post: + summary: generate openapi spec from http routes/webhook + operationId: generateOpenapiSpec + tags: + - openapi + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: openapi spec info and url + content: + application/json: + schema: + type: object + properties: &ref_130 + info: + type: object + properties: &ref_283 + title: + type: string + version: + type: string + description: + type: string + terms_of_service: + type: string + contact: + type: object + properties: + name: + type: string + url: + type: string + email: + type: string + license: + type: object + properties: + name: + type: string + identifier: + type: string + url: + type: string + required: + - name + required: &ref_284 + - title + - version + url: + type: string + openapi_spec_format: + type: string + enum: &ref_278 + - yaml + - json + http_route_filters: + type: array + items: + type: object + properties: &ref_279 + folder_regex: + type: string + path_regex: + type: string + route_path_regex: + type: string + required: &ref_280 + - folder_regex + - path_regex + - route_path_regex + webhook_filters: + type: array + items: + type: object + properties: &ref_281 + user_or_folder_regex: + type: string + enum: + - '*' + - u + - f + user_or_folder_regex_value: + type: string + path: + type: string + runnable_kind: + type: string + enum: &ref_277 + - script + - flow + required: &ref_282 + - user_or_folder_regex + - user_or_folder_regex_value + - path + - runnable_kind + responses: + '200': + description: openapi spec + content: + text/plain: + schema: + type: string + /w/{workspace}/openapi/download: + post: + summary: Download the OpenAPI v3.1 spec as a file + operationId: DownloadOpenapiSpec + tags: + - openapi + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: openapi spec info and url + content: + application/json: + schema: + type: object + properties: *ref_130 + responses: + '200': + description: Downloaded OpenAPI spec + content: + application/octet-stream: + schema: + type: string + format: binary + /w/{workspace}/http_triggers/create_many: + post: + summary: create many HTTP triggers + operationId: createHttpTriggers + tags: + - http_trigger + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: new http trigger + required: true + content: + application/json: + schema: + type: array + items: + type: object + properties: &ref_131 + path: + type: string + script_path: + type: string + route_path: + type: string + workspaced_route: + type: boolean + summary: + type: string + description: + type: string + static_asset_config: + type: object + properties: + s3: + type: string + storage: + type: string + filename: + type: string + required: + - s3 + is_flow: + type: boolean + http_method: + type: string + enum: &ref_133 + - get + - post + - put + - delete + - patch + authentication_resource_path: + type: string + is_async: + type: boolean + authentication_method: + type: string + enum: &ref_134 + - none + - windmill + - api_key + - basic_http + - custom_script + - signature + is_static_website: + type: boolean + wrap_body: + type: boolean + raw_string: + type: boolean + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_132 + - path + - script_path + - route_path + - is_flow + - is_async + - authentication_method + - http_method + - is_static_website + responses: + '201': + description: http trigger created + content: + text/plain: + schema: + type: string /w/{workspace}/http_triggers/create: post: summary: create http trigger @@ -12561,64 +13325,8 @@ paths: application/json: schema: type: object - properties: &ref_240 - path: - type: string - script_path: - type: string - route_path: - type: string - workspaced_route: - type: boolean - static_asset_config: - type: object - properties: - s3: - type: string - storage: - type: string - filename: - type: string - required: - - s3 - is_flow: - type: boolean - http_method: - type: string - enum: - - get - - post - - put - - delete - - patch - authentication_resource_path: - type: string - is_async: - type: boolean - authentication_method: - type: string - enum: &ref_117 - - none - - windmill - - api_key - - basic_http - - custom_script - - signature - is_static_website: - type: boolean - wrap_body: - type: boolean - raw_string: - type: boolean - required: &ref_241 - - path - - script_path - - route_path - - is_flow - - is_async - - authentication_method - - http_method - - is_static_website + properties: *ref_131 + required: *ref_132 responses: '201': description: http trigger created @@ -12640,7 +13348,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -12648,13 +13356,17 @@ paths: application/json: schema: type: object - properties: &ref_242 + properties: &ref_285 path: type: string script_path: type: string route_path: type: string + summary: + type: string + description: + type: string workspaced_route: type: boolean static_asset_config: @@ -12674,24 +13386,27 @@ paths: type: boolean http_method: type: string - enum: - - get - - post - - put - - delete - - patch + enum: *ref_133 is_async: type: boolean authentication_method: type: string - enum: *ref_117 + enum: *ref_134 is_static_website: type: boolean wrap_body: type: boolean raw_string: type: boolean - required: &ref_243 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_286 - path - script_path - is_flow @@ -12721,7 +13436,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: http trigger deleted @@ -12743,16 +13458,16 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: http trigger deleted content: application/json: schema: - allOf: &ref_118 + allOf: &ref_135 - type: object - properties: &ref_122 + properties: &ref_139 path: type: string script_path: @@ -12772,7 +13487,7 @@ paths: format: date-time is_flow: type: boolean - required: &ref_123 + required: &ref_140 - path - script_path - email @@ -12782,7 +13497,7 @@ paths: - edited_at - is_flow type: object - properties: &ref_119 + properties: &ref_136 route_path: type: string static_asset_config: @@ -12798,19 +13513,18 @@ paths: - s3 http_method: type: string - enum: - - get - - post - - put - - delete - - patch + enum: *ref_133 authentication_resource_path: type: string + summary: + type: string + description: + type: string is_async: type: boolean authentication_method: type: string - enum: *ref_117 + enum: *ref_134 is_static_website: type: boolean workspaced_route: @@ -12819,7 +13533,15 @@ paths: type: boolean raw_string: type: boolean - required: &ref_120 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_137 - route_path - is_async - authentication_method @@ -12868,10 +13590,10 @@ paths: schema: type: array items: - allOf: *ref_118 + allOf: *ref_135 type: object - properties: *ref_119 - required: *ref_120 + properties: *ref_136 + required: *ref_137 /w/{workspace}/http_triggers/exists/{path}: get: summary: does http trigger exists @@ -12886,7 +13608,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: http trigger exists @@ -12917,12 +13639,7 @@ paths: type: string http_method: type: string - enum: - - get - - post - - put - - delete - - patch + enum: *ref_133 trigger_path: type: string workspaced_route: @@ -12955,7 +13672,7 @@ paths: application/json: schema: type: object - properties: &ref_244 + properties: &ref_287 path: type: string script_path: @@ -12980,7 +13697,7 @@ paths: initial_messages: type: array items: - anyOf: &ref_121 + anyOf: &ref_138 - type: object properties: raw_message: @@ -12996,7 +13713,7 @@ paths: type: string args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 is_flow: type: boolean required: @@ -13007,10 +13724,18 @@ paths: - runnable_result url_runnable_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 can_return_message: type: boolean - required: &ref_245 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_288 - path - script_path - url @@ -13038,7 +13763,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -13046,7 +13771,7 @@ paths: application/json: schema: type: object - properties: &ref_246 + properties: &ref_289 url: type: string path: @@ -13069,13 +13794,21 @@ paths: initial_messages: type: array items: - anyOf: *ref_121 + anyOf: *ref_138 url_runnable_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 can_return_message: type: boolean - required: &ref_247 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_290 - path - script_path - url @@ -13103,7 +13836,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: websocket trigger deleted @@ -13125,19 +13858,19 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: websocket trigger deleted content: application/json: schema: - allOf: &ref_124 + allOf: &ref_141 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_125 + properties: &ref_142 url: type: string server_id: @@ -13163,13 +13896,21 @@ paths: initial_messages: type: array items: - anyOf: *ref_121 + anyOf: *ref_138 url_runnable_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 can_return_message: type: boolean - required: &ref_126 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_143 - url - enabled - filters @@ -13214,10 +13955,10 @@ paths: schema: type: array items: - allOf: *ref_124 + allOf: *ref_141 type: object - properties: *ref_125 - required: *ref_126 + properties: *ref_142 + required: *ref_143 /w/{workspace}/websocket_triggers/exists/{path}: get: summary: does websocket trigger exists @@ -13232,7 +13973,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: websocket trigger exists @@ -13254,7 +13995,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated websocket trigger enable required: true @@ -13297,7 +14038,7 @@ paths: type: string url_runnable_args: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 can_return_message: type: boolean required: @@ -13328,7 +14069,7 @@ paths: application/json: schema: type: object - properties: &ref_270 + properties: &ref_313 path: type: string script_path: @@ -13345,7 +14086,15 @@ paths: type: string enabled: type: boolean - required: &ref_271 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_314 - path - script_path - is_flow @@ -13373,7 +14122,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -13381,7 +14130,7 @@ paths: application/json: schema: type: object - properties: &ref_272 + properties: &ref_315 kafka_resource_path: type: string group_id: @@ -13396,7 +14145,15 @@ paths: type: string is_flow: type: boolean - required: &ref_273 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_316 - path - script_path - kafka_resource_path @@ -13424,7 +14181,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: kafka trigger deleted @@ -13446,19 +14203,19 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: kafka trigger deleted content: application/json: schema: - allOf: &ref_127 + allOf: &ref_144 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_128 + properties: &ref_145 kafka_resource_path: type: string group_id: @@ -13476,7 +14233,15 @@ paths: type: string enabled: type: boolean - required: &ref_129 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_146 - kafka_resource_path - group_id - topics @@ -13521,10 +14286,10 @@ paths: schema: type: array items: - allOf: *ref_127 + allOf: *ref_144 type: object - properties: *ref_128 - required: *ref_129 + properties: *ref_145 + required: *ref_146 /w/{workspace}/kafka_triggers/exists/{path}: get: summary: does kafka trigger exists @@ -13539,7 +14304,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: kafka trigger exists @@ -13561,7 +14326,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated kafka trigger enable required: true @@ -13629,7 +14394,7 @@ paths: application/json: schema: type: object - properties: &ref_274 + properties: &ref_317 path: type: string script_path: @@ -13650,7 +14415,15 @@ paths: type: string enabled: type: boolean - required: &ref_275 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_318 - path - script_path - is_flow @@ -13678,7 +14451,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -13686,7 +14459,7 @@ paths: application/json: schema: type: object - properties: &ref_276 + properties: &ref_319 nats_resource_path: type: string use_jetstream: @@ -13705,7 +14478,15 @@ paths: type: string is_flow: type: boolean - required: &ref_277 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_320 - path - script_path - nats_resource_path @@ -13733,7 +14514,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: nats trigger deleted @@ -13755,19 +14536,19 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: nats trigger deleted content: application/json: schema: - allOf: &ref_130 + allOf: &ref_147 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_131 + properties: &ref_148 nats_resource_path: type: string use_jetstream: @@ -13789,7 +14570,15 @@ paths: type: string enabled: type: boolean - required: &ref_132 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_149 - nats_resource_path - use_jetstream - subjects @@ -13834,10 +14623,10 @@ paths: schema: type: array items: - allOf: *ref_130 + allOf: *ref_147 type: object - properties: *ref_131 - required: *ref_132 + properties: *ref_148 + required: *ref_149 /w/{workspace}/nats_triggers/exists/{path}: get: summary: does nats trigger exists @@ -13852,7 +14641,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: nats trigger exists @@ -13874,7 +14663,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated nats trigger enable required: true @@ -13942,12 +14731,12 @@ paths: application/json: schema: type: object - properties: &ref_257 + properties: &ref_300 queue_url: type: string aws_auth_resource_type: type: string - enum: &ref_133 + enum: &ref_150 - oidc - credentials aws_resource_path: @@ -13964,7 +14753,15 @@ paths: type: boolean enabled: type: boolean - required: &ref_258 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_301 - queue_url - aws_resource_path - path @@ -13992,7 +14789,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -14000,12 +14797,12 @@ paths: application/json: schema: type: object - properties: &ref_259 + properties: &ref_302 queue_url: type: string aws_auth_resource_type: type: string - enum: *ref_133 + enum: *ref_150 aws_resource_path: type: string message_attributes: @@ -14020,7 +14817,15 @@ paths: type: boolean enabled: type: boolean - required: &ref_260 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_303 - queue_url - aws_resource_path - path @@ -14049,7 +14854,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: sqs trigger deleted @@ -14071,24 +14876,24 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: sqs trigger deleted content: application/json: schema: - allOf: &ref_134 + allOf: &ref_151 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_135 + properties: &ref_152 queue_url: type: string aws_auth_resource_type: type: string - enum: *ref_133 + enum: *ref_150 aws_resource_path: type: string message_attributes: @@ -14104,7 +14909,15 @@ paths: type: string enabled: type: boolean - required: &ref_136 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_153 - queue_url - aws_resource_path - enabled @@ -14149,10 +14962,10 @@ paths: schema: type: array items: - allOf: *ref_134 + allOf: *ref_151 type: object - properties: *ref_135 - required: *ref_136 + properties: *ref_152 + required: *ref_153 /w/{workspace}/sqs_triggers/exists/{path}: get: summary: does sqs trigger exists @@ -14167,7 +14980,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: sqs trigger exists @@ -14189,7 +15002,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated sqs trigger enable required: true @@ -14257,44 +15070,44 @@ paths: application/json: schema: type: object - properties: &ref_249 + properties: &ref_292 mqtt_resource_path: type: string subscribe_topics: type: array items: type: object - properties: &ref_137 + properties: &ref_154 qos: type: string - enum: &ref_248 + enum: &ref_291 - qos0 - qos1 - qos2 topic: type: string - required: &ref_138 + required: &ref_155 - qos - topic client_id: type: string v3_config: type: object - properties: &ref_139 + properties: &ref_156 clean_session: type: boolean v5_config: type: object - properties: &ref_140 + properties: &ref_157 clean_start: type: boolean - topic_alias: + topic_alias_maximum: type: number session_expiry_interval: type: number client_version: type: string - enum: &ref_141 + enum: &ref_158 - v3 - v5 path: @@ -14305,7 +15118,15 @@ paths: type: boolean enabled: type: boolean - required: &ref_250 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_293 - path - script_path - is_flow @@ -14332,7 +15153,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -14340,26 +15161,26 @@ paths: application/json: schema: type: object - properties: &ref_251 + properties: &ref_294 mqtt_resource_path: type: string subscribe_topics: type: array items: type: object - properties: *ref_137 - required: *ref_138 + properties: *ref_154 + required: *ref_155 client_id: type: string v3_config: type: object - properties: *ref_139 + properties: *ref_156 v5_config: type: object - properties: *ref_140 + properties: *ref_157 client_version: type: string - enum: *ref_141 + enum: *ref_158 path: type: string script_path: @@ -14368,7 +15189,15 @@ paths: type: boolean enabled: type: boolean - required: &ref_252 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_295 - path - script_path - is_flow @@ -14396,7 +15225,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: mqtt trigger deleted @@ -14418,38 +15247,38 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: mqtt trigger deleted content: application/json: schema: - allOf: &ref_142 + allOf: &ref_159 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_143 + properties: &ref_160 mqtt_resource_path: type: string subscribe_topics: type: array items: type: object - properties: *ref_137 - required: *ref_138 + properties: *ref_154 + required: *ref_155 v3_config: type: object - properties: *ref_139 + properties: *ref_156 v5_config: type: object - properties: *ref_140 + properties: *ref_157 client_id: type: string client_version: type: string - enum: *ref_141 + enum: *ref_158 server_id: type: string last_server_ping: @@ -14459,7 +15288,15 @@ paths: type: string enabled: type: boolean - required: &ref_144 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_161 - enabled - subscribe_topics - mqtt_resource_path @@ -14503,10 +15340,10 @@ paths: schema: type: array items: - allOf: *ref_142 + allOf: *ref_159 type: object - properties: *ref_143 - required: *ref_144 + properties: *ref_160 + required: *ref_161 /w/{workspace}/mqtt_triggers/exists/{path}: get: summary: does mqtt trigger exists @@ -14521,7 +15358,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: mqtt trigger exists @@ -14543,7 +15380,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated mqtt trigger enable required: true @@ -14611,12 +15448,12 @@ paths: application/json: schema: type: object - properties: &ref_145 + properties: &ref_162 gcp_resource_path: type: string subscription_mode: type: string - enum: &ref_150 + enum: &ref_167 - existing - create_update description: >- @@ -14631,17 +15468,17 @@ paths: type: string delivery_type: type: string - enum: &ref_147 + enum: &ref_164 - push - pull delivery_config: type: object - properties: &ref_148 + properties: &ref_165 audience: type: string authenticate: type: boolean - required: &ref_149 + required: &ref_166 - authenticate - base_endpoint path: @@ -14652,7 +15489,15 @@ paths: type: boolean enabled: type: boolean - required: &ref_146 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_163 - path - script_path - is_flow @@ -14680,7 +15525,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -14688,8 +15533,8 @@ paths: application/json: schema: type: object - properties: *ref_145 - required: *ref_146 + properties: *ref_162 + required: *ref_163 responses: '200': description: gcp trigger updated @@ -14711,7 +15556,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: gcp trigger deleted @@ -14733,19 +15578,19 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: gcp trigger deleted content: application/json: schema: - allOf: &ref_151 + allOf: &ref_168 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_152 + properties: &ref_169 gcp_resource_path: type: string topic_id: @@ -14756,14 +15601,14 @@ paths: type: string delivery_type: type: string - enum: *ref_147 + enum: *ref_164 delivery_config: type: object - properties: *ref_148 - required: *ref_149 + properties: *ref_165 + required: *ref_166 subscription_mode: type: string - enum: *ref_150 + enum: *ref_167 description: >- The mode of subscription. 'existing' means using an existing GCP subscription, while 'create_update' involves @@ -14775,7 +15620,15 @@ paths: type: string enabled: type: boolean - required: &ref_153 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_170 - gcp_resource_path - topic_id - subscription_id @@ -14822,10 +15675,10 @@ paths: schema: type: array items: - allOf: *ref_151 + allOf: *ref_168 type: object - properties: *ref_152 - required: *ref_153 + properties: *ref_169 + required: *ref_170 /w/{workspace}/gcp_triggers/exists/{path}: get: summary: does gcp trigger exists @@ -14840,7 +15693,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: gcp trigger exists @@ -14862,7 +15715,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated gcp trigger enable required: true @@ -14926,7 +15779,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: args to delete subscription from google cloud required: true @@ -14934,10 +15787,10 @@ paths: application/json: schema: type: object - properties: &ref_255 + properties: &ref_298 subscription_id: type: string - required: &ref_256 + required: &ref_299 - subscription_id responses: '200': @@ -14960,7 +15813,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: get all google topics @@ -14984,7 +15837,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: args to get subscription's topic from google cloud required: true @@ -14992,10 +15845,10 @@ paths: application/json: schema: type: object - properties: &ref_253 + properties: &ref_296 topic_id: type: string - required: &ref_254 + required: &ref_297 - topic_id responses: '200': @@ -15006,6 +15859,28 @@ paths: type: array items: type: string + /w/{workspace}/postgres_triggers/postgres/version/{path}: + get: + summary: get postgres version + operationId: getPostgresVersion + tags: + - postgres_trigger + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + - name: path + in: path + required: true + schema: *ref_31 + responses: + '200': + description: postgres version + content: + application/json: + schema: + type: string /w/{workspace}/postgres_triggers/is_valid_postgres_configuration/{path}: get: summary: check if postgres configuration is set to logical @@ -15020,7 +15895,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: boolean that indicates if postgres is set to logical level or not @@ -15046,19 +15921,19 @@ paths: application/json: schema: type: object - properties: &ref_264 + properties: &ref_307 postgres_resource_path: type: string relations: type: array items: type: object - properties: &ref_155 + properties: &ref_172 schema_name: type: string table_to_track: type: array - items: &ref_262 + items: &ref_305 type: object properties: table_name: @@ -15071,14 +15946,14 @@ paths: type: string required: - table_name - required: &ref_156 + required: &ref_173 - schema_name - table_to_track language: type: string - enum: &ref_263 + enum: &ref_306 - Typescript - required: &ref_265 + required: &ref_308 - postgres_resource_path - relations - language @@ -15103,7 +15978,7 @@ paths: - name: id in: path required: true - schema: &ref_185 + schema: &ref_205 type: string responses: '200': @@ -15126,7 +16001,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: list postgres slot @@ -15136,7 +16011,7 @@ paths: type: array items: type: object - properties: &ref_261 + properties: &ref_304 slot_name: type: string active: @@ -15155,7 +16030,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: new slot for postgres required: true @@ -15163,7 +16038,7 @@ paths: application/json: schema: type: object - properties: &ref_154 + properties: &ref_171 name: type: string responses: @@ -15187,7 +16062,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: replication slot of postgres required: true @@ -15195,7 +16070,7 @@ paths: application/json: schema: type: object - properties: *ref_154 + properties: *ref_171 responses: '200': description: postgres replication slot deleted @@ -15217,7 +16092,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: database publication list @@ -15241,11 +16116,11 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: publication in: path required: true - schema: &ref_157 + schema: &ref_174 type: string responses: '200': @@ -15254,18 +16129,18 @@ paths: application/json: schema: type: object - properties: &ref_158 + properties: &ref_175 table_to_track: type: array items: type: object - properties: *ref_155 - required: *ref_156 + properties: *ref_172 + required: *ref_173 transaction_to_track: type: array items: type: string - required: &ref_159 + required: &ref_176 - transaction_to_track /w/{workspace}/postgres_triggers/publication/create/{publication}/{path}: post: @@ -15281,11 +16156,11 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: publication in: path required: true - schema: *ref_157 + schema: *ref_174 requestBody: description: new publication for postgres required: true @@ -15293,8 +16168,8 @@ paths: application/json: schema: type: object - properties: *ref_158 - required: *ref_159 + properties: *ref_175 + required: *ref_176 responses: '201': description: publication created @@ -15316,11 +16191,11 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: publication in: path required: true - schema: *ref_157 + schema: *ref_174 requestBody: description: update publication for postgres required: true @@ -15328,8 +16203,8 @@ paths: application/json: schema: type: object - properties: *ref_158 - required: *ref_159 + properties: *ref_175 + required: *ref_176 responses: '201': description: publication updated @@ -15351,11 +16226,11 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: publication in: path required: true - schema: *ref_157 + schema: *ref_174 responses: '200': description: postgres publication deleted @@ -15381,7 +16256,7 @@ paths: application/json: schema: type: object - properties: &ref_266 + properties: &ref_309 replication_slot_name: type: string publication_name: @@ -15398,9 +16273,17 @@ paths: type: string publication: type: object - properties: *ref_158 - required: *ref_159 - required: &ref_267 + properties: *ref_175 + required: *ref_176 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_310 - path - script_path - is_flow @@ -15427,7 +16310,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated trigger required: true @@ -15435,7 +16318,7 @@ paths: application/json: schema: type: object - properties: &ref_268 + properties: &ref_311 replication_slot_name: type: string publication_name: @@ -15452,9 +16335,17 @@ paths: type: string publication: type: object - properties: *ref_158 - required: *ref_159 - required: &ref_269 + properties: *ref_175 + required: *ref_176 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_312 - path - script_path - is_flow @@ -15483,7 +16374,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: postgres trigger deleted @@ -15505,19 +16396,19 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: get postgres trigger content: application/json: schema: - allOf: &ref_160 + allOf: &ref_177 - type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 type: object - properties: &ref_161 + properties: &ref_178 enabled: type: boolean postgres_resource_path: @@ -15533,7 +16424,15 @@ paths: last_server_ping: type: string format: date-time - required: &ref_162 + error_handler_path: + type: string + error_handler_args: + type: object + additionalProperties: *ref_22 + retry: + type: object + properties: *ref_127 + required: &ref_179 - enabled - postgres_resource_path - replication_slot_name @@ -15578,10 +16477,10 @@ paths: schema: type: array items: - allOf: *ref_160 + allOf: *ref_177 type: object - properties: *ref_161 - required: *ref_162 + properties: *ref_178 + required: *ref_179 /w/{workspace}/postgres_triggers/exists/{path}: get: summary: does postgres trigger exists @@ -15596,7 +16495,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: postgres trigger exists @@ -15618,7 +16517,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: updated postgres trigger enable required: true @@ -15683,7 +16582,7 @@ paths: type: array items: type: object - properties: &ref_164 + properties: &ref_181 name: type: string summary: @@ -15692,7 +16591,7 @@ paths: type: array items: type: string - required: &ref_165 + required: &ref_182 - name /groups/get/{name}: get: @@ -15704,7 +16603,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: instance group @@ -15712,8 +16611,8 @@ paths: application/json: schema: type: object - properties: *ref_164 - required: *ref_165 + properties: *ref_181 + required: *ref_182 /groups/create: post: summary: create instance group @@ -15751,7 +16650,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: update instance group required: true @@ -15781,7 +16680,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: instance group deleted @@ -15799,7 +16698,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: user to add to instance group required: true @@ -15829,7 +16728,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: user to remove from instance group required: true @@ -15864,7 +16763,7 @@ paths: type: array items: type: object - properties: &ref_166 + properties: &ref_183 name: type: string summary: @@ -15879,7 +16778,7 @@ paths: type: string external_id: type: string - required: &ref_167 + required: &ref_184 - name /groups/overwrite: post: @@ -15896,8 +16795,8 @@ paths: type: array items: type: object - properties: *ref_166 - required: *ref_167 + properties: *ref_183 + required: *ref_184 responses: '200': description: success message @@ -15933,7 +16832,7 @@ paths: type: array items: type: object - properties: &ref_168 + properties: &ref_185 name: type: string summary: @@ -15946,7 +16845,7 @@ paths: type: object additionalProperties: type: boolean - required: &ref_169 + required: &ref_186 - name /w/{workspace}/groups/listnames: get: @@ -16019,7 +16918,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: updated group required: true @@ -16051,7 +16950,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: group deleted @@ -16073,7 +16972,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: group @@ -16081,8 +16980,8 @@ paths: application/json: schema: type: object - properties: *ref_168 - required: *ref_169 + properties: *ref_185 + required: *ref_186 /w/{workspace}/groups/adduser/{name}: post: summary: add user to group @@ -16097,7 +16996,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: added user to group required: true @@ -16129,7 +17028,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: added user to group required: true @@ -16175,7 +17074,7 @@ paths: type: array items: type: object - properties: &ref_170 + properties: &ref_187 name: type: string owners: @@ -16193,7 +17092,7 @@ paths: edited_at: type: string format: date-time - required: &ref_171 + required: &ref_188 - name - owners - extra_perms @@ -16275,7 +17174,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: update folder required: true @@ -16314,7 +17213,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: folder deleted @@ -16336,7 +17235,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: folder @@ -16344,8 +17243,8 @@ paths: application/json: schema: type: object - properties: *ref_170 - required: *ref_171 + properties: *ref_187 + required: *ref_188 /w/{workspace}/folders/exists/{name}: get: summary: exists folder @@ -16360,7 +17259,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: folder exists @@ -16382,7 +17281,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: folder @@ -16424,7 +17323,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: owner user to folder required: true @@ -16458,7 +17357,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: added owner to folder required: true @@ -16512,7 +17411,7 @@ paths: type: array items: type: object - properties: &ref_278 + properties: &ref_321 worker: type: string worker_instance: @@ -16554,7 +17453,7 @@ paths: type: number wm_memory_usage: type: number - required: &ref_279 + required: &ref_322 - worker - worker_instance - ping_at @@ -16662,7 +17561,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: a config @@ -16671,12 +17570,12 @@ paths: schema: type: object nullable: true - properties: &ref_201 + properties: &ref_240 alerts: type: array items: type: object - properties: &ref_199 + properties: &ref_238 name: type: string tags_to_monitor: @@ -16689,7 +17588,7 @@ paths: type: integer alert_time_threshold_seconds: type: integer - required: &ref_200 + required: &ref_239 - name - tags_to_monitor - jobs_num_threshold @@ -16705,7 +17604,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 requestBody: description: worker group required: true @@ -16728,7 +17627,7 @@ paths: - name: name in: path required: true - schema: *ref_163 + schema: *ref_180 responses: '200': description: Delete config @@ -16751,12 +17650,12 @@ paths: type: array items: type: object - properties: &ref_320 + properties: &ref_363 name: type: string config: type: object - required: &ref_321 + required: &ref_364 - name /configs/list_autoscaling_events/{worker_group}: get: @@ -16779,7 +17678,7 @@ paths: type: array items: type: object - properties: &ref_324 + properties: &ref_367 id: type: integer format: int64 @@ -16842,6 +17741,96 @@ paths: application/json: schema: type: string + /agent_workers/blacklist_token: + post: + summary: blacklist agent token (requires super admin) + operationId: blacklistAgentToken + tags: + - agent_workers + requestBody: + description: token to blacklist + required: true + content: + application/json: + schema: + type: object + properties: + token: + type: string + description: The agent token to blacklist + expires_at: + type: string + format: date-time + description: Optional expiration date for the blacklist entry + required: + - token + responses: + '200': + description: token blacklisted successfully + /agent_workers/remove_blacklist_token: + post: + summary: remove agent token from blacklist (requires super admin) + operationId: removeBlacklistAgentToken + tags: + - agent_workers + requestBody: + description: token to remove from blacklist + required: true + content: + application/json: + schema: + type: object + properties: + token: + type: string + description: The agent token to remove from blacklist + required: + - token + responses: + '200': + description: token removed from blacklist successfully + /agent_workers/list_blacklisted_tokens: + get: + summary: list blacklisted agent tokens (requires super admin) + operationId: listBlacklistedAgentTokens + tags: + - agent_workers + parameters: + - name: include_expired + in: query + description: Whether to include expired blacklisted tokens + schema: + type: boolean + default: false + responses: + '200': + description: list of blacklisted tokens + content: + application/json: + schema: + type: array + items: + type: object + properties: + token: + type: string + description: The blacklisted token (without prefix) + expires_at: + type: string + format: date-time + description: When the blacklist entry expires + blacklisted_at: + type: string + format: date-time + description: When the token was blacklisted + blacklisted_by: + type: string + description: Email of the user who blacklisted the token + required: + - token + - expires_at + - blacklisted_at + - blacklisted_by /w/{workspace}/acls/get/{kind}/{path}: get: summary: get granular acls @@ -16856,7 +17845,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: kind in: path required: true @@ -16903,7 +17892,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: kind in: path required: true @@ -16962,7 +17951,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: kind in: path required: true @@ -17026,7 +18015,7 @@ paths: properties: trigger_kind: type: string - enum: &ref_172 + enum: &ref_189 - webhook - http - websocket @@ -17070,15 +18059,15 @@ paths: required: true schema: type: string - enum: *ref_172 + enum: *ref_189 - name: runnable_kind in: path required: true - schema: *ref_73 + schema: *ref_80 - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: capture config pinged @@ -17096,11 +18085,11 @@ paths: - name: runnable_kind in: path required: true - schema: *ref_73 + schema: *ref_80 - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: capture configs for a script or flow @@ -17110,17 +18099,17 @@ paths: type: array items: type: object - properties: &ref_325 + properties: &ref_368 trigger_config: {} trigger_kind: type: string - enum: *ref_172 + enum: *ref_189 error: type: string last_server_ping: type: string format: date-time - required: &ref_326 + required: &ref_369 - trigger_kind /w/{workspace}/capture/list/{runnable_kind}/{path}: get: @@ -17136,16 +18125,16 @@ paths: - name: runnable_kind in: path required: true - schema: *ref_73 + schema: *ref_80 - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: trigger_kind in: query schema: type: string - enum: *ref_172 + enum: *ref_189 - name: page description: which page to return (start at 1, default 1) in: query @@ -17163,10 +18152,10 @@ paths: type: array items: type: object - properties: &ref_173 + properties: &ref_190 trigger_kind: type: string - enum: *ref_172 + enum: *ref_189 main_args: {} preprocessor_args: {} id: @@ -17174,7 +18163,7 @@ paths: created_at: type: string format: date-time - required: &ref_174 + required: &ref_191 - trigger_kind - main_args - preprocessor_args @@ -17194,11 +18183,11 @@ paths: - name: runnable_kind in: path required: true - schema: *ref_73 + schema: *ref_80 - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 requestBody: description: move captures and configs to a new path required: true @@ -17239,8 +18228,8 @@ paths: application/json: schema: type: object - properties: *ref_173 - required: *ref_174 + properties: *ref_190 + required: *ref_191 delete: summary: delete a capture operationId: deleteCapture @@ -17330,13 +18319,13 @@ paths: schema: *ref_0 - name: runnable_id in: query - schema: &ref_175 + schema: &ref_192 type: string - name: runnable_type in: query - schema: &ref_176 + schema: &ref_193 type: string - enum: &ref_207 + enum: &ref_246 - ScriptHash - ScriptPath - FlowPath @@ -17353,7 +18342,7 @@ paths: filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: include_preview in: query schema: @@ -17367,7 +18356,7 @@ paths: type: array items: type: object - properties: &ref_177 + properties: &ref_194 id: type: string name: @@ -17381,7 +18370,7 @@ paths: type: boolean success: type: boolean - required: &ref_178 + required: &ref_195 - id - name - args @@ -17431,10 +18420,10 @@ paths: schema: *ref_0 - name: runnable_id in: query - schema: *ref_175 + schema: *ref_192 - name: runnable_type in: query - schema: *ref_176 + schema: *ref_193 - name: page description: which page to return (start at 1, default 1) in: query @@ -17452,8 +18441,8 @@ paths: type: array items: type: object - properties: *ref_177 - required: *ref_178 + properties: *ref_194 + required: *ref_195 /w/{workspace}/inputs/create: post: summary: Create an Input for future use in a script or flow @@ -17467,10 +18456,10 @@ paths: schema: *ref_0 - name: runnable_id in: query - schema: *ref_175 + schema: *ref_192 - name: runnable_type in: query - schema: *ref_176 + schema: *ref_193 requestBody: description: Input required: true @@ -17478,12 +18467,12 @@ paths: application/json: schema: type: object - properties: &ref_203 + properties: &ref_242 name: type: string args: type: object - required: &ref_204 + required: &ref_243 - name - args - created_by @@ -17513,14 +18502,14 @@ paths: application/json: schema: type: object - properties: &ref_205 + properties: &ref_244 id: type: string name: type: string is_public: type: boolean - required: &ref_206 + required: &ref_245 - id - name - is_public @@ -17546,7 +18535,7 @@ paths: - name: input in: path required: true - schema: &ref_193 + schema: &ref_213 type: string responses: '200': @@ -17579,7 +18568,7 @@ paths: properties: s3_resource: type: object - properties: &ref_179 + properties: &ref_196 bucket: type: string region: @@ -17594,7 +18583,7 @@ paths: type: string pathStyle: type: boolean - required: &ref_180 + required: &ref_197 - bucket - region - endPoint @@ -17672,8 +18661,8 @@ paths: properties: s3_resource: type: object - properties: *ref_179 - required: *ref_180 + properties: *ref_196 + required: *ref_197 responses: '200': description: Connection settings @@ -17694,10 +18683,10 @@ paths: type: boolean client_kwargs: type: object - properties: &ref_181 + properties: &ref_198 region_name: type: string - required: &ref_182 + required: &ref_199 - region_name required: - endpoint_url @@ -17752,8 +18741,8 @@ paths: type: boolean client_kwargs: type: object - properties: *ref_181 - required: *ref_182 + properties: *ref_198 + required: *ref_199 required: - endpoint_url - use_ssl @@ -17811,8 +18800,8 @@ paths: application/json: schema: type: object - properties: *ref_179 - required: *ref_180 + properties: *ref_196 + required: *ref_197 /w/{workspace}/job_helpers/test_connection: get: summary: Test connection to the workspace object storage @@ -17876,10 +18865,10 @@ paths: type: array items: type: object - properties: &ref_297 + properties: &ref_342 s3: type: string - required: &ref_298 + required: &ref_343 - s3 restricted_access: type: boolean @@ -17912,7 +18901,7 @@ paths: application/json: schema: type: object - properties: &ref_299 + properties: &ref_344 mime_type: type: string size_in_bytes: @@ -17976,7 +18965,7 @@ paths: application/json: schema: type: object - properties: &ref_300 + properties: &ref_345 msg: type: string content: @@ -17988,7 +18977,7 @@ paths: - Csv - Parquet - Unknown - required: &ref_301 + required: &ref_346 - content_type /w/{workspace}/job_helpers/load_parquet_preview/{path}: get: @@ -18004,7 +18993,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: offset in: query schema: @@ -18037,8 +19026,7 @@ paths: '200': description: Parquet Preview content: - application/json: - schema: {} + application/json: {} /w/{workspace}/job_helpers/load_table_count/{path}: get: summary: Load the table row count @@ -18053,7 +19041,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: search_col in: query schema: @@ -18090,7 +19078,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 - name: offset in: query schema: @@ -18127,8 +19115,7 @@ paths: '200': description: Csv Preview content: - application/json: - schema: {} + application/json: {} /w/{workspace}/job_helpers/delete_s3_file: delete: summary: Permanently delete file from S3 @@ -18334,7 +19321,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 requestBody: description: parameters for statistics retrieval required: true @@ -18363,46 +19350,46 @@ paths: type: array items: type: object - properties: &ref_304 + properties: &ref_347 id: type: string name: type: string - required: &ref_305 + required: &ref_348 - id scalar_metrics: type: array items: type: object - properties: &ref_306 + properties: &ref_349 metric_id: type: string value: type: number - required: &ref_307 + required: &ref_350 - id - value timeseries_metrics: type: array items: type: object - properties: &ref_308 + properties: &ref_351 metric_id: type: string values: type: array items: type: object - properties: &ref_310 + properties: &ref_353 timestamp: type: string format: date-time value: type: number - required: &ref_311 + required: &ref_354 - timestamp - value - required: &ref_309 + required: &ref_352 - id - values /w/{workspace}/job_metrics/set_progress/{id}: @@ -18419,7 +19406,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 requestBody: description: parameters for statistics retrieval required: true @@ -18453,7 +19440,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: job progress between 0 and 99 @@ -18471,11 +19458,11 @@ paths: - name: before description: filter on started before (inclusive) timestamp in: query - schema: *ref_183 + schema: *ref_200 - name: after description: filter on created after (exclusive) timestamp in: query - schema: *ref_184 + schema: *ref_201 - name: with_error in: query required: false @@ -18524,7 +19511,7 @@ paths: - name: path in: path required: true - schema: *ref_26 + schema: *ref_31 responses: '200': description: log stream @@ -18547,12 +19534,12 @@ paths: type: array items: type: object - properties: &ref_314 + properties: &ref_357 concurrency_key: type: string total_running: type: number - required: &ref_315 + required: &ref_358 - concurrency_key - total_running /concurrency_groups/prune/{concurrency_id}: @@ -18565,7 +19552,7 @@ paths: - name: concurrency_id in: path required: true - schema: &ref_195 + schema: &ref_215 type: string responses: '200': @@ -18585,7 +19572,7 @@ paths: - name: id in: path required: true - schema: *ref_110 + schema: *ref_123 responses: '200': description: concurrency key for given job @@ -18618,97 +19605,97 @@ paths: - name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 - 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: *ref_98 + schema: *ref_110 - 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: *ref_53 + schema: *ref_60 - name: script_path_exact description: mask to filter exact matching path in: query - schema: *ref_83 + schema: *ref_95 - name: script_path_start description: mask to filter matching starting path in: query - schema: *ref_84 + schema: *ref_96 - name: schedule_path description: mask to filter by schedule path in: query - schema: *ref_85 + schema: *ref_97 - name: script_hash description: mask to filter exact matching path in: query - schema: *ref_86 + schema: *ref_98 - name: started_before description: filter on started before (inclusive) timestamp in: query - schema: *ref_87 + schema: *ref_99 - name: started_after description: filter on started after (exclusive) timestamp in: query - schema: *ref_88 + schema: *ref_100 - 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: *ref_103 + schema: *ref_116 - name: running description: filter on running jobs in: query - schema: *ref_89 + schema: *ref_101 - name: scheduled_for_before_now description: filter on jobs scheduled_for before now (hence waitinf for a worker) in: query - schema: *ref_90 + schema: *ref_102 - 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: *ref_104 + schema: *ref_117 - 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: *ref_105 + schema: *ref_118 - name: job_kinds description: >- filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: *ref_91 + schema: *ref_103 - name: args description: >- filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 - name: tag description: filter on jobs with a given tag/worker group in: query - schema: *ref_94 + schema: *ref_106 - name: result description: >- filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: *ref_95 + schema: *ref_107 - name: allow_wildcards description: allow wildcards (*) in the filter of label, tag, worker in: query - schema: *ref_97 + schema: *ref_109 - name: page description: which page to return (start at 1, default 1) in: query @@ -18756,17 +19743,17 @@ paths: application/json: schema: type: object - properties: &ref_316 + properties: &ref_359 jobs: type: array items: - oneOf: *ref_111 - discriminator: *ref_112 + oneOf: *ref_124 + discriminator: *ref_125 obscured_jobs: type: array items: type: object - properties: &ref_208 + properties: &ref_247 typ: type: string started_at: @@ -18779,7 +19766,7 @@ paths: Obscured jobs omitted for security because of too specific filtering type: boolean - required: &ref_317 + required: &ref_360 - jobs - obscured_jobs /srch/w/{workspace}/index/search/job: @@ -18823,7 +19810,7 @@ paths: type: array items: type: object - properties: &ref_322 + properties: &ref_365 dancer: type: string hit_count: @@ -18899,7 +19886,7 @@ paths: type: array items: type: object - properties: &ref_323 + properties: &ref_366 dancer: type: string /srch/index/search/count_service_logs: @@ -18966,6 +19953,119 @@ paths: text/plain: schema: type: string + /w/{workspace}/assets/list: + get: + summary: List all assets in the workspace + operationId: listAssets + tags: + - asset + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + responses: + '200': + description: all assets in the workspace + content: + application/json: + schema: + type: array + items: + type: object + required: + - path + - kind + - usages + properties: + path: + type: string + kind: + type: string + enum: *ref_202 + usages: + type: array + items: + type: object + required: + - path + - kind + properties: + path: + type: string + kind: + type: string + enum: &ref_203 + - script + - flow + access_type: + type: string + enum: &ref_204 + - r + - w + - rw + metadata: + type: object + properties: + resource_type: + type: string + /w/{workspace}/assets/list_by_usages: + post: + summary: List all assets used by given usages paths + operationId: listAssetsByUsage + tags: + - asset + parameters: + - name: workspace + in: path + required: true + schema: *ref_0 + requestBody: + description: list assets by usages + required: true + content: + application/json: + schema: + type: object + required: + - usages + properties: + usages: + type: array + items: + type: object + required: + - path + - kind + properties: + path: + type: string + kind: + type: string + enum: *ref_203 + responses: + '200': + description: all assets used by the given usage paths, in the same order + content: + application/json: + schema: + type: array + items: + type: array + items: + type: object + required: + - path + - kind + properties: + path: + type: string + kind: + type: string + enum: *ref_202 + access_type: + type: string + enum: *ref_204 components: securitySchemes: bearerAuth: @@ -18980,7 +20080,7 @@ components: name: id in: path required: true - schema: *ref_185 + schema: *ref_205 Key: name: key in: path @@ -18995,67 +20095,67 @@ components: name: publication in: path required: true - schema: *ref_157 + schema: *ref_174 VersionId: name: version in: path required: true - schema: *ref_186 + schema: *ref_206 Token: name: token in: path required: true - schema: *ref_187 + schema: *ref_207 AccountId: name: id in: path required: true - schema: *ref_31 + schema: *ref_38 ClientName: name: client_name in: path required: true - schema: *ref_30 + schema: *ref_35 ScriptPath: name: path in: path required: true - schema: *ref_41 + schema: *ref_48 ScriptHash: name: hash in: path required: true - schema: *ref_46 + schema: *ref_53 JobId: name: id in: path required: true - schema: *ref_110 + schema: *ref_123 Path: name: path in: path required: true - schema: *ref_26 + schema: *ref_31 CustomPath: name: custom_path in: path required: true - schema: *ref_74 + schema: *ref_81 PathId: name: id in: path required: true - schema: *ref_34 + schema: *ref_41 PathVersion: name: version in: path required: true - schema: *ref_188 + schema: *ref_208 Name: name: name in: path required: true - schema: *ref_163 + schema: *ref_180 Page: name: page description: which page to return (start at 1, default 1) @@ -19070,12 +20170,12 @@ components: name: order_desc description: order by desc order (default true) in: query - schema: *ref_59 + schema: *ref_66 CreatedBy: name: created_by description: mask to filter exact matching user creator in: query - schema: *ref_60 + schema: *ref_67 Label: name: label description: >- @@ -19083,31 +20183,31 @@ components: with as a result an object containing a string in the array at key 'wm_labels') in: query - schema: *ref_98 + schema: *ref_110 Worker: name: worker description: worker this job was ran on in: query - schema: *ref_82 + schema: *ref_94 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: *ref_53 + schema: *ref_60 WorkerTag: name: tag description: Override the tag to use in: query - schema: *ref_55 + schema: *ref_62 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: *ref_56 + schema: *ref_63 NewJobId: name: job_id description: >- @@ -19115,7 +20215,7 @@ components: 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: *ref_54 + schema: *ref_61 IncludeHeader: name: include_header description: > @@ -19125,14 +20225,14 @@ components: Header's key lowercased and '-'' replaced to '_' such that 'Content-Type' becomes the 'content_type' arg key in: query - schema: *ref_57 + schema: *ref_64 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: *ref_58 + schema: *ref_65 Payload: name: payload description: > @@ -19141,283 +20241,775 @@ components: `encodeURIComponent(btoa(JSON.stringify({a: 2})))` in: query - schema: *ref_113 + schema: *ref_126 ScriptStartPath: name: script_path_start description: mask to filter matching starting path in: query - schema: *ref_84 + schema: *ref_96 SchedulePath: name: schedule_path description: mask to filter by schedule path in: query - schema: *ref_85 + schema: *ref_97 ScriptExactPath: name: script_path_exact description: mask to filter exact matching path in: query - schema: *ref_83 + schema: *ref_95 ScriptExactHash: name: script_hash description: mask to filter exact matching path in: query - schema: *ref_86 + schema: *ref_98 CreatedBefore: name: created_before description: filter on created before (inclusive) timestamp in: query - schema: *ref_101 + schema: *ref_114 CreatedAfter: name: created_after description: filter on created after (exclusive) timestamp in: query - schema: *ref_102 + schema: *ref_115 StartedBefore: name: started_before description: filter on started before (inclusive) timestamp in: query - schema: *ref_87 + schema: *ref_99 StartedAfter: name: started_after description: filter on started after (exclusive) timestamp in: query - schema: *ref_88 + schema: *ref_100 Before: name: before description: filter on started before (inclusive) timestamp in: query - schema: *ref_183 + schema: *ref_200 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: *ref_104 + schema: *ref_117 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: *ref_105 + schema: *ref_118 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: *ref_103 + schema: *ref_116 Success: name: success description: filter on successful jobs in: query - schema: *ref_96 + schema: *ref_108 ScheduledForBeforeNow: name: scheduled_for_before_now description: filter on jobs scheduled_for before now (hence waitinf for a worker) in: query - schema: *ref_90 + schema: *ref_102 Suspended: name: suspended description: filter on suspended jobs in: query - schema: *ref_92 + schema: *ref_104 Running: name: running description: filter on running jobs in: query - schema: *ref_89 + schema: *ref_101 AllowWildcards: name: allow_wildcards description: allow wildcards (*) in the filter of label, tag, worker in: query - schema: *ref_97 + schema: *ref_109 ArgsFilter: name: args description: filter on jobs containing those args as a json subset (@> in postgres) in: query - schema: *ref_93 + schema: *ref_105 Tag: name: tag description: filter on jobs with a given tag/worker group in: query - schema: *ref_94 + schema: *ref_106 ResultFilter: name: result description: filter on jobs containing those result as a json subset (@> in postgres) in: query - schema: *ref_95 + schema: *ref_107 After: name: after description: filter on created after (exclusive) timestamp in: query - schema: *ref_184 + schema: *ref_201 Username: name: username description: filter on exact username of user in: query - schema: *ref_189 + schema: *ref_209 Operation: name: operation description: filter on exact or prefix name of operation in: query - schema: *ref_190 + schema: *ref_210 ResourceName: name: resource description: filter on exact or prefix name of resource in: query - schema: *ref_191 + schema: *ref_211 ActionKind: name: action_kind description: filter on type of operation in: query - schema: *ref_192 + schema: *ref_212 JobKinds: name: job_kinds description: >- filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by, in: query - schema: *ref_91 + schema: *ref_103 RunnableId: name: runnable_id in: query - schema: *ref_175 + schema: *ref_192 RunnableTypeQuery: name: runnable_type in: query - schema: *ref_176 + schema: *ref_193 InputId: name: input in: path required: true - schema: *ref_193 + schema: *ref_213 GetStarted: name: get_started in: query - schema: *ref_194 + schema: *ref_214 ConcurrencyId: name: concurrency_id in: path required: true - schema: *ref_195 + schema: *ref_215 RunnableKind: name: runnable_kind in: path required: true - schema: *ref_73 + schema: *ref_80 schemas: + OpenFlow: + type: object + properties: *ref_68 + required: *ref_69 + FlowValue: + type: object + properties: *ref_92 + required: *ref_93 + Retry: + type: object + properties: *ref_127 + StopAfterIf: + type: object + properties: + skip_if_stopped: + type: boolean + expr: + type: string + error_message: + type: string + required: + - expr + FlowModule: + type: object + properties: + id: + type: string + value: + oneOf: *ref_216 + discriminator: *ref_217 + stop_after_if: + type: object + properties: *ref_46 + required: *ref_47 + stop_after_all_iters_if: + type: object + properties: *ref_46 + required: *ref_47 + skip_if: + type: object + properties: + expr: + type: string + required: + - expr + sleep: + oneOf: *ref_42 + discriminator: *ref_43 + cache_ttl: + type: number + timeout: + type: number + delete_after_use: + type: boolean + summary: + type: string + mock: + type: object + properties: + enabled: + type: boolean + return_value: {} + suspend: + type: object + properties: + required_events: + type: integer + timeout: + type: integer + resume_form: + type: object + properties: + schema: + type: object + user_auth_required: + type: boolean + user_groups_required: + oneOf: *ref_42 + discriminator: *ref_43 + self_approval_disabled: + type: boolean + hide_cancel: + type: boolean + continue_on_disapprove_timeout: + type: boolean + priority: + type: number + continue_on_error: + type: boolean + retry: + type: object + properties: *ref_218 + required: + - value + - id InputTransform: - allOf: *ref_77 + oneOf: *ref_88 + discriminator: *ref_89 + StaticTransform: + type: object + properties: + value: {} + type: + type: string + enum: + - static + required: + - value + - type + JavascriptTransform: + type: object + properties: + expr: + type: string + type: + type: string + enum: + - javascript + required: + - expr + - type + FlowModuleValue: + oneOf: + - type: object + properties: *ref_219 + required: *ref_220 + - type: object + properties: *ref_221 + required: *ref_222 + - type: object + properties: *ref_223 + required: *ref_224 + - type: object + properties: *ref_225 + required: *ref_226 + - type: object + properties: *ref_227 + required: *ref_228 + - type: object + properties: *ref_229 + required: *ref_230 + - type: object + properties: *ref_231 + required: *ref_232 + - type: object + properties: *ref_233 + required: *ref_234 + discriminator: + propertyName: type + mapping: + rawscript: '#/components/schemas/schemas-RawScript' + script: '#/components/schemas/schemas-PathScript' + flow: '#/components/schemas/schemas-PathFlow' + forloopflow: '#/components/schemas/schemas-ForloopFlow' + whileloopflow: '#/components/schemas/schemas-WhileloopFlow' + branchone: '#/components/schemas/schemas-BranchOne' + branchall: '#/components/schemas/schemas-BranchAll' + identity: '#/components/schemas/schemas-Identity' + RawScript: + type: object + properties: + input_transforms: + type: object + additionalProperties: + oneOf: *ref_42 + discriminator: *ref_43 + content: + type: string + language: + type: string + enum: + - deno + - bun + - python3 + - go + - bash + - powershell + - postgresql + - mysql + - bigquery + - snowflake + - mssql + - oracledb + - graphql + - nativets + - php + path: + type: string + lock: + type: string + type: + type: string + enum: + - rawscript + tag: + type: string + concurrent_limit: + type: number + concurrency_time_window_s: + type: number + custom_concurrency_key: + type: string + is_trigger: + type: boolean + assets: + type: array + items: + type: object + required: + - path + - kind + properties: + path: + type: string + kind: + type: string + enum: + - s3object + - resource + - ducklake + access_type: + type: string + enum: + - r + - w + - rw + alt_access_type: + type: string + enum: + - r + - w + - rw + required: + - type + - content + - language + - input_transforms + PathScript: + type: object + properties: + input_transforms: + type: object + additionalProperties: + oneOf: *ref_42 + discriminator: *ref_43 + path: + type: string + hash: + type: string + type: + type: string + enum: + - script + tag_override: + type: string + is_trigger: + type: boolean + required: + - type + - path + - input_transforms + PathFlow: + type: object + properties: + input_transforms: + type: object + additionalProperties: + oneOf: *ref_42 + discriminator: *ref_43 + path: + type: string + type: + type: string + enum: + - flow + required: + - type + - path + - input_transforms + ForloopFlow: + type: object + properties: + modules: + type: array + items: + type: object + properties: *ref_44 + required: *ref_45 + iterator: + oneOf: *ref_42 + discriminator: *ref_43 + skip_failures: + type: boolean + type: + type: string + enum: + - forloopflow + parallel: + type: boolean + parallelism: + type: integer + required: + - modules + - iterator + - skip_failures + - type + WhileloopFlow: + type: object + properties: + modules: + type: array + items: + type: object + properties: *ref_44 + required: *ref_45 + skip_failures: + type: boolean + type: + type: string + enum: + - whileloopflow + parallel: + type: boolean + parallelism: + type: integer + required: + - modules + - skip_failures + - type + BranchOne: + type: object + properties: + branches: + type: array + items: + type: object + properties: + summary: + type: string + expr: + type: string + modules: + type: array + items: + type: object + properties: *ref_44 + required: *ref_45 + required: + - modules + - expr + default: + type: array + items: + type: object + properties: *ref_44 + required: *ref_45 + required: + - modules + type: + type: string + enum: + - branchone + required: + - branches + - default + - type + BranchAll: + type: object + properties: + branches: + type: array + items: + type: object + properties: + summary: + type: string + skip_failure: + type: boolean + modules: + type: array + items: + type: object + properties: *ref_44 + required: *ref_45 + required: + - modules + type: + type: string + enum: + - branchall + parallel: + type: boolean + required: + - branches + - type + Identity: + type: object + properties: + type: + type: string + enum: + - identity + flow: + type: boolean + required: + - type + FlowStatus: + type: object + properties: *ref_111 + required: *ref_112 + FlowStatusModule: + type: object + properties: + type: + type: string + enum: + - WaitingForPriorSteps + - WaitingForEvents + - WaitingForExecutor + - InProgress + - Success + - Failure + id: + type: string + job: + type: string + format: uuid + count: + type: integer + progress: + type: integer + iterator: + type: object + properties: + index: + type: integer + itered: + type: array + items: {} + args: {} + flow_jobs: + type: array + items: + type: string + flow_jobs_success: + type: array + items: + type: boolean + branch_chosen: + type: object + properties: + type: + type: string + enum: + - branch + - default + branch: + type: integer + required: + - type + branchall: + type: object + properties: + branch: + type: integer + len: + type: integer + required: + - branch + - len + approvers: + type: array + items: + type: object + properties: + resume_id: + type: integer + approver: + type: string + required: + - resume_id + - approver + failed_retries: + type: array + items: + type: string + format: uuid + skipped: + type: boolean + required: + - type AIProvider: type: string - enum: *ref_196 + enum: *ref_235 + GitSyncObjectType: + type: string + enum: *ref_20 AIProviderModel: type: object properties: *ref_18 required: *ref_19 AIProviderConfig: type: object - properties: *ref_197 - required: *ref_198 + properties: *ref_236 + required: *ref_237 AIConfig: type: object - properties: *ref_20 + properties: *ref_21 Alert: type: object - properties: *ref_199 - required: *ref_200 + properties: *ref_238 + required: *ref_239 Configs: type: object nullable: true - properties: *ref_201 + properties: *ref_240 Script: - type: object - properties: *ref_44 - required: *ref_45 - NewScript: - type: object - properties: *ref_49 - required: *ref_50 - NewScriptWithDraft: - allOf: *ref_202 - ScriptHistory: type: object properties: *ref_51 required: *ref_52 + NewScript: + type: object + properties: *ref_56 + required: *ref_57 + NewScriptWithDraft: + allOf: *ref_241 + ScriptHistory: + type: object + properties: *ref_58 + required: *ref_59 ScriptArgs: type: object - additionalProperties: *ref_21 + additionalProperties: *ref_22 Input: type: object - properties: *ref_177 - required: *ref_178 + properties: *ref_194 + required: *ref_195 CreateInput: type: object - properties: *ref_203 - required: *ref_204 + properties: *ref_242 + required: *ref_243 UpdateInput: type: object - properties: *ref_205 - required: *ref_206 + properties: *ref_244 + required: *ref_245 RunnableType: type: string - enum: *ref_207 + enum: *ref_246 QueuedJob: type: object - properties: *ref_108 - required: *ref_109 + properties: *ref_121 + required: *ref_122 CompletedJob: type: object - properties: *ref_106 - required: *ref_107 + properties: *ref_119 + required: *ref_120 ObscuredJob: type: object - properties: *ref_208 + properties: *ref_247 Job: - oneOf: *ref_111 - discriminator: *ref_112 + oneOf: *ref_124 + discriminator: *ref_125 User: type: object properties: *ref_10 required: *ref_11 UserUsage: type: object - properties: *ref_209 + properties: *ref_248 Login: type: object - properties: *ref_210 - required: *ref_211 + properties: *ref_249 + required: *ref_250 EditWorkspaceUser: type: object - properties: *ref_212 + properties: *ref_251 TruncatedToken: type: object - properties: *ref_47 - required: *ref_48 + properties: *ref_54 + required: *ref_55 NewToken: type: object - properties: *ref_213 + properties: *ref_252 NewTokenImpersonate: type: object - properties: *ref_214 - required: *ref_215 + properties: *ref_253 + required: *ref_254 ListableVariable: type: object - properties: *ref_27 - required: *ref_28 + properties: *ref_32 + required: *ref_33 ContextualVariable: type: object - properties: *ref_216 - required: *ref_217 + properties: *ref_255 + required: *ref_256 CreateVariable: type: object - properties: *ref_218 - required: *ref_219 + properties: *ref_257 + required: *ref_258 EditVariable: type: object - properties: *ref_220 + properties: *ref_259 AuditLog: type: object properties: *ref_1 @@ -19475,33 +21067,38 @@ components: - 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 + type: object + properties: + name: + type: string + props: + type: array + items: + type: object + properties: + key: + type: string + typ: + oneOf: + - type: string + enum: + - float + - int + - bool + - email + - unknown + - bytes + - dict + - datetime + - sql + - type: object + properties: + str: {} + required: + - str + required: + - key + - typ required: - object - type: object @@ -19549,258 +21146,284 @@ components: - has_preprocessor ScriptLang: type: string - enum: *ref_43 + enum: *ref_50 Preview: type: object - properties: *ref_221 - required: *ref_222 + properties: *ref_260 + required: *ref_261 WorkflowTask: type: object - properties: *ref_223 - required: *ref_224 + properties: *ref_262 + required: *ref_263 WorkflowStatusRecord: type: object - additionalProperties: *ref_225 + additionalProperties: + type: object + properties: *ref_113 WorkflowStatus: type: object - properties: *ref_226 + properties: *ref_113 CreateResource: type: object - properties: *ref_227 - required: *ref_228 + properties: *ref_264 + required: *ref_265 EditResource: type: object - properties: *ref_229 + properties: *ref_266 Resource: type: object - properties: *ref_230 - required: *ref_231 + properties: *ref_267 + required: *ref_268 ListableResource: type: object - properties: *ref_232 - required: *ref_233 + properties: *ref_269 + required: *ref_270 ResourceType: type: object - properties: *ref_32 - required: *ref_33 + properties: *ref_39 + required: *ref_40 EditResourceType: type: object - properties: *ref_234 + properties: *ref_271 Schedule: type: object - properties: *ref_115 - required: *ref_116 + properties: *ref_128 + required: *ref_129 ScheduleWJobs: - allOf: *ref_235 + allOf: *ref_272 NewSchedule: type: object - properties: *ref_236 - required: *ref_237 + properties: *ref_273 + required: *ref_274 EditSchedule: type: object - properties: *ref_238 - required: *ref_239 + properties: *ref_275 + required: *ref_276 TriggerExtraProperty: type: object - properties: *ref_122 - required: *ref_123 + properties: *ref_139 + required: *ref_140 AuthenticationMethod: type: string - enum: *ref_117 - HttpTrigger: - allOf: *ref_118 + enum: *ref_134 + RunnableKind: + type: string + enum: *ref_277 + OpenapiSpecFormat: + type: string + enum: *ref_278 + OpenapiHttpRouteFilters: type: object - properties: *ref_119 - required: *ref_120 + properties: *ref_279 + required: *ref_280 + WebhookFilters: + type: object + properties: *ref_281 + required: *ref_282 + OpenapiV3Info: + type: object + properties: *ref_283 + required: *ref_284 + GenerateOpenapiSpec: + type: object + properties: *ref_130 + HttpMethod: + type: string + enum: *ref_133 + HttpTrigger: + allOf: *ref_135 + type: object + properties: *ref_136 + required: *ref_137 NewHttpTrigger: type: object - properties: *ref_240 - required: *ref_241 + properties: *ref_131 + required: *ref_132 EditHttpTrigger: type: object - properties: *ref_242 - required: *ref_243 + properties: *ref_285 + required: *ref_286 TriggersCount: type: object - properties: *ref_66 + properties: *ref_73 WebsocketTrigger: - allOf: *ref_124 + allOf: *ref_141 type: object - properties: *ref_125 - required: *ref_126 + properties: *ref_142 + required: *ref_143 NewWebsocketTrigger: type: object - properties: *ref_244 - required: *ref_245 + properties: *ref_287 + required: *ref_288 EditWebsocketTrigger: type: object - properties: *ref_246 - required: *ref_247 + properties: *ref_289 + required: *ref_290 WebsocketTriggerInitialMessage: - anyOf: *ref_121 + anyOf: *ref_138 MqttQoS: type: string - enum: *ref_248 + enum: *ref_291 MqttV3Config: type: object - properties: *ref_139 + properties: *ref_156 MqttV5Config: type: object - properties: *ref_140 + properties: *ref_157 MqttSubscribeTopic: type: object - properties: *ref_137 - required: *ref_138 + properties: *ref_154 + required: *ref_155 MqttClientVersion: type: string - enum: *ref_141 + enum: *ref_158 MqttTrigger: - allOf: *ref_142 + allOf: *ref_159 type: object - properties: *ref_143 - required: *ref_144 + properties: *ref_160 + required: *ref_161 NewMqttTrigger: type: object - properties: *ref_249 - required: *ref_250 + properties: *ref_292 + required: *ref_293 EditMqttTrigger: type: object - properties: *ref_251 - required: *ref_252 + properties: *ref_294 + required: *ref_295 DeliveryType: type: string - enum: *ref_147 + enum: *ref_164 PushConfig: type: object - properties: *ref_148 - required: *ref_149 + properties: *ref_165 + required: *ref_166 GcpTrigger: - allOf: *ref_151 + allOf: *ref_168 type: object - properties: *ref_152 - required: *ref_153 + properties: *ref_169 + required: *ref_170 SubscriptionMode: type: string - enum: *ref_150 + enum: *ref_167 description: >- The mode of subscription. 'existing' means using an existing GCP subscription, while 'create_update' involves creating or updating a new subscription. GcpTriggerData: type: object - properties: *ref_145 - required: *ref_146 + properties: *ref_162 + required: *ref_163 GetAllTopicSubscription: type: object - properties: *ref_253 - required: *ref_254 + properties: *ref_296 + required: *ref_297 DeleteGcpSubscription: type: object - properties: *ref_255 - required: *ref_256 + properties: *ref_298 + required: *ref_299 AwsAuthResourceType: type: string - enum: *ref_133 + enum: *ref_150 SqsTrigger: - allOf: *ref_134 + allOf: *ref_151 type: object - properties: *ref_135 - required: *ref_136 + properties: *ref_152 + required: *ref_153 NewSqsTrigger: type: object - properties: *ref_257 - required: *ref_258 + properties: *ref_300 + required: *ref_301 EditSqsTrigger: type: object - properties: *ref_259 - required: *ref_260 + properties: *ref_302 + required: *ref_303 Slot: type: object - properties: *ref_154 + properties: *ref_171 SlotList: type: object - properties: *ref_261 + properties: *ref_304 PublicationData: type: object - properties: *ref_158 - required: *ref_159 + properties: *ref_175 + required: *ref_176 TableToTrack: type: array - items: *ref_262 + items: *ref_305 Relations: type: object - properties: *ref_155 - required: *ref_156 + properties: *ref_172 + required: *ref_173 Language: type: string - enum: *ref_263 + enum: *ref_306 TemplateScript: type: object - properties: *ref_264 - required: *ref_265 + properties: *ref_307 + required: *ref_308 PostgresTrigger: - allOf: *ref_160 + allOf: *ref_177 type: object - properties: *ref_161 - required: *ref_162 + properties: *ref_178 + required: *ref_179 NewPostgresTrigger: type: object - properties: *ref_266 - required: *ref_267 + properties: *ref_309 + required: *ref_310 EditPostgresTrigger: type: object - properties: *ref_268 - required: *ref_269 + properties: *ref_311 + required: *ref_312 KafkaTrigger: - allOf: *ref_127 + allOf: *ref_144 type: object - properties: *ref_128 - required: *ref_129 + properties: *ref_145 + required: *ref_146 NewKafkaTrigger: type: object - properties: *ref_270 - required: *ref_271 + properties: *ref_313 + required: *ref_314 EditKafkaTrigger: type: object - properties: *ref_272 - required: *ref_273 + properties: *ref_315 + required: *ref_316 NatsTrigger: - allOf: *ref_130 + allOf: *ref_147 type: object - properties: *ref_131 - required: *ref_132 + properties: *ref_148 + required: *ref_149 NewNatsTrigger: type: object - properties: *ref_274 - required: *ref_275 + properties: *ref_317 + required: *ref_318 EditNatsTrigger: type: object - properties: *ref_276 - required: *ref_277 + properties: *ref_319 + required: *ref_320 Group: type: object - properties: *ref_168 - required: *ref_169 + properties: *ref_185 + required: *ref_186 InstanceGroup: type: object - properties: *ref_164 - required: *ref_165 + properties: *ref_181 + required: *ref_182 Folder: type: object - properties: *ref_170 - required: *ref_171 + properties: *ref_187 + required: *ref_188 WorkerPing: type: object - properties: *ref_278 - required: *ref_279 + properties: *ref_321 + required: *ref_322 UserWorkspaceList: type: object - properties: *ref_280 - required: *ref_281 + properties: *ref_323 + required: *ref_324 CreateWorkspace: type: object - properties: *ref_282 - required: *ref_283 + properties: *ref_325 + required: *ref_326 Workspace: type: object properties: *ref_7 @@ -19814,48 +21437,56 @@ components: properties: *ref_14 required: *ref_15 Flow: - allOf: *ref_65 + allOf: *ref_72 ExtraPerms: type: object - additionalProperties: *ref_284 + additionalProperties: *ref_327 FlowMetadata: type: object - properties: *ref_285 - required: *ref_286 + properties: *ref_328 + required: *ref_329 OpenFlowWPath: - allOf: *ref_67 + allOf: *ref_74 FlowPreview: type: object - properties: *ref_287 - required: *ref_288 + properties: *ref_330 + required: *ref_331 RestartedFrom: type: object - properties: *ref_289 + properties: *ref_332 Policy: type: object - properties: *ref_68 + properties: *ref_75 ListableApp: type: object - properties: *ref_290 - required: *ref_291 + properties: *ref_333 + required: *ref_334 + ScopeDefinition: + type: object + properties: *ref_335 + required: *ref_336 + ScopeDomain: + type: object + properties: *ref_337 + required: *ref_338 ListableRawApp: type: object - properties: *ref_292 - required: *ref_293 + properties: *ref_339 + required: *ref_340 AppWithLastVersion: type: object - properties: *ref_69 - required: *ref_70 + properties: *ref_76 + required: *ref_77 AppWithLastVersionWDraft: - allOf: *ref_294 + allOf: *ref_341 AppHistory: type: object - properties: *ref_71 - required: *ref_72 + properties: *ref_78 + required: *ref_79 FlowVersion: type: object - properties: *ref_63 - required: *ref_64 + properties: *ref_70 + required: *ref_71 SlackToken: type: object properties: @@ -19877,46 +21508,50 @@ components: - bot TokenResponse: type: object - properties: *ref_295 - required: *ref_296 + properties: *ref_36 + required: *ref_37 HubScriptKind: type: string - enum: *ref_42 + enum: *ref_49 PolarsClientKwargs: type: object - properties: *ref_181 - required: *ref_182 + properties: *ref_198 + required: *ref_199 LargeFileStorage: type: object - properties: *ref_22 + properties: *ref_23 + DucklakeSettings: + type: object + required: *ref_24 + properties: *ref_25 WindmillLargeFile: type: object - properties: *ref_297 - required: *ref_298 + properties: *ref_342 + required: *ref_343 WindmillFileMetadata: type: object - properties: *ref_299 + properties: *ref_344 WindmillFilePreview: type: object - properties: *ref_300 - required: *ref_301 + properties: *ref_345 + required: *ref_346 S3Resource: type: object - properties: *ref_179 - required: *ref_180 + properties: *ref_196 + required: *ref_197 WorkspaceGitSyncSettings: type: object - properties: *ref_23 + properties: *ref_26 WorkspaceDeployUISettings: type: object - properties: *ref_24 + properties: *ref_29 WorkspaceDefaultScripts: type: object - properties: *ref_25 + properties: *ref_30 GitRepositorySettings: type: object - properties: *ref_302 - required: *ref_303 + properties: *ref_27 + required: *ref_28 UploadFilePart: type: object properties: @@ -19929,71 +21564,71 @@ components: - tag MetricMetadata: type: object - properties: *ref_304 - required: *ref_305 + properties: *ref_347 + required: *ref_348 ScalarMetric: type: object - properties: *ref_306 - required: *ref_307 + properties: *ref_349 + required: *ref_350 TimeseriesMetric: type: object - properties: *ref_308 - required: *ref_309 + properties: *ref_351 + required: *ref_352 MetricDataPoint: type: object - properties: *ref_310 - required: *ref_311 + properties: *ref_353 + required: *ref_354 RawScriptForDependencies: type: object - properties: *ref_312 - required: *ref_313 + properties: *ref_355 + required: *ref_356 ConcurrencyGroup: type: object - properties: *ref_314 - required: *ref_315 + properties: *ref_357 + required: *ref_358 ExtendedJobs: type: object - properties: *ref_316 - required: *ref_317 + properties: *ref_359 + required: *ref_360 ExportedUser: type: object properties: *ref_3 required: *ref_4 GlobalSetting: type: object - properties: *ref_318 - required: *ref_319 + properties: *ref_361 + required: *ref_362 Config: type: object - properties: *ref_320 - required: *ref_321 + properties: *ref_363 + required: *ref_364 ExportedInstanceGroup: type: object - properties: *ref_166 - required: *ref_167 + properties: *ref_183 + required: *ref_184 JobSearchHit: type: object - properties: *ref_322 + properties: *ref_365 LogSearchHit: type: object - properties: *ref_323 + properties: *ref_366 AutoscalingEvent: type: object - properties: *ref_324 + properties: *ref_367 CriticalAlert: type: object - properties: *ref_29 + properties: *ref_34 CaptureTriggerKind: type: string - enum: *ref_172 + enum: *ref_189 Capture: type: object - properties: *ref_173 - required: *ref_174 + properties: *ref_190 + required: *ref_191 CaptureConfig: type: object - properties: *ref_325 - required: *ref_326 + properties: *ref_368 + required: *ref_369 OperatorSettings: nullable: true type: object @@ -20001,15 +21636,15 @@ components: properties: *ref_13 TeamInfo: type: object - required: *ref_327 - properties: *ref_328 + required: *ref_370 + properties: *ref_371 ChannelInfo: type: object - required: *ref_329 - properties: *ref_330 + required: *ref_372 + properties: *ref_373 GithubInstallations: type: array - items: *ref_331 + items: *ref_374 WorkspaceGithubInstallation: type: object properties: @@ -20022,8 +21657,8 @@ components: - installation_id S3Object: type: object - properties: *ref_75 - required: *ref_76 + properties: *ref_82 + required: *ref_83 TeamsChannel: type: object required: @@ -20048,76 +21683,88 @@ components: type: string description: Microsoft Teams channel name minLength: 1 - StaticTransform: + AssetUsageKind: + type: string + enum: *ref_203 + AssetUsageAccessType: + type: string + enum: *ref_204 + AssetKind: + type: string + enum: *ref_202 + Asset: type: object - properties: *ref_332 - required: *ref_333 - JavascriptTransform: + properties: + path: + type: string + kind: + type: string + enum: *ref_202 + required: + - path + - kind + schemas-StaticTransform: type: object - properties: *ref_334 - required: *ref_335 + properties: *ref_84 + required: *ref_85 + schemas-JavascriptTransform: + type: object + properties: *ref_86 + required: *ref_87 schemas-InputTransform: - oneOf: *ref_35 - discriminator: *ref_36 - RawScript: + oneOf: *ref_42 + discriminator: *ref_43 + schemas-RawScript: type: object - properties: *ref_336 - required: *ref_337 - PathScript: + properties: *ref_219 + required: *ref_220 + schemas-PathScript: type: object - properties: *ref_338 - required: *ref_339 - PathFlow: + properties: *ref_221 + required: *ref_222 + schemas-PathFlow: type: object - properties: *ref_340 - required: *ref_341 - FlowModule: + properties: *ref_223 + required: *ref_224 + schemas-FlowModule: type: object - properties: *ref_37 - required: *ref_38 - ForloopFlow: + properties: *ref_44 + required: *ref_45 + schemas-ForloopFlow: type: object - properties: *ref_342 - required: *ref_343 - WhileloopFlow: + properties: *ref_225 + required: *ref_226 + schemas-WhileloopFlow: type: object - properties: *ref_344 - required: *ref_345 - BranchOne: + properties: *ref_227 + required: *ref_228 + schemas-BranchOne: type: object - properties: *ref_346 - required: *ref_347 - BranchAll: + properties: *ref_229 + required: *ref_230 + schemas-BranchAll: type: object - properties: *ref_348 - required: *ref_349 - Identity: + properties: *ref_231 + required: *ref_232 + schemas-Identity: type: object - properties: *ref_350 - required: *ref_351 - FlowModuleValue: - oneOf: *ref_352 - discriminator: *ref_353 - StopAfterIf: + properties: *ref_233 + required: *ref_234 + schemas-FlowModuleValue: + oneOf: *ref_216 + discriminator: *ref_217 + schemas-StopAfterIf: type: object - properties: *ref_39 - required: *ref_40 - Retry: + properties: *ref_46 + required: *ref_47 + schemas-Retry: type: object - properties: *ref_114 - FlowValue: + properties: *ref_218 + schemas-FlowValue: type: object - properties: *ref_78 - required: *ref_79 - OpenFlow: + properties: *ref_375 + required: *ref_376 + schemas-FlowStatusModule: type: object - properties: *ref_61 - required: *ref_62 - FlowStatusModule: - type: object - properties: *ref_80 - required: *ref_81 - FlowStatus: - type: object - properties: *ref_99 - required: *ref_100 + properties: *ref_90 + required: *ref_91