{"uid":"cap_yrmsvloY21PTpUsLsZtah","slug":"scheduler-withzero-xyz-update-scheduled-task-notify-email-end-at-tool-5c7f1ab3","name":"Update Scheduled Task (notify_email, end_at, tool_list)","description":"Update notify_email, end_at, or tool_list (additions only). 📖 Full guide: https://scheduler.withzero.xyz/llms.txt","url":"https://scheduler.withzero.xyz/api/v1/tasks/{id}","method":"PATCH","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"end_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"tool_list":{"type":"array","items":{"type":"string"}},"notify_email":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}]},"max_runtime_sec":{"type":"integer","maximum":900,"description":"Raise the per-run wall-clock cap in seconds (max 900). Raises only — lowering forces clone+recreate. 409 RUN_IN_FLIGHT while a run is claimed/running; retry after it finishes. Raising it raises the per-run ceiling reservation — top up if the balance drops below one ceiling.","exclusiveMinimum":0},"max_sibling_spend_micros":{"type":"string","pattern":"^[1-9]\\d*$","description":"Raise the per-run sibling-spend ceiling (USDC micros; string, or number up to 2^53-1). Raises only — lowering forces clone+recreate."}},"description":"Only `notify_email`, `end_at`, `tool_list` (additions only), `max_sibling_spend_micros` (raises only), and `max_runtime_sec` (raises only, no run in flight) may be patched. All other fields are immutable.","additionalProperties":false},"responseSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","tool_list","max_sibling_spend_micros","max_runtime_sec","estimated_ceiling_micros","notify_email","end_at"],"properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"end_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tool_list":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"notify_email":{"anyOf":[{"type":"string"},{"type":"null"}]},"max_runtime_sec":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"estimated_ceiling_micros":{"type":"string"},"max_sibling_spend_micros":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"0","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"proven_free","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.86","reviews":0,"stars":null,"state":"rated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"free","summary":"Free","primary":null,"accepted":[]},"paymentMethods":[],"brandName":"scheduler.withzero.xyz","brandSlug":"scheduler-withzero-xyz-mpp","brandBaseUrl":"https://scheduler.withzero.xyz","brandDocsUrl":null,"whatItDoes":"Partially updates a scheduled cron task by patching its notification email, end date/time, or tool list (additions only); all other fields remain immutable.","exampleAgentPrompt":"Update my scheduled task (ID: a3f1c2d4-...) on scheduler.withzero.xyz to stop running after December 31, 2025 at midnight UTC, send completion notifications to alerts@mycompany.com, and also add the 'web-search' tool to its tool list.","exampleUseCases":[{"title":"Change task notification email","prompt":"Hey, can you update my scheduled cron task (ID: b7e2a1f9-...) on scheduler.withzero.xyz so that any completion notifications go to devops@myteam.com instead? Don't change anything else about the task."},{"title":"Extend recurring task end date","prompt":"I need to extend the expiry of my scheduled task (ID: c4d8b3e2-...) on scheduler.withzero.xyz — push the end date out to March 31, 2026 at 11:59 PM UTC so it keeps running through Q1 next year without me having to recreate it."},{"title":"Add tools to existing task","prompt":"Can you add the 'data-export' and 'slack-notify' tools to my already-running scheduled task (ID: f1a5c7d3-...) on scheduler.withzero.xyz? I want those tools available for the next run without touching the schedule or any other settings."}],"resultDescription":"Returns a JSON object with the task's UUID, updated tool_list array, updated notify_email string or null, and updated end_at datetime string or null, confirming the patch was applied.","failureModes":["404 if the task ID does not exist or the caller lacks ownership proof","400 if the provided email format is invalid","400 if end_at is not a valid ISO 8601 datetime","400 if an attempt is made to remove tools (only additions allowed)","400 if additionalProperties are included in the patch body","401/403 if the request is not authenticated as the task owner"],"whenToPreferThis":"Use this endpoint when you need to update only the notification email, expiry time, or add tools to an existing recurring task without recreating it. It is the correct choice when the task's schedule, source, runtime, or environment must remain unchanged. Prefer this over deleting and re-creating a task when continuity of the payment channel and run history matters.","instructions":"# Update Task — mutable fields only\n\n## Contract\n- Only notify_email, end_at, and tool_list (additions only) are mutable. Other fields are immutable — to change them, clone: POST /api/v1/tasks/clone.\n- notify_email delivery is not active yet — read output via GET /api/v1/runs/{id}.","reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":8,"lastUsedAt":"2026-07-28T22:30:13.536Z","lastSuccessfullyRanAt":"2026-07-20T23:12:10.502Z","lastHealthCheckAt":"2026-09-13T18:30:01.921Z","isFirstParty":true}