Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.
A task schedule runs a Python script or JAR from Amazon S3 on a recurring interval or cron schedule. Each execution has a processing window, run history, logs, and an execution identity.Use a schedule for recurring work such as a daily catalog-health report or an hourly data transformation. Use a one-off Job Run to submit an individual execution. Use Apache Airflow when you need to coordinate dependencies across jobs or systems.The API calls a schedule a trigger. Creating one also creates its Organization-owned task, which holds the script definition and input schema; you don’t need to create a schema yourself.
Save this as window_report.py. It prints the supplied processing window and arguments; replace the commented example with your processing code when you’re ready.
window_report.py
import osimport sysfrom datetime import datetime, timezoneWINDOW_FORMAT = "%Y-%m-%dT%H:%M:%SZ"def window_bound(name): value = os.environ.get(name) if value is None: sys.exit(f"{name} is not set: run this script from a task schedule") return datetime.strptime(value, WINDOW_FORMAT).replace(tzinfo=timezone.utc)task_run_id = os.environ["WBC_TASK_RUN_ID"]window_start = window_bound("WBC_WINDOW_START")window_end = window_bound("WBC_WINDOW_END")print(f"Task run {task_run_id}")print(f"Window [{window_start.isoformat()}, {window_end.isoformat()})")print(f"Arguments: {sys.argv[1:]}")# Process only records in the window: start inclusive, end exclusive.# For example, with WherobotsDB:# sedona.table("org_catalog.my_db.events").where(# (col("event_time") >= window_start) & (col("event_time") < window_end)# )
Arguments that you set in the schedule’s args input arrive as ordinary command-line arguments, in sys.argv[1:]. For the full list of what a script receives, see Scripts and processing windows.
Choose storage based on who will run the schedule:
Personal schedules: use My Files in the schedule’s region. Each region has its own My Files. A My Files script must belong to the Run as principal; Wherobots checks this on create, edit, and before each run.
Scripts other identities must run: use Managed Storage under data/shared/, for example for a schedule that runs as a service principal. Your Organization can read and modify these files. A person’s My Files cannot be used by a service principal.
Create the schedule paused, verify an explicit window, then resume it. Run now starts billable compute.
Cloud UI
REST API
1
Create a paused schedule
Open Scheduled Tasks and choose Create a schedule. Enter a Schedule name and choose Region. Select Create paused, which is unchecked by default.Click Browse. In Select script file, choose window_report.py from My Files for your region, for example My Files (aws-us-west-2). If you have not uploaded it yet, use the upload button in this dialog. In Upload File, confirm Uploads to My Files, then upload the script into the open folder. The source menu also offers Managed Storage and storage integrations for scripts other identities must run. For a JAR, you can provide Main class (optional).
Select script file, open on My Files in AWS US West (Oregon)
Choose Runtime. Set Arguments to --mode report. Whitespace separates arguments; quote values containing spaces. This field does not execute a shell or expand variables. Under Advanced execution settings, you can change Timeout (seconds), Runtime version, Spark settings, and dependencies. See Script inputs for defaults and the input visibility warning before adding configuration.Choose a Timing mode:
Simple interval: set Interval count and Interval unit. For intervals of a day or more, provide Start date, Start time, and Timezone.
Advanced cron: enter five fields in Cron expression (minute hour day month weekday) and choose Timezone. For this example, use 0 6 * * * with UTC.
Runs must be at least 15 minutes apart. Use cron for a fixed local clock time; review timezones and daylight saving time.Under Execution identity and notifications, leave Run as set to yourself for this personal script. See Who can manage a schedule to use a service principal. Set Notification email recipients if needed; see Failure emails for fallbacks.
Create paused and the Script and compute settings for window-report
Click Create schedule.
2
Run an explicit window
Choose Run now. Set Window start to 12:00 AM on October 25, 2026 and Window end to 12:00 AM on October 26, 2026, then click Run now. Before submitting, check Run now and backfill for the display time zone and manual-run behavior.
Run now with a custom window
3
Verify the run and its logs
Find the run under Run history. When its outcome is Succeeded, click Details ↗ to open its Job Run, then open the Logs tab and compare the output with the verification checklist. If it fails, inspect the outcome before continuing.
4
Resume recurring execution
When the output is correct, click Resume, then Resume schedule to confirm. The schedule shows Active, and Next run shows its next scheduled time.
window-report after Resume, with the successful manual run in Run history
1
Upload the script
Set these shell variables. The API requests use X-API-Key; the S3 upload must not carry it.
export WHEROBOTS_API_KEY="YOUR-API-KEY"export API="https://api.cloud.wherobots.com"REGION="aws-us-west-2"# Confirm that your Organization allows this Hosted region before continuing.curl -sSf -H "X-API-Key: $WHEROBOTS_API_KEY" "$API/organization" \ | jq -e --arg region "$REGION" 'any(.allowedRegions[]; . == $region)'
This example uses aws-us-west-2, a Hosted region. The check confirms that your Organization can run there; if it fails, choose an allowed Hosted region before continuing. For a BYOC region, see Store the script.My Files uses the storage ID user_files::<region>. Paths are relative to your personal folder in that region, without a leading slash. Request a file upload URL:
uploadUrl accepts the raw file bytes in one PUT and expires after 15 minutes. destination is the resulting s3:// URI; use it below rather than constructing a URI yourself.For shared Managed Storage, use STORAGE_ID="default" and SCRIPT_PATH="data/shared/schedules/window_report.py". For an integration, use its id from GET /storage and a path relative to its root, or upload with your AWS tools and set SCRIPT_URI to the object’s S3 URI.
Send no Wherobots credentials to uploadUrl. Keep -H 'Content-Type:': Managed Storage URLs sign an empty content type, and adding a nonempty value can cause 403. Browsers and many HTTP libraries add a content type automatically, so suppress it explicitly. Do not use multipart form data. If you use --data-binary, suppress its default content type too.
To retrieve the script later, see Download a script safely. For the My Files script uploaded above, use the same storage ID and relative path:
Every accepted request creates a new schedule. Requests aren’t deduplicated, so don’t retry a create blindly: list your schedules with GET /triggers first.Request fields
Field
Required
Description
name
Yes
A name for the schedule.
task.definition
Yes
The script to run. scriptKind is python or jar, and uri is the script’s s3:// URI. A JAR can also set mainClass.
Inputs that complete task.inputs. They may only set inputs that task.inputs leaves unset.
region
Yes
The compute region the task runs in, from allowedRegions in GET /organization.
triggerKind
Yes
Always schedule.
triggerConfig
Yes
One schedule form: { "cronExpression": "...", "timezone": "..." } with a five-field cron expression and an IANA timezone, or { "intervalMinutes": N }. An interval of a day or more (1440 minutes or more) also needs a timezone-aware startTime. Runs must be at least 15 minutes apart.
runAs
No
Your own user ID, or a service principal ID if you are an Organization administrator. Defaults to you. Another human cannot be assigned.
notificationEmails
No
Email addresses for schedule notifications.
paused
No
true creates the schedule paused. Defaults to false, which allows scheduled runs right away.
windowStart, windowEnd and taskRunId are reserved. A create or update request that sets them in task.inputs or triggerInputs returns 400.The request returns 201. The response includes the task’s input schema in task.inputSchema and its unset inputs in task.openProperties.
Example 201 response
This response is abbreviated. IDs and the My Files URI are illustrative; your script URI is the upload response’s destination.
Start one task run now, for a window you choose. This works while the schedule is paused.
TASK_RUN_ID=""if RUN_NOW=$(curl -sSf -X POST -H "X-API-Key: $WHEROBOTS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"windowStart": "2026-10-25T00:00:00Z", "windowEnd": "2026-10-26T00:00:00Z"}' \ "$API/triggers/$TRIGGER_ID/run-now") && TASK_RUN_ID=$(printf '%s\n' "$RUN_NOW" | jq -er '.taskRunId // empty'); then printf '%s\n' "$TASK_RUN_ID"else printf '%s\n' 'Run-now request failed or returned no taskRunId; stop here and inspect run history before retrying.' >&2fi
The request returns 202 with a new taskRunId. Each accepted request creates a separate run, so do not retry it blindly. See Run now and backfill for window requirements, including scripts that ignore their window.
4
Read the result and all log pages
Poll the task run until it leaves the active states PENDING, SUBMITTED, RUNNING and CANCELLING:
while [ -n "${TASK_RUN_ID:-}" ]; do RUN=$(curl -sSf -H "X-API-Key: $WHEROBOTS_API_KEY" \ "$API/task-runs/$TASK_RUN_ID") || break STATE=$(printf '%s\n' "$RUN" | jq -er '.state // empty') || { printf '%s\n' 'Could not read task-run state; stop and retry polling.' >&2; break; } printf '%s\n' "$STATE" case "$STATE" in PENDING|SUBMITTED|RUNNING|CANCELLING) sleep 15 ;; *) break ;; esacdone
If a request or response parse fails, the loop stops with an error; resolve it and resume polling before reading logs. An interruption is not a terminal run outcome.See run states to interpret the outcome. For the full schemas, see Get a task run and Get task run logs.Read every log page, passing nextSince unchanged as since. An empty page with a cursor is not the end; wait before polling again. Pages containing log lines are read without a delay. Even after the run finishes, keep polling while late log lines arrive; stop only when nextSince is null.
A request error interrupts this loop; it does not mean the logs are complete. Resolve the error and rerun the while loop from the last SINCE, without resetting it. Compare the output with Verify your schedule. To list scheduled and manual runs, use GET /triggers/{triggerId}/runs.
5
Resume recurring execution
When you’re ready for the schedule to run on its timer, resume it with its current version:
The response shows state as ACTIVE. nextFireTime stays null until converged is true, so poll GET /triggers/{triggerId} to read it.If you receive 409, follow Handle version conflicts instead of retrying unconditionally.
Confirm that the manual run succeeded and the logs contain the bounds you submitted, in UTC, and Arguments: ['--mode', 'report']. The run ID differs for each attempt. For the REST API example, the output is:
Task run r4hz6m2pc9yvqeWindow [2026-10-25T00:00:00+00:00, 2026-10-26T00:00:00+00:00)Arguments: ['--mode', 'report']
A Cloud UI run shows bounds converted from your Settings time zone: for example, 12:00 AM PDT on October 25 appears as 2026-10-25T07:00:00+00:00.After resuming, confirm ACTIVE and a next scheduled time. Allow time for the scheduler to apply the configuration; see Read schedule status. Check the next scheduled run in history to verify recurring execution.
Configure runtime inputs and window-based processing.
Monitor and recover
Manage access, pause or archive schedules, and recover windows.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://www.mintlify.com/docs.json","name":"Wherobots","colors":{"primary":"#6612c5","light":"#6612c5","dark":"#6612c5"},"logo":{"light":"https://mintcdn.com/wherobots/q2h_5BmXeWMz6JRH/logo/light.png?fit=max\u0026auto=format\u0026n=q2h_5BmXeWMz6JRH\u0026q=85\u0026s=5a1512dbd3547c3df4e8f4779a1e4cfa","dark":"https://mintcdn.com/wherobots/q2h_5BmXeWMz6JRH/logo/dark.png?fit=max\u0026auto=format\u0026n=q2h_5BmXeWMz6JRH\u0026q=85\u0026s=8d84ac8734585eb38f09b1ea4c0d8e5c","href":"/"},"favicon":"https://mintcdn.com/wherobots/q2h_5BmXeWMz6JRH/favicon.png?fit=max\u0026auto=format\u0026n=q2h_5BmXeWMz6JRH\u0026q=85\u0026s=aa88d68dcd661ed008af0d0a8c4bcd47","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript","go","java"],"prefill":true}},"appearance":{"default":"light"},"navbar":{"links":[{"href":"/changelog","label":"Changelog"},{"href":"/support","label":"Support"}],"primary":{"type":"button","label":"Open Wherobots Cloud","href":"https://cloud.wherobots.com"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/wherobots","x":"https://x.com/wherobots","github":"https://github.com/wherobots","youtube":"https://www.youtube.com/channel/UCFC5QjLyQ3wanshI5xUH0aw","discord":"https://sedona.apache.org/1.5.2/community/contact"},"links":[{"header":"Resources","items":[{"label":"Support","href":"/support"},{"label":"Changelog","href":"/changelog"},{"label":"Cloud availability","href":"/availability"}]},{"header":"Legal","items":[{"label":"Terms of service","href":"/terms-of-service"},{"label":"Privacy policy","href":"/privacy-policy"}]}]},"seo":{"metatags":{"canonical":"https://docs.wherobots.com","googlebot":"index, follow","robots":"index, follow","keywords":"Managed Apache Sedona, Apache Sedona, Wherobots docs, Wherobots documentation, Iceberg tables, Spatial SQL API, Wherobots Cloud Python SDK, RasterFlow, Map Matching, Spatial Data Catalog, Wherobots Airflow Provider","description":"Official Wherobots Documentation. Learn how to conduct scalable spatial analysis with WherobotsDB—the serverless cloud platform from the creators of Apache Sedona.","google-site-verification":"CN6rS8bQ0T0qVXswDOc12YyKdEE_tnmlk97_Qr6Ui_A","indexing":"all"}},"fonts":{"heading":{"family":"Figtree"},"body":{"family":"Figtree"}},"styling":{"codeblocks":"system","latex":false},"integrations":{"amplitude":{"apiKey":"ee314e073a5b08c12a78aef591a50bc1"},"ga4":{"measurementId":"G-D4ED50QSVC"}},"contextual":{"options":["copy","view","download-spec"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wherobots","hasAudioNarration":false,"actualSubdomain":"wherobots","customDomains":["docs.wherobots.com"],"gitSource":{"type":"github","owner":"wherobots","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aebbe4fc0466f1be63196a0","collectionId":"0d0f61a1-76a5-46b6-82f1-e20e20d72c05","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aebbe4fc0466f1be63196a0"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aebbe4fc0466f1be63196a0","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Reference","count":1836},{"language":"default","tag":"WherobotsDB","count":879},{"language":"default","tag":"Python","count":449},{"language":"default","tag":"SQL","count":422},{"language":"default","tag":"Geometry Functions","count":267},{"language":"default","tag":"DataFrame functions","count":209},{"language":"default","tag":"GeoPandas API","count":159},{"language":"default","tag":"GeoSeries","count":130},{"language":"default","tag":"Raster Functions","count":109},{"language":"default","tag":"Accessors","count":94}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"develop/task-schedules/create-a-schedule","slug":"/develop/task-schedules/create-a-schedule","pageMetadata":{"title":"Create a schedule","description":"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.","href":"/develop/task-schedules/create-a-schedule"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Card,CardGroup,CodeBlock,Frame,Heading,OptimizedImage,Step,Steps,Tab,Table,Tabs,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`A task schedule runs a Python script or JAR from Amazon S3 on a recurring interval or cron schedule. Each execution has a processing window, run history, logs, and an execution identity.`}),`\n`,_jsxs(_components.p,{children:[`Use a schedule for recurring work such as a daily catalog-health report or an hourly data transformation. Use a `,_jsx(_components.a,{href:`/reference/runs`,children:`one-off Job Run`}),` to submit an individual execution. Use `,_jsx(_components.a,{href:`/develop/run-operator`,children:`Apache Airflow`}),` when you need to coordinate dependencies across jobs or systems.`]}),`\n`,_jsxs(_components.p,{children:[`The API calls a schedule a `,_jsx(_components.strong,{children:`trigger`}),`. Creating one also creates its Organization-owned `,_jsx(_components.strong,{children:`task`}),`, which holds the script definition and input schema; you don’t need to create a schema yourself.`]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`/get-started/wherobots-cloud/create-account`,children:`Wherobots account`}),` in an active Organization with task scheduling enabled.`]}),`\n`,_jsxs(_components.li,{children:[`A Python `,_jsx(_components.code,{children:`.py`}),` file or a `,_jsx(_components.code,{children:`.jar`}),` file, or the sample below.`]}),`\n`,_jsxs(_components.li,{children:[`For the REST API tab, a `,_jsx(_components.a,{href:`/get-started/wherobots-cloud/api-keys`,children:`Wherobots API key`}),`, `,_jsx(_components.code,{children:`curl`}),`, and `,_jsx(_components.code,{children:`jq`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`write-the-script`,children:`Write the script`}),`\n`,_jsxs(_components.p,{children:[`Save this as `,_jsx(_components.code,{children:`window_report.py`}),`. It prints the supplied processing window and arguments; replace the commented example with your processing code when you’re ready.`]}),`\n`,_jsx(CodeBlock,{filename:`window_report.py`,numberOfLines:`25`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sys`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime, timezone`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`WINDOW_FORMAT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"%Y-%m-`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`%d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`T%H:%M:%SZ\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` window_bound`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` value `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os.environ.get(name)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` value `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`is`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` None`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sys.exit(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` is not set: run this script from a task schedule\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime.strptime(value, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`WINDOW_FORMAT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).replace(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`tzinfo`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`timezone.utc)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`task_run_id `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"WBC_TASK_RUN_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`window_start `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` window_bound(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"WBC_WINDOW_START\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`window_end `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` window_bound(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"WBC_WINDOW_END\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Task run `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`task_run_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Window [`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`window_start.isoformat()`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`window_end.isoformat()`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Arguments: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`sys.argv[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Process only records in the window: start inclusive, end exclusive.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# For example, with WherobotsDB:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# sedona.table(\"org_catalog.my_db.events\").where(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# (col(\"event_time\") >= window_start) \u0026 (col(\"event_time\") \u003c window_end)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# )`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Arguments that you set in the schedule’s `,_jsx(_components.code,{children:`args`}),` input arrive as ordinary command-line arguments, in `,_jsx(_components.code,{children:`sys.argv[1:]`}),`. For the full list of what a script receives, see `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows`,children:`Scripts and processing windows`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`store-the-script`,children:`Store the script`}),`\n`,_jsx(_components.p,{children:`Choose storage based on who will run the schedule:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Personal schedules:`}),` use `,_jsx(_components.a,{href:`/develop/storage-management/file-explorer`,children:`My Files`}),` in the schedule’s region. Each region has its own My Files. A My Files script must belong to the `,_jsx(_components.strong,{children:`Run as`}),` principal; Wherobots checks this on create, edit, and before each run.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Scripts other identities must run:`}),` use `,_jsx(_components.a,{href:`/develop/storage-management/managed-storage#folders-and-permissions`,children:`Managed Storage`}),` under `,_jsx(_components.code,{children:`data/shared/`}),`, for example for a schedule that runs as a service principal. Your Organization can read and modify these files. A person’s My Files cannot be used by a service principal.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Your own buckets:`}),` use an `,_jsx(_components.a,{href:`/develop/storage-management/s3-storage-integration`,children:`S3 Storage Integration`}),` accessible from the schedule’s region.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`BYOC regions:`}),` store the script in an S3 Storage Integration, as for other BYOC Job Runs. See `,_jsx(_components.a,{href:`/develop/storage-management/byoc#run-workloads-in-byoc`,children:`Run workloads in BYOC`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#script-location-and-changes`,children:`script location and changes`}),` for access and versioning rules.`]}),`\n`,_jsx(Heading,{level:`2`,id:`configure-the-schedule`,children:`Configure the schedule`}),`\n`,_jsxs(_components.p,{children:[`Create the schedule paused, verify an explicit window, then resume it. `,_jsx(_components.strong,{children:`Run now`}),` starts billable compute.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Cloud UI`,id:`cloud-ui`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Create a paused schedule`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.a,{href:`https://cloud.wherobots.com/scheduled-tasks`,children:_jsx(_components.strong,{children:`Scheduled Tasks`})}),` and choose `,_jsx(_components.strong,{children:`Create a schedule`}),`. Enter a `,_jsx(_components.strong,{children:`Schedule name`}),` and choose `,_jsx(_components.strong,{children:`Region`}),`. Select `,_jsx(_components.strong,{children:`Create paused`}),`, which is unchecked by default.`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Browse`}),`. In `,_jsx(_components.strong,{children:`Select script file`}),`, choose `,_jsx(_components.code,{children:`window_report.py`}),` from `,_jsx(_components.strong,{children:`My Files`}),` for your region, for example `,_jsx(_components.strong,{children:`My Files (aws-us-west-2)`}),`. If you have not uploaded it yet, use the upload button in this dialog. In `,_jsx(_components.strong,{children:`Upload File`}),`, confirm `,_jsx(_components.strong,{children:`Uploads to My Files`}),`, then upload the script into the open folder. The source menu also offers Managed Storage and storage integrations for scripts other identities must run. For a JAR, you can provide `,_jsx(_components.strong,{children:`Main class (optional)`}),`.`]}),_jsx(Frame,{caption:`Select script file, open on My Files in AWS US West (Oregon)`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=7a1cb677254cf2842b2ec0752c4c467a`,alt:`Select script file dialog with window_report.py selected in My Files (aws-us-west-2)`,\"data-og-width\":`1792`,width:`1792`,\"data-og-height\":`768`,height:`768`,\"data-path\":`images/develop/task-schedules/create-a-schedule/select-script-file.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?w=280\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=a11d4a4d2b79d584a713530a5e377834 280w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?w=560\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=d136ede491b8f6821bda0541832904ff 560w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?w=840\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=53a15c600a6ff1a4f3aa2a0658e106b2 840w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=7727f17f5b2ae3e6c3518aa2c6985d98 1100w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=e38dd42aba726452e564729180009560 1650w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/select-script-file.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=c55ba52851c436e1938baabe6fa7d9c2 2500w`})}),_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Runtime`}),`. Set `,_jsx(_components.strong,{children:`Arguments`}),` to `,_jsx(_components.code,{children:`--mode report`}),`. Whitespace separates arguments; quote values containing spaces. This field does not execute a shell or expand variables. Under `,_jsx(_components.strong,{children:`Advanced execution settings`}),`, you can change `,_jsx(_components.strong,{children:`Timeout (seconds)`}),`, `,_jsx(_components.strong,{children:`Runtime version`}),`, Spark settings, and dependencies. See `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#script-inputs`,children:`Script inputs`}),` for defaults and `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#script-inputs`,children:`the input visibility warning`}),` before adding configuration.`]}),_jsxs(_components.p,{children:[`Choose a `,_jsx(_components.strong,{children:`Timing mode`}),`:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Simple interval`}),`: set `,_jsx(_components.strong,{children:`Interval count`}),` and `,_jsx(_components.strong,{children:`Interval unit`}),`. For intervals of a day or more, provide `,_jsx(_components.strong,{children:`Start date`}),`, `,_jsx(_components.strong,{children:`Start time`}),`, and `,_jsx(_components.strong,{children:`Timezone`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Advanced cron`}),`: enter five fields in `,_jsx(_components.strong,{children:`Cron expression (minute hour day month weekday)`}),` and choose `,_jsx(_components.strong,{children:`Timezone`}),`. For this example, use `,_jsx(_components.code,{children:`0 6 * * *`}),` with `,_jsx(_components.code,{children:`UTC`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`Runs must be at least 15 minutes apart. Use cron for a fixed local clock time; review `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#timezones-and-daylight-saving-time`,children:`timezones and daylight saving time`}),`.`]}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Execution identity and notifications`}),`, leave `,_jsx(_components.strong,{children:`Run as`}),` set to yourself for this personal script. See `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#who-can-manage-a-schedule`,children:`Who can manage a schedule`}),` to use a service principal. Set `,_jsx(_components.strong,{children:`Notification email recipients`}),` if needed; see `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#failure-emails`,children:`Failure emails`}),` for fallbacks.`]}),_jsx(Frame,{caption:`Create paused and the Script and compute settings for window-report`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=f12750923adbe24620bced6e6c82c7d0`,alt:`Create a schedule form with Create paused checked, window-report as the name, My Files / window_report.py as the script, --mode report as the arguments, the Micro runtime, and AWS US West (Oregon) as the region`,\"data-og-width\":`1860`,width:`1860`,\"data-og-height\":`1378`,height:`1378`,\"data-path\":`images/develop/task-schedules/create-a-schedule/create-schedule-form.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?w=280\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=07633a950bc5af7595c4d36f69d2003d 280w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?w=560\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=35d2d2fc7403042f07f1caa2fe243a5c 560w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?w=840\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=6e2b12039fe5198d71cd43aee5a93e04 840w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=ab8c70ae99abc82d0c06ee81e1feebe1 1100w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=cb0e4bd25db312b326a7d5167acdb710 1650w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/create-schedule-form.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=abefa10accd09f6f6565763969508efa 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create schedule`}),`.`]})]}),_jsxs(Step,{title:`Run an explicit window`,children:[_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Run now`}),`. Set `,_jsx(_components.strong,{children:`Window start`}),` to 12:00 AM on October 25, 2026 and `,_jsx(_components.strong,{children:`Window end`}),` to 12:00 AM on October 26, 2026, then click `,_jsx(_components.strong,{children:`Run now`}),`. Before submitting, check `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#run-now-and-backfill`,children:`Run now and backfill`}),` for the display time zone and manual-run behavior.`]}),_jsx(Frame,{caption:`Run now with a custom window`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=d9f7a7adcee167d612b01aa06c76f55d`,alt:`Run now dialog for window-report with Window start 10/25/2026 12:00 AM and Window end 10/26/2026 12:00 AM`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`870`,height:`870`,\"data-path\":`images/develop/task-schedules/create-a-schedule/run-now.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?w=280\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=29ed3c5ff428f6cba379843ef31a0bd1 280w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?w=560\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=4f77e5528c9ee8e155974e252600f689 560w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?w=840\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=86202ae8b75b9f3c6fd9b05f660e91be 840w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=509147348124a1f11ae1fc9c4124bf2d 1100w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=7c09b9328d686ac8de719003805bbf4c 1650w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/run-now.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=8d2202af0433de3f86f2768522a21081 2500w`})})]}),_jsx(Step,{title:`Verify the run and its logs`,children:_jsxs(_components.p,{children:[`Find the run under `,_jsx(_components.strong,{children:`Run history`}),`. When its outcome is `,_jsx(_components.strong,{children:`Succeeded`}),`, click `,_jsx(_components.strong,{children:`Details ↗`}),` to open its Job Run, then open the `,_jsx(_components.strong,{children:`Logs`}),` tab and compare the output with the `,_jsx(_components.a,{href:`#verify-your-schedule`,children:`verification checklist`}),`. If it fails, `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#read-run-history`,children:`inspect the outcome`}),` before continuing.`]})}),_jsxs(Step,{title:`Resume recurring execution`,children:[_jsxs(_components.p,{children:[`When the output is correct, click `,_jsx(_components.strong,{children:`Resume`}),`, then `,_jsx(_components.strong,{children:`Resume schedule`}),` to confirm. The schedule shows `,_jsx(_components.strong,{children:`Active`}),`, and `,_jsx(_components.strong,{children:`Next run`}),` shows its next scheduled time.`]}),_jsx(Frame,{caption:`window-report after Resume, with the successful manual run in Run history`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=a7ef182c3f28dc8bd1083ca35bb1b4af`,alt:`window-report schedule marked Active with Next run Nov 4, 2026, 10:00 PM PST, and a Succeeded manual run for the Oct 25 to Oct 26 window in Run history`,\"data-og-width\":`1860`,width:`1860`,\"data-og-height\":`1228`,height:`1228`,\"data-path\":`images/develop/task-schedules/create-a-schedule/active-schedule.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?w=280\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=35ef46d6369c45dd55ab738ce80e0f54 280w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?w=560\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=0d497b67566ae8e1123f28c7223f58fb 560w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?w=840\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=bf0533e57f932b6387148b9c9c657344 840w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=0fd0d67f84a038865e28d77e71ae7b61 1100w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=7b9d5258f35fe9071c971b944bfee4f4 1650w, https://mintcdn.com/wherobots/Me_qzO_IbxOjqKzV/images/develop/task-schedules/create-a-schedule/active-schedule.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Me_qzO_IbxOjqKzV\u0026q=85\u0026s=8e49ca0b9cf0ddc0737fdfe1785ddcb5 2500w`})})]})]})}),_jsx(Tab,{title:`REST API`,id:`rest-api`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Upload the script`,children:[_jsxs(_components.p,{children:[`Set these shell variables. The API requests use `,_jsx(_components.code,{children:`X-API-Key`}),`; the S3 upload must not carry it.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR-API-KEY\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` API`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cloud.wherobots.com\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`REGION`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"aws-us-west-2\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Confirm that your Organization allows this Hosted region before continuing.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/organization\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --arg`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` region`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$REGION`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'any(.allowedRegions[]; . == $region)'`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This example uses `,_jsx(_components.code,{children:`aws-us-west-2`}),`, a Hosted region. The check confirms that your Organization can run there; if it fails, choose an allowed Hosted region before continuing. For a BYOC region, see `,_jsx(_components.a,{href:`#store-the-script`,children:`Store the script`}),`.`]}),_jsxs(_components.p,{children:[`My Files uses the storage ID `,_jsx(_components.code,{children:`user_files::\u003cregion>`}),`. Paths are relative to your personal folder in that region, without a leading slash. Request a `,_jsx(_components.a,{href:`https://docs.wherobots.com/api-reference/storage/create-a-presigned-file-upload-url`,children:`file upload URL`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`STORAGE_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_files::`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$REGION`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SCRIPT_PATH`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"schedules/window_report.py\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`UPLOAD`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/storage/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$STORAGE_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/file-upload-url/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCRIPT_PATH`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`UPLOAD_URL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$UPLOAD`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.uploadUrl'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SCRIPT_URI`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$UPLOAD`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.destination'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -T`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` window_report.py`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type:'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$UPLOAD_URL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`uploadUrl`}),` accepts the raw file bytes in one `,_jsx(_components.code,{children:`PUT`}),` and expires after 15 minutes. `,_jsx(_components.code,{children:`destination`}),` is the resulting `,_jsx(_components.code,{children:`s3://`}),` URI; use it below rather than constructing a URI yourself.`]}),_jsxs(_components.p,{children:[`For shared Managed Storage, use `,_jsx(_components.code,{children:`STORAGE_ID=\"default\"`}),` and `,_jsx(_components.code,{children:`SCRIPT_PATH=\"data/shared/schedules/window_report.py\"`}),`. For an integration, use its `,_jsx(_components.code,{children:`id`}),` from `,_jsx(_components.code,{children:`GET /storage`}),` and a path relative to its root, or upload with your AWS tools and set `,_jsx(_components.code,{children:`SCRIPT_URI`}),` to the object’s S3 URI.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Send no Wherobots credentials to `,_jsx(_components.code,{children:`uploadUrl`}),`. Keep `,_jsx(_components.code,{children:`-H 'Content-Type:'`}),`: Managed Storage URLs sign an empty content type, and adding a nonempty value can cause `,_jsx(_components.code,{children:`403`}),`. Browsers and many HTTP libraries add a content type automatically, so suppress it explicitly. Do not use multipart form data. If you use `,_jsx(_components.code,{children:`--data-binary`}),`, suppress its default content type too.`]})}),_jsxs(_components.p,{children:[`To retrieve the script later, see `,_jsx(_components.a,{href:`/develop/storage-management/managed-storage#download-a-script-safely`,children:`Download a script safely`}),`. For the My Files script uploaded above, use the same storage ID and relative path:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`DOWNLOAD`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/storage/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$STORAGE_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/file-download-url/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCRIPT_PATH`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -o`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` window_report.py`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n' \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$DOWNLOAD`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\" `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.downloadUrl')\"`})]}),`\n`]})})})]}),_jsxs(Step,{title:`Create a paused schedule`,children:[_jsxs(_components.p,{children:[`Create the schedule with `,_jsx(_components.code,{children:`\"paused\": true`}),`, so it doesn’t run on its timer while you test it.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TRIGGER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --arg`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uri`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCRIPT_URI`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --arg`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` region`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$REGION`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` name: \"window-report\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` task: {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` definition: { scriptKind: \"python\", uri: $uri },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` inputs: { runtime: \"tiny\", timeoutSeconds: 1800, args: [\"--mode\", \"report\"] }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` region: $region,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` triggerKind: \"schedule\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` triggerConfig: { cronExpression: \"0 6 * * *\", timezone: \"UTC\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` paused: true`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/triggers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TRIGGER_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TRIGGER`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.triggerId'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TRIGGER`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{triggerId, state, runAs, nextFireTime, version}'`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Every accepted request creates a new schedule. Requests aren’t deduplicated, so don’t retry a create blindly: list your schedules with `,_jsx(_components.code,{children:`GET /triggers`}),` first.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Request fields`})}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`A name for the schedule.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`task.definition`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The script to run. `,_jsx(_components.code,{children:`scriptKind`}),` is `,_jsx(_components.code,{children:`python`}),` or `,_jsx(_components.code,{children:`jar`}),`, and `,_jsx(_components.code,{children:`uri`}),` is the script’s `,_jsx(_components.code,{children:`s3://`}),` URI. A JAR can also set `,_jsx(_components.code,{children:`mainClass`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`task.inputs`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Inputs that every task run uses. See `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#script-inputs`,children:`Script inputs`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`triggerInputs`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Inputs that complete `,_jsx(_components.code,{children:`task.inputs`}),`. They may only set inputs that `,_jsx(_components.code,{children:`task.inputs`}),` leaves unset.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`region`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The compute region the task runs in, from `,_jsx(_components.code,{children:`allowedRegions`}),` in `,_jsx(_components.code,{children:`GET /organization`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`triggerKind`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Always `,_jsx(_components.code,{children:`schedule`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`triggerConfig`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`One schedule form: `,_jsx(_components.code,{children:`{ \"cronExpression\": \"...\", \"timezone\": \"...\" }`}),` with a five-field cron expression and an IANA timezone, or `,_jsx(_components.code,{children:`{ \"intervalMinutes\": N }`}),`. An interval of a day or more (1440 minutes or more) also needs a timezone-aware `,_jsx(_components.code,{children:`startTime`}),`. Runs must be at least 15 minutes apart.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`runAs`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Your own user ID, or a service principal ID if you are an Organization administrator. Defaults to you. Another human cannot be assigned.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`notificationEmails`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Email addresses for schedule notifications.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`paused`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`true`}),` creates the schedule paused. Defaults to `,_jsx(_components.code,{children:`false`}),`, which allows scheduled runs right away.`]})]})]})]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`windowStart`}),`, `,_jsx(_components.code,{children:`windowEnd`}),` and `,_jsx(_components.code,{children:`taskRunId`}),` are reserved. A create or update request that sets them in `,_jsx(_components.code,{children:`task.inputs`}),` or `,_jsx(_components.code,{children:`triggerInputs`}),` returns `,_jsx(_components.code,{children:`400`}),`.`]}),_jsxs(_components.p,{children:[`The request returns `,_jsx(_components.code,{children:`201`}),`. The response includes the task’s input schema in `,_jsx(_components.code,{children:`task.inputSchema`}),` and its unset inputs in `,_jsx(_components.code,{children:`task.openProperties`}),`.`]}),_jsxs(Accordion,{title:`Example 201 response`,id:`example-201-response`,children:[_jsxs(_components.p,{children:[`This response is abbreviated. IDs and the My Files URI are illustrative; your script URI is the upload response’s `,_jsx(_components.code,{children:`destination`}),`.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`39`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`39`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"triggerId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"t8wq3n5d2rkfja\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"window-report\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"task\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"taskId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"k2m8q4v7c1x9za\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"window-report\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"definition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"scriptKind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"python\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uri\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"s3://wbts-user-assets-aws-us-west-2-prod/your-org/user-files/your-user/schedules/window_report.py\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"inputs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"runtime\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tiny\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"timeoutSeconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1800`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"args\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"--mode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"report\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"inputSchema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ScriptInputs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"object\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"openProperties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"environment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"version\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"region\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"aws-us-west-2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"triggerKind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"schedule\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"triggerConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cronExpression\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0 6 * * *\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"timezone\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"UTC\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"runAs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a1b2c3d4e5f6g7\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PAUSED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"nextFireTime\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"converged\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#read-schedule-status`,children:`Read schedule status`}),` for the response fields used here.`]})]}),_jsxs(Step,{title:`Run an explicit window`,children:[_jsx(_components.p,{children:`Start one task run now, for a window you choose. This works while the schedule is paused.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` RUN_NOW`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{\"windowStart\": \"2026-10-25T00:00:00Z\", \"windowEnd\": \"2026-10-26T00:00:00Z\"}'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/triggers/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TRIGGER_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/run-now\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) \u0026\u0026`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RUN_NOW`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -er`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.taskRunId // empty'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`then`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Run-now request failed or returned no taskRunId; stop here and inspect run history before retrying.'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >\u00262`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`fi`})}),`\n`]})})}),_jsxs(_components.p,{children:[`The request returns `,_jsx(_components.code,{children:`202`}),` with a new `,_jsx(_components.code,{children:`taskRunId`}),`. Each accepted request creates a separate run, so do not retry it blindly. See `,_jsx(_components.a,{href:`/develop/task-schedules/scripts-and-windows#run-now-and-backfill`,children:`Run now and backfill`}),` for window requirements, including scripts that ignore their window.`]})]}),_jsxs(Step,{title:`Read the result and all log pages`,children:[_jsxs(_components.p,{children:[`Poll the task run until it leaves the active states `,_jsx(_components.code,{children:`PENDING`}),`, `,_jsx(_components.code,{children:`SUBMITTED`}),`, `,_jsx(_components.code,{children:`RUNNING`}),` and `,_jsx(_components.code,{children:`CANCELLING`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`while`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [ `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`do`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` RUN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/task-runs/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` break`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` STATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RUN`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -er`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.state // empty'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Could not read task-run state; stop and retry polling.'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >\u00262`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`break`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$STATE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` case`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$STATE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` in`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D16969`},children:` PENDING`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D16969`},children:`SUBMITTED`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D16969`},children:`RUNNING`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D16969`},children:`CANCELLING`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` sleep`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 15`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ;; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`*)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` break`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ;; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`esac`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`done`})}),`\n`]})})}),_jsx(_components.p,{children:`If a request or response parse fails, the loop stops with an error; resolve it and resume polling before reading logs. An interruption is not a terminal run outcome.`}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#read-run-history`,children:`run states`}),` to interpret the outcome. For the full schemas, see `,_jsx(_components.a,{href:`https://docs.wherobots.com/api-reference/task-runs/get-a-task-run`,children:`Get a task run`}),` and `,_jsx(_components.a,{href:`https://docs.wherobots.com/api-reference/task-runs/get-task-run-logs`,children:`Get task run logs`}),`.`]}),_jsxs(_components.p,{children:[`Read every log page, passing `,_jsx(_components.code,{children:`nextSince`}),` unchanged as `,_jsx(_components.code,{children:`since`}),`. An empty page with a cursor is not the end; wait before polling again. Pages containing log lines are read without a delay. Even after the run finishes, keep polling while late log lines arrive; stop only when `,_jsx(_components.code,{children:`nextSince`}),` is null.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SINCE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`while`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` :`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`do`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [ `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-z`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SINCE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`then`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` PAGE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/task-runs/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/logs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` break`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` else`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` PAGE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -G`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"since=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SINCE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/task-runs/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TASK_RUN_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/logs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` break`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fi`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$PAGE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.items[].message'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` SINCE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$PAGE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.nextSince'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [ `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SINCE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"null\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ] \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`break`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [ `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"$(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s\\\\n' \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$PAGE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\" `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.items | length')\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -eq`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`then`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` sleep`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` fi`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`done`})}),`\n`]})})}),_jsxs(_components.p,{children:[`A request error interrupts this loop; it does not mean the logs are complete. Resolve the error and rerun the `,_jsx(_components.code,{children:`while`}),` loop from the last `,_jsx(_components.code,{children:`SINCE`}),`, without resetting it. Compare the output with `,_jsx(_components.a,{href:`#verify-your-schedule`,children:`Verify your schedule`}),`. To list scheduled and manual runs, use `,_jsx(_components.code,{children:`GET /triggers/{triggerId}/runs`}),`.`]})]}),_jsxs(Step,{title:`Resume recurring execution`,children:[_jsxs(_components.p,{children:[`When you’re ready for the schedule to run on its timer, resume it with its current `,_jsx(_components.code,{children:`version`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`VERSION`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/triggers/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TRIGGER_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.version'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sSf`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$WHEROBOTS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"{`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`version`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$VERSION`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$API`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/triggers/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TRIGGER_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/resume\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{state, converged, nextFireTime}'`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`The response shows `,_jsx(_components.code,{children:`state`}),` as `,_jsx(_components.code,{children:`ACTIVE`}),`. `,_jsx(_components.code,{children:`nextFireTime`}),` stays `,_jsx(_components.code,{children:`null`}),` until `,_jsx(_components.code,{children:`converged`}),` is `,_jsx(_components.code,{children:`true`}),`, so poll `,_jsx(_components.code,{children:`GET /triggers/{triggerId}`}),` to read it.`]}),_jsxs(_components.p,{children:[`If you receive `,_jsx(_components.code,{children:`409`}),`, follow `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#handle-version-conflicts`,children:`Handle version conflicts`}),` instead of retrying unconditionally.`]})]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`verify-your-schedule`,children:`Verify your schedule`}),`\n`,_jsxs(_components.p,{children:[`Confirm that the manual run succeeded and the logs contain the bounds you submitted, in UTC, and `,_jsx(_components.code,{children:`Arguments: ['--mode', 'report']`}),`. The run ID differs for each attempt. For the REST API example, the output is:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Task run r4hz6m2pc9yvqe`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Window [2026-10-25T00:00:00+00:00, 2026-10-26T00:00:00+00:00)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Arguments: ['--mode', 'report']`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`A Cloud UI run shows bounds converted from your Settings time zone: for example, 12:00 AM PDT on October 25 appears as `,_jsx(_components.code,{children:`2026-10-25T07:00:00+00:00`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`After resuming, confirm `,_jsx(_components.code,{children:`ACTIVE`}),` and a next scheduled time. Allow time for the scheduler to apply the configuration; see `,_jsx(_components.a,{href:`/develop/task-schedules/monitor-and-recover#read-schedule-status`,children:`Read schedule status`}),`. Check the next scheduled run in history to verify recurring execution.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Scripts and processing windows`,icon:`code`,href:`/develop/task-schedules/scripts-and-windows`,children:_jsx(_components.p,{children:`Configure runtime inputs and window-based processing.`})}),_jsx(Card,{title:`Monitor and recover`,icon:`clock-rotate-left`,href:`/develop/task-schedules/monitor-and-recover`,children:_jsx(_components.p,{children:`Manage access, pause or archive schedules, and recover windows.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Create a schedule","description":"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.","href":"/develop/task-schedules/create-a-schedule"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Write the script","slug":"write-the-script","depth":2,"children":[]},{"title":"Store the script","slug":"store-the-script","depth":2,"children":[]},{"title":"Configure the schedule","slug":"configure-the-schedule","depth":2,"children":[]},{"title":"Verify your schedule","slug":"verify-your-schedule","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"wherobots","siteName":"Wherobots","title":"Create a schedule - Wherobots","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T23:15:03.635Z","originalFileLocation":"develop/task-schedules/create-a-schedule.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.\">\u003cmeta data-mint-head name=\"keywords\" content=\"Managed Apache Sedona, Apache Sedona, Wherobots docs, Wherobots documentation, Iceberg tables, Spatial SQL API, Wherobots Cloud Python SDK, RasterFlow, Map Matching, Spatial Data Catalog, Wherobots Airflow Provider\">\u003cmeta data-mint-head name=\"application-name\" content=\"Wherobots\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a schedule - Wherobots\">\u003cmeta data-mint-head property=\"og:description\" content=\"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Wherobots\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wherobots.mintlify.app/_mintlify/api/og/v2?division=Task+schedules\u0026amp;title=Create+a+schedule\u0026amp;description=Store+a+script%2C+create+a+paused+schedule+in+Cloud+or+through+the+REST+API%2C+verify+a+run%2C+and+resume+recurring+execution.\u0026amp;theme=ad650514d2ff8766a2ea2396\u0026amp;signature=99eff742939361496129d567d2f12bce6544142d2f05fcf77646be52c60bb104\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a schedule - Wherobots\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wherobots.mintlify.app/_mintlify/api/og/v2?division=Task+schedules\u0026amp;title=Create+a+schedule\u0026amp;description=Store+a+script%2C+create+a+paused+schedule+in+Cloud+or+through+the+REST+API%2C+verify+a+run%2C+and+resume+recurring+execution.\u0026amp;theme=ad650514d2ff8766a2ea2396\u0026amp;signature=99eff742939361496129d567d2f12bce6544142d2f05fcf77646be52c60bb104\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/wherobots/pvz71JLOQQJkmmD3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Wherobots\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6612c5\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"CN6rS8bQ0T0qVXswDOc12YyKdEE_tnmlk97_Qr6Ui_A\">\u003cmeta data-mint-head name=\"indexing\" content=\"all\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/develop/task-schedules/create-a-schedule.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.wherobots.com/#organization\",\"name\":\"Wherobots\",\"url\":\"https://docs.wherobots.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wherobots/q2h_5BmXeWMz6JRH/logo/light.png?fit=max\u0026auto=format\u0026n=q2h_5BmXeWMz6JRH\u0026q=85\u0026s=5a1512dbd3547c3df4e8f4779a1e4cfa\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.wherobots.com#website\",\"name\":\"Wherobots\",\"url\":\"https://docs.wherobots.com\",\"publisher\":{\"@id\":\"https://docs.wherobots.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule#webpage\",\"url\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule\",\"name\":\"Create a schedule\",\"description\":\"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.\",\"dateModified\":\"2026-11-04T23:15:03.635Z\",\"isPartOf\":{\"@id\":\"https://docs.wherobots.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Wherobots\",\"item\":\"https://docs.wherobots.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a schedule\",\"item\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule#article\",\"headline\":\"Create a schedule\",\"name\":\"Create a schedule\",\"description\":\"Store a script, create a paused schedule in Cloud or through the REST API, verify a run, and resume recurring execution.\",\"url\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule\",\"mainEntityOfPage\":{\"@id\":\"https://docs.wherobots.com/develop/task-schedules/create-a-schedule#webpage\"},\"dateModified\":\"2026-11-04T23:15:03.635Z\",\"publisher\":{\"@id\":\"https://docs.wherobots.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.wherobots.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Wherobots\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Wherobots","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Build \u0026 Deploy","groups":[{"group":"Start here","icon":"rocket","pages":[{"title":"Build \u0026 Deploy","sidebarTitle":"Overview","href":"/develop/overview"},{"title":"Runtimes","href":"/develop/runtimes"},{"title":"API Keys","href":"/get-started/wherobots-cloud/api-keys"},{"title":"Wherobots Spatial SQL API and SDKs","href":"/develop/spatial-sql-api"},{"title":"Install Wherobots CLI","href":"/develop/cli"}]},{"group":"Notebooks","icon":"laptop-code","pages":[{"title":"Notebook Runtime Management","href":"/develop/notebook-management/notebook-instance-management"},{"title":"Jupyter Notebook Management","href":"/develop/notebook-management/jupyter-notebook-management"},{"title":"Environment Presets","href":"/develop/notebook-management/environment-presets"}]},{"group":"Editors and AI assistants","icon":"microchip","pages":[{"title":"Get Started with Agentic Development","sidebarTitle":"Get Started","href":"/develop/agentic-tools"},{"title":"Set Up Wherobots in Your Editor","sidebarTitle":"Editors","href":"/develop/agentic-tools/editors"},{"title":"Set Up Wherobots in an AI Assistant","sidebarTitle":"AI assistants","href":"/develop/agentic-tools/ai-assistants"}]},{"group":"VS Code extension","icon":"code","pages":[{"title":"Workspaces \u0026 Usage","href":"/develop/vscode-extension/workspaces"},{"title":"Browse Your Data","sidebarTitle":"Browse Your Data","href":"/develop/vscode-extension/integrate-your-data"},{"title":"AI-Assisted Notebook Development","href":"/develop/vscode-extension/notebooks"},{"title":"Submit Job Runs","href":"/develop/vscode-extension/jobs"},{"title":"Extension Settings","sidebarTitle":"Settings","href":"/develop/vscode-extension/settings"}]},{"group":"MCP server and agent skills","icon":"plug","pages":[{"title":"Wherobots MCP Server","href":"/develop/mcp/mcp-server-overview"},{"title":"MCP Server Best Practices and Usage","href":"/develop/mcp/mcp-server-usage"},{"title":"Install Agent Skills","sidebarTitle":"Agent Skills","href":"/develop/agent-skills"}]},{"group":"dbt","icon":"cubes-stacked","pages":[{"title":"Wherobots dbt Adapter","href":"/develop/dbt/index"},{"title":"Materializations and Incremental Strategies","sidebarTitle":"Materializations","href":"/develop/dbt/materializations"},{"title":"Spatial Data in dbt Models","sidebarTitle":"Spatial data","href":"/develop/dbt/spatial-data"}]},{"group":"Apache Airflow","icon":"clock","pages":[{"title":"Wherobots Apache Airflow Provider","sidebarTitle":"Wherobots Airflow Provider","href":"/develop/airflow-provider"},{"title":"WherobotsRunOperator - Job Run Constructor","sidebarTitle":"WherobotsRunOperator","href":"/develop/run-operator"},{"title":"Wherobots SQL Operator","href":"/develop/sql-operator"}]},{"group":"Storage management","icon":"hard-drive","pages":[{"title":"Notebook and Data Storage","href":"/develop/storage-management/storage"},{"title":"File Explorer","sidebarTitle":"File Explorer","href":"/develop/storage-management/file-explorer"},{"title":"Managed Storage","href":"/develop/storage-management/managed-storage"},{"title":"S3 Storage Integration","href":"/develop/storage-management/s3-storage-integration"},{"title":"Setting up CORS","description":null,"href":"/tutorials/wherobotsdb/tile-generation/cors"}]},{"group":"Task schedules","icon":"calendar-clock","pages":[{"title":"Create a schedule","href":"/develop/task-schedules/create-a-schedule"},{"title":"Scripts and processing windows","description":"Read processing windows, pass arguments, and manage script locations and execution settings.","href":"/develop/task-schedules/scripts-and-windows"},{"title":"Monitor and recover","href":"/develop/task-schedules/monitor-and-recover"}]},{"group":"Deployment and monitoring","icon":"server","pages":[{"title":"Bring Your Own Cloud (BYOC)","href":"/develop/storage-management/byoc"},{"title":"Bring Your Own Spark (BYOS)","sidebarTitle":"BYOS overview","href":"/develop/deployment-options/byos-overview"},{"title":"Bring Your Own Spark (AWS EMR)","href":"/develop/deployment-options/byos-aws-emr"},{"title":"Bring Your Own Spark (Databricks)","href":"/develop/deployment-options/byos-databricks"},{"title":"Usage History","href":"/develop/workload-history"}]}]},{"tab":"Spatial Data Engineering","pages":[{"title":"Spatial Data Engineering","href":"/data-engineering"}]},{"tab":"AI for Earth","pages":[{"title":"AI for Earth","href":"/ai-for-earth"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/overview"}]},{"tab":"Administration","pages":[{"title":"Administration","href":"/get-started/organization-management/overview"}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Terms \u0026 Support","pages":[{"title":"Terms \u0026 Support","href":"/terms-of-service"}]}]},"basePath":"","title":"Create a schedule - Wherobots","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BdiBGm0H.js","DynamicMarkdown-CbqEDjbV.js","zoom-image-lightbox-CvtNkYOX.js","lightbox-handle-r17bVUz3.js"]}