Windmill · JSON Structure
Windmill Schedule Structure
Structure definition for Windmill Schedule
Type:
Properties: 0
AutomationInternal ToolsOpen SourceProCode API CompositionScriptsWebhooksWorkflow EngineWorkflows
Windmill Schedule Structure is a JSON Structure definition published by Windmill. It conforms to the https://json-schema.org/draft/2020-12/schema meta-schema.
Meta-schema: https://json-schema.org/draft/2020-12/schema
JSON Structure
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/windmill/refs/heads/main/json-structure/windmill-schedule-structure.json",
"title": "Windmill Schedule Structure",
"description": "Structure definition for Windmill Schedule",
"structure": {
"type": "object",
"required": [
"path",
"edited_by",
"edited_at",
"schedule",
"script_path",
"timezone",
"extra_perms",
"is_flow",
"enabled",
"email",
"permissioned_as"
],
"properties": {
"path": {
"type": "string",
"description": "The unique Windmill path for this schedule. Must be of the form `u/<user>/<path>` or `f/<folder>/<path>`."
},
"edited_by": {
"type": "string",
"description": "Username of the last person who edited this schedule"
},
"edited_at": {
"type": "string",
"description": "Timestamp of the last edit"
},
"schedule": {
"type": "string",
"description": "Cron expression with 6 fields (seconds, minutes, hours, day of month, month, day of week). Example '0 0 12 * * *' for daily at noon"
},
"timezone": {
"type": "string",
"description": "IANA timezone for the schedule (e.g., 'UTC', 'Europe/Paris', 'America/New_York')"
},
"enabled": {
"type": "boolean",
"description": "Whether the schedule is currently active and will trigger jobs"
},
"script_path": {
"type": "string",
"description": "Path to the script or flow to execute when triggered"
},
"is_flow": {
"type": "boolean",
"description": "True if script_path points to a flow, false if it points to a script"
},
"args": {
"type": "ScriptArgs"
},
"extra_perms": {
"type": "object",
"description": "Additional permissions for this schedule"
},
"email": {
"type": "string",
"description": "Email of the user who owns this schedule, used for permissioned_as"
},
"permissioned_as": {
"type": "string",
"description": "The user or group this schedule runs as (e.g., 'u/admin' or 'g/mygroup')"
},
"error": {
"type": "string",
"description": "Last error message if the schedule failed to trigger"
},
"on_failure": {
"type": "string",
"description": "Path to a script or flow to run when the scheduled job fails"
},
"on_failure_times": {
"type": "number",
"description": "Number of consecutive failures before the on_failure handler is triggered (default 1)"
},
"on_failure_exact": {
"type": "boolean",
"description": "If true, trigger on_failure handler only on exactly N failures, not on every failure after N"
},
"on_failure_extra_args": {
"type": "ScriptArgs"
},
"on_recovery": {
"type": "string",
"description": "Path to a script or flow to run when the schedule recovers after failures"
},
"on_recovery_times": {
"type": "number",
"description": "Number of consecutive successes before the on_recovery handler is triggered (default 1)"
},
"on_recovery_extra_args": {
"type": "ScriptArgs"
}
}
}
}