Files
windmill/frontend/src/lib/mcpEndpointTools.ts
T
2025-12-15 22:52:49 +00:00

1427 lines
56 KiB
TypeScript

// Auto-generated MCP tools from OpenAPI specification
// This file is generated by generate_mcp_tools.py - DO NOT EDIT MANUALLY
export interface EndpointTool {
name: string;
description: string;
instructions: string;
path: string;
method: string;
pathParamsSchema?: object;
queryParamsSchema?: object;
bodySchema?: object;
}
export const mcpEndpointTools: EndpointTool[] = [
{
name: "queryDocumentation",
description: "query Windmill AI documentation assistant (EE only)",
instructions: "",
path: "/inkeep",
method: "POST",
pathParamsSchema: undefined,
queryParamsSchema: undefined,
bodySchema: {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The documentation query to send to the AI assistant"
}
},
"required": [
"query"
]
}
},
{
name: "createVariable",
description: "create variable",
instructions: "",
path: "/w/{workspace}/variables/create",
method: "POST",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"already_encrypted": {
"type": "boolean",
"description": "whether the variable is already encrypted (default false)"
}
},
"required": []
},
bodySchema: {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The path to the variable"
},
"value": {
"type": "string",
"description": "The value of the variable"
},
"is_secret": {
"type": "boolean",
"description": "Whether the variable is a secret"
},
"description": {
"type": "string",
"description": "The description of the variable"
},
"account": {
"type": "integer",
"description": "The account identifier"
},
"is_oauth": {
"type": "boolean",
"description": "Whether the variable is an OAuth variable"
},
"expires_at": {
"type": "string",
"description": "The expiration date of the variable",
"format": "date-time"
}
},
"required": [
"path",
"value",
"is_secret",
"description"
]
}
},
{
name: "deleteVariable",
description: "delete variable",
instructions: "",
path: "/w/{workspace}/variables/delete/{path}",
method: "DELETE",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: undefined
},
{
name: "updateVariable",
description: "update variable",
instructions: "",
path: "/w/{workspace}/variables/update/{path}",
method: "POST",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: {
"type": "object",
"properties": {
"already_encrypted": {
"type": "boolean",
"description": "whether the variable is already encrypted (default false)"
}
},
"required": []
},
bodySchema: {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The path to the variable"
},
"value": {
"type": "string",
"description": "The new value of the variable"
},
"is_secret": {
"type": "boolean",
"description": "Whether the variable is a secret"
},
"description": {
"type": "string",
"description": "The new description of the variable"
}
}
}
},
{
name: "getVariable",
description: "get variable",
instructions: "",
path: "/w/{workspace}/variables/get/{path}",
method: "GET",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: {
"type": "object",
"properties": {
"decrypt_secret": {
"type": "boolean",
"description": "ask to decrypt secret if this variable is secret\n(if not secret no effect, default: true)\n"
},
"include_encrypted": {
"type": "boolean",
"description": "ask to include the encrypted value if secret and decrypt secret is not true (default: false)\n"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "listVariable",
description: "list variables",
instructions: "",
path: "/w/{workspace}/variables/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"path_start": {
"type": "string",
"description": "filter variables by path prefix"
},
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "createResource",
description: "create resource",
instructions: "",
path: "/w/{workspace}/resources/create",
method: "POST",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"update_if_exists": {
"type": "boolean",
"description": "update the resource if it already exists (default false)"
}
},
"required": []
},
bodySchema: {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The path to the resource"
},
"value": {},
"description": {
"type": "string",
"description": "The description of the resource"
},
"resource_type": {
"type": "string",
"description": "The resource_type associated with the resource"
}
},
"required": [
"path",
"value",
"resource_type"
]
}
},
{
name: "deleteResource",
description: "delete resource",
instructions: "",
path: "/w/{workspace}/resources/delete/{path}",
method: "DELETE",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: undefined
},
{
name: "updateResource",
description: "update resource",
instructions: "",
path: "/w/{workspace}/resources/update/{path}",
method: "POST",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The path to the resource"
},
"description": {
"type": "string",
"description": "The new description of the resource"
},
"value": {},
"resource_type": {
"type": "string",
"description": "The new resource_type to be associated with the resource"
}
}
}
},
{
name: "getResource",
description: "get resource",
instructions: "",
path: "/w/{workspace}/resources/get/{path}",
method: "GET",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: undefined
},
{
name: "listResource",
description: "list resources",
instructions: "",
path: "/w/{workspace}/resources/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"resource_type": {
"type": "string",
"description": "resource_types to list from, separated by ',',"
},
"resource_type_exclude": {
"type": "string",
"description": "resource_types to not list from, separated by ',',"
},
"path_start": {
"type": "string",
"description": "filter resources by path prefix"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "listResourceType",
description: "list resource_types",
instructions: "",
path: "/w/{workspace}/resources/type/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: undefined,
bodySchema: undefined
},
{
name: "listScripts",
description: "list all scripts",
instructions: "",
path: "/w/{workspace}/scripts/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"order_desc": {
"type": "boolean",
"description": "order by desc order (default true)"
},
"created_by": {
"type": "string",
"description": "mask to filter exact matching user creator"
},
"path_start": {
"type": "string",
"description": "mask to filter matching starting path"
},
"path_exact": {
"type": "string",
"description": "mask to filter exact matching path"
},
"first_parent_hash": {
"type": "string",
"description": "mask to filter scripts whom first direct parent has exact hash"
},
"last_parent_hash": {
"type": "string",
"description": "mask to filter scripts whom last parent in the chain has exact hash.\nBeware that each script stores only a limited number of parents. Hence\nthe last parent hash for a script is not necessarily its top-most parent.\nTo find the top-most parent you will have to jump from last to last hash\n until finding the parent\n"
},
"parent_hash": {
"type": "string",
"description": "is the hash present in the array of stored parent hashes for this script.\nThe same warning applies than for last_parent_hash. A script only store a\nlimited number of direct parent\n"
},
"show_archived": {
"type": "boolean",
"description": "(default false)\nshow only the archived files.\nwhen multiple archived hash share the same path, only the ones with the latest create_at\nare\ned.\n"
},
"include_without_main": {
"type": "boolean",
"description": "(default false)\ninclude scripts without an exported main function\n"
},
"include_draft_only": {
"type": "boolean",
"description": "(default false)\ninclude scripts that have no deployed version\n"
},
"is_template": {
"type": "boolean",
"description": "(default regardless)\nif true show only the templates\nif false show only the non templates\nif not defined, show all regardless of if the script is a template\n"
},
"kinds": {
"type": "string",
"description": "(default regardless)\nscript kinds to filter, split by comma\n"
},
"starred_only": {
"type": "boolean",
"description": "(default false)\nshow only the starred items\n"
},
"with_deployment_msg": {
"type": "boolean",
"description": "(default false)\ninclude deployment message\n"
},
"languages": {
"type": "string",
"description": "Filter to only include scripts written in the given languages.\nAccepts multiple values as a comma-separated list.\n"
},
"without_description": {
"type": "boolean",
"description": "(default false)\nIf true, the description field will be omitted from the response.\n"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "getScriptByPath",
description: "get script by path",
instructions: "",
path: "/w/{workspace}/scripts/get/p/{path}",
method: "GET",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: {
"type": "object",
"properties": {
"with_starred_info": {
"type": "boolean"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "listFlows",
description: "list all flows",
instructions: "",
path: "/w/{workspace}/flows/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"order_desc": {
"type": "boolean",
"description": "order by desc order (default true)"
},
"created_by": {
"type": "string",
"description": "mask to filter exact matching user creator"
},
"path_start": {
"type": "string",
"description": "mask to filter matching starting path"
},
"path_exact": {
"type": "string",
"description": "mask to filter exact matching path"
},
"show_archived": {
"type": "boolean",
"description": "(default false)\nshow only the archived files.\nwhen multiple archived hash share the same path, only the ones with the latest create_at\nare displayed.\n"
},
"starred_only": {
"type": "boolean",
"description": "(default false)\nshow only the starred items\n"
},
"include_draft_only": {
"type": "boolean",
"description": "(default false)\ninclude items that have no deployed version\n"
},
"with_deployment_msg": {
"type": "boolean",
"description": "(default false)\ninclude deployment message\n"
},
"without_description": {
"type": "boolean",
"description": "(default false)\nIf true, the description field will be omitted from the response.\n"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "getFlowByPath",
description: "get flow by path",
instructions: "",
path: "/w/{workspace}/flows/get/{path}",
method: "GET",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: {
"type": "object",
"properties": {
"with_starred_info": {
"type": "boolean"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "runScriptPreviewAndWaitResult",
description: "run script preview and wait for result",
instructions: "Allows testing a script before deploying it. For typescript code, the language to send is either bun or deno. By default, send bun if no deno specific code is detected.",
path: "/w/{workspace}/jobs/run_wait_result/preview",
method: "POST",
pathParamsSchema: undefined,
queryParamsSchema: undefined,
bodySchema: {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The code to run"
},
"path": {
"type": "string",
"description": "The path to the script"
},
"script_hash": {
"type": "string",
"description": "The hash of the script"
},
"args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"language": {
"type": "string",
"enum": [
"python3",
"deno",
"go",
"bash",
"powershell",
"postgresql",
"mysql",
"bigquery",
"snowflake",
"mssql",
"oracledb",
"graphql",
"nativets",
"bun",
"php",
"rust",
"ansible",
"csharp",
"nu",
"java",
"ruby",
"duckdb"
]
},
"tag": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"code",
"identity",
"http"
]
},
"dedicated_worker": {
"type": "boolean"
},
"lock": {
"type": "string"
}
},
"required": [
"args",
"content",
"language"
]
}
},
{
name: "listQueue",
description: "list all queued jobs",
instructions: "",
path: "/w/{workspace}/jobs/queue/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"order_desc": {
"type": "boolean",
"description": "order by desc order (default true)"
},
"created_by": {
"type": "string",
"description": "mask to filter exact matching user creator"
},
"parent_job": {
"type": "string",
"format": "uuid",
"description": "The parent job that is at the origin and responsible for the execution of this script if any"
},
"worker": {
"type": "string",
"description": "worker this job was ran on"
},
"script_path_exact": {
"type": "string",
"description": "mask to filter exact matching path"
},
"script_path_start": {
"type": "string",
"description": "mask to filter matching starting path"
},
"schedule_path": {
"type": "string",
"description": "mask to filter by schedule path"
},
"trigger_path": {
"type": "string",
"description": "mask to filter by trigger path"
},
"trigger_kind": {
"description": "trigger kind (schedule, http, websocket...)",
"type": "string",
"enum": [
"webhook",
"default_email",
"email",
"schedule",
"http",
"websocket",
"postgres",
"kafka",
"nats",
"mqtt",
"sqs",
"gcp"
]
},
"script_hash": {
"type": "string",
"description": "mask to filter exact matching path"
},
"started_before": {
"type": "string",
"format": "date-time",
"description": "filter on started before (inclusive) timestamp"
},
"started_after": {
"type": "string",
"format": "date-time",
"description": "filter on started after (exclusive) timestamp"
},
"success": {
"type": "boolean",
"description": "filter on successful jobs"
},
"scheduled_for_before_now": {
"type": "boolean",
"description": "filter on jobs scheduled_for before now (hence waitinf for a worker)"
},
"job_kinds": {
"type": "string",
"description": "filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by,"
},
"suspended": {
"type": "boolean",
"description": "filter on suspended jobs"
},
"running": {
"type": "boolean",
"description": "filter on running jobs"
},
"args": {
"type": "string",
"description": "filter on jobs containing those args as a json subset (@> in postgres)"
},
"result": {
"type": "string",
"description": "filter on jobs containing those result as a json subset (@> in postgres)"
},
"allow_wildcards": {
"type": "boolean",
"description": "allow wildcards (*) in the filter of label, tag, worker"
},
"tag": {
"type": "string",
"description": "filter on jobs with a given tag/worker group"
},
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"all_workspaces": {
"type": "boolean",
"description": "get jobs from all workspaces (only valid if request come from the `admins` workspace)"
},
"is_not_schedule": {
"type": "boolean",
"description": "is not a scheduled job"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "listJobs",
description: "list all jobs",
instructions: "",
path: "/w/{workspace}/jobs/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"created_by": {
"type": "string",
"description": "mask to filter exact matching user creator"
},
"label": {
"type": "string",
"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')"
},
"worker": {
"type": "string",
"description": "worker this job was ran on"
},
"parent_job": {
"type": "string",
"format": "uuid",
"description": "The parent job that is at the origin and responsible for the execution of this script if any"
},
"script_path_exact": {
"type": "string",
"description": "mask to filter exact matching path"
},
"script_path_start": {
"type": "string",
"description": "mask to filter matching starting path"
},
"schedule_path": {
"type": "string",
"description": "mask to filter by schedule path"
},
"script_hash": {
"type": "string",
"description": "mask to filter exact matching path"
},
"started_before": {
"type": "string",
"format": "date-time",
"description": "filter on started before (inclusive) timestamp"
},
"started_after": {
"type": "string",
"format": "date-time",
"description": "filter on started after (exclusive) timestamp"
},
"created_before": {
"type": "string",
"format": "date-time",
"description": "filter on created before (inclusive) timestamp"
},
"created_after": {
"type": "string",
"format": "date-time",
"description": "filter on created after (exclusive) timestamp"
},
"completed_before": {
"type": "string",
"format": "date-time",
"description": "filter on started before (inclusive) timestamp"
},
"completed_after": {
"type": "string",
"format": "date-time",
"description": "filter on started after (exclusive) timestamp"
},
"created_before_queue": {
"type": "string",
"format": "date-time",
"description": "filter on jobs created before X for jobs in the queue only"
},
"created_after_queue": {
"type": "string",
"format": "date-time",
"description": "filter on jobs created after X for jobs in the queue only"
},
"running": {
"type": "boolean",
"description": "filter on running jobs"
},
"scheduled_for_before_now": {
"type": "boolean",
"description": "filter on jobs scheduled_for before now (hence waitinf for a worker)"
},
"job_kinds": {
"type": "string",
"description": "filter on job kind (values 'preview', 'script', 'dependencies', 'flow') separated by,"
},
"suspended": {
"type": "boolean",
"description": "filter on suspended jobs"
},
"args": {
"type": "string",
"description": "filter on jobs containing those args as a json subset (@> in postgres)"
},
"tag": {
"type": "string",
"description": "filter on jobs with a given tag/worker group"
},
"result": {
"type": "string",
"description": "filter on jobs containing those result as a json subset (@> in postgres)"
},
"allow_wildcards": {
"type": "boolean",
"description": "allow wildcards (*) in the filter of label, tag, worker"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"trigger_kind": {
"description": "trigger kind (schedule, http, websocket...)",
"type": "string",
"enum": [
"webhook",
"default_email",
"email",
"schedule",
"http",
"websocket",
"postgres",
"kafka",
"nats",
"mqtt",
"sqs",
"gcp"
]
},
"is_skipped": {
"type": "boolean",
"description": "is the job skipped"
},
"is_flow_step": {
"type": "boolean",
"description": "is the job a flow step"
},
"has_null_parent": {
"type": "boolean",
"description": "has null parent"
},
"success": {
"type": "boolean",
"description": "filter on successful jobs"
},
"all_workspaces": {
"type": "boolean",
"description": "get jobs from all workspaces (only valid if request come from the `admins` workspace)"
},
"is_not_schedule": {
"type": "boolean",
"description": "is not a scheduled job"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "createSchedule",
description: "create schedule",
instructions: "Creates a new schedule.\nThe schedule should include seconds.\nYou should get the schema of the script or flow before creating the schedule to correctly specify the arguments needed.\n",
path: "/w/{workspace}/schedules/create",
method: "POST",
pathParamsSchema: undefined,
queryParamsSchema: undefined,
bodySchema: {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The path where the schedule will be created"
},
"schedule": {
"type": "string",
"description": "The cron schedule to trigger the script or flow. Should include seconds."
},
"timezone": {
"type": "string",
"description": "The timezone to use for the cron schedule"
},
"script_path": {
"type": "string",
"description": "The path to the script or flow to trigger"
},
"is_flow": {
"type": "boolean",
"description": "Whether the schedule is for a flow"
},
"args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"enabled": {
"type": "boolean",
"description": "Whether the schedule is enabled"
},
"on_failure": {
"type": "string",
"description": "The path to the script or flow to trigger on failure"
},
"on_failure_times": {
"type": "number",
"description": "The number of times to retry on failure"
},
"on_failure_exact": {
"type": "boolean",
"description": "Whether the schedule should only run on the exact time"
},
"on_failure_extra_args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"on_recovery": {
"type": "string",
"description": "The path to the script or flow to trigger on recovery"
},
"on_recovery_times": {
"type": "number",
"description": "The number of times to retry on recovery"
},
"on_recovery_extra_args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"on_success": {
"type": "string",
"description": "The path to the script or flow to trigger on success"
},
"on_success_extra_args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"ws_error_handler_muted": {
"type": "boolean",
"description": "Whether the WebSocket error handler is muted"
},
"retry": {
"type": "object",
"description": "Retry configuration for failed module executions",
"properties": {
"constant": {
"type": "object",
"description": "Retry with constant delay between attempts",
"properties": {
"attempts": {
"type": "integer",
"description": "Number of retry attempts"
},
"seconds": {
"type": "integer",
"description": "Seconds to wait between retries"
}
}
},
"exponential": {
"type": "object",
"description": "Retry with exponential backoff (delay doubles each time)",
"properties": {
"attempts": {
"type": "integer",
"description": "Number of retry attempts"
},
"multiplier": {
"type": "integer",
"description": "Multiplier for exponential backoff"
},
"seconds": {
"type": "integer",
"minimum": 1,
"description": "Initial delay in seconds"
},
"random_factor": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Random jitter percentage (0-100) to avoid thundering herd"
}
}
},
"retry_if": {
"type": "object",
"description": "Conditional retry based on error or result",
"properties": {
"expr": {
"type": "string",
"description": "JavaScript expression that returns true to retry. Has access to 'result' and 'error' variables"
}
},
"required": [
"expr"
]
}
}
},
"no_flow_overlap": {
"type": "boolean",
"description": "Whether the schedule should not run if a flow is already running"
},
"summary": {
"type": "string",
"description": "The summary of the schedule"
},
"description": {
"type": "string",
"description": "The description of the schedule"
},
"tag": {
"type": "string",
"description": "The tag of the schedule"
},
"paused_until": {
"type": "string",
"description": "The date and time the schedule will be paused until",
"format": "date-time"
},
"cron_version": {
"type": "string",
"description": "The version of the cron schedule to use (last is v2)"
},
"dynamic_skip": {
"type": "string",
"description": "Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean."
}
},
"required": [
"path",
"schedule",
"timezone",
"script_path",
"is_flow",
"args"
]
}
},
{
name: "updateSchedule",
description: "update schedule",
instructions: "Updates a schedule.\nThe schedule should include seconds.\nYou should get the schema of the script or flow before updating the schedule to correctly specify the arguments needed.\n",
path: "/w/{workspace}/schedules/update/{path}",
method: "POST",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: {
"type": "object",
"properties": {
"schedule": {
"type": "string",
"description": "The cron schedule to trigger the script or flow. Should include seconds."
},
"timezone": {
"type": "string",
"description": "The timezone to use for the cron schedule"
},
"args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"on_failure": {
"type": "string",
"description": "The path to the script or flow to trigger on failure"
},
"on_failure_times": {
"type": "number",
"description": "The number of times to retry on failure"
},
"on_failure_exact": {
"type": "boolean",
"description": "Whether the schedule should only run on the exact time"
},
"on_failure_extra_args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"on_recovery": {
"type": "string",
"description": "The path to the script or flow to trigger on recovery"
},
"on_recovery_times": {
"type": "number",
"description": "The number of times to retry on recovery"
},
"on_recovery_extra_args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"on_success": {
"type": "string",
"description": "The path to the script or flow to trigger on success"
},
"on_success_extra_args": {
"type": "object",
"description": "The arguments to pass to the script or flow",
"additionalProperties": {}
},
"ws_error_handler_muted": {
"type": "boolean",
"description": "Whether the WebSocket error handler is muted"
},
"retry": {
"type": "object",
"description": "Retry configuration for failed module executions",
"properties": {
"constant": {
"type": "object",
"description": "Retry with constant delay between attempts",
"properties": {
"attempts": {
"type": "integer",
"description": "Number of retry attempts"
},
"seconds": {
"type": "integer",
"description": "Seconds to wait between retries"
}
}
},
"exponential": {
"type": "object",
"description": "Retry with exponential backoff (delay doubles each time)",
"properties": {
"attempts": {
"type": "integer",
"description": "Number of retry attempts"
},
"multiplier": {
"type": "integer",
"description": "Multiplier for exponential backoff"
},
"seconds": {
"type": "integer",
"minimum": 1,
"description": "Initial delay in seconds"
},
"random_factor": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Random jitter percentage (0-100) to avoid thundering herd"
}
}
},
"retry_if": {
"type": "object",
"description": "Conditional retry based on error or result",
"properties": {
"expr": {
"type": "string",
"description": "JavaScript expression that returns true to retry. Has access to 'result' and 'error' variables"
}
},
"required": [
"expr"
]
}
}
},
"no_flow_overlap": {
"type": "boolean",
"description": "Whether the schedule should not run if a flow is already running"
},
"summary": {
"type": "string",
"description": "The summary of the schedule"
},
"description": {
"type": "string",
"description": "The description of the schedule"
},
"tag": {
"type": "string",
"description": "The tag of the schedule"
},
"paused_until": {
"type": "string",
"description": "The date and time the schedule will be paused until",
"format": "date-time"
},
"cron_version": {
"type": "string",
"description": "The version of the cron schedule to use (last is v2)"
},
"dynamic_skip": {
"type": "string",
"description": "Path to a script that validates scheduled datetimes. Receives scheduled_for datetime and returns boolean."
}
},
"required": [
"schedule",
"timezone",
"args"
]
}
},
{
name: "deleteSchedule",
description: "delete schedule",
instructions: "",
path: "/w/{workspace}/schedules/delete/{path}",
method: "DELETE",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: undefined
},
{
name: "getSchedule",
description: "get schedule",
instructions: "",
path: "/w/{workspace}/schedules/get/{path}",
method: "GET",
pathParamsSchema: {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
queryParamsSchema: undefined,
bodySchema: undefined
},
{
name: "listSchedules",
description: "list schedules",
instructions: "",
path: "/w/{workspace}/schedules/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"args": {
"type": "string",
"description": "filter on jobs containing those args as a json subset (@> in postgres)"
},
"path": {
"type": "string",
"description": "filter by path"
},
"is_flow": {
"type": "boolean",
"description": "filter schedules by whether they target a flow"
},
"path_start": {
"type": "string",
"description": "filter schedules by path prefix"
}
},
"required": []
},
bodySchema: undefined
},
{
name: "listWorkers",
description: "list workers",
instructions: "",
path: "/workers/list",
method: "GET",
pathParamsSchema: undefined,
queryParamsSchema: {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "which page to return (start at 1, default 1)"
},
"per_page": {
"type": "integer",
"description": "number of items to return for a given page (default 30, max 100)"
},
"ping_since": {
"type": "integer",
"description": "number of seconds the worker must have had a last ping more recent of (default to 300)"
}
},
"required": []
},
bodySchema: undefined
}
];