---
title: "Patch a schedule"
method: PATCH
path: "/api/schedules/{id}"
tags: ["Schedules"]
---

# Patch a schedule

`PATCH /api/schedules/{id}`

Partially updates a schedule by shallow-merging provided fields over the existing row.

## Path parameters

- `id` string, required

## Request body

- object
  - `key` string — Non-unique asset directory namespace (for example shared/ or personal/<user-id>/drafts/). Runtime write boundaries normalize and validate the canonical form.
  - `name` string
  - `description` string
  - `cronExpression` string, nullable
  - `intervalMs` integer, nullable
  - `taskTemplate` string
  - `taskType` string
  - `tags` string[]
  - `priority` integer
  - `targetAgentId` string, nullable
  - `enabled` boolean
  - `timezone` string
  - `model` string, nullable
  - `modelTier` 'smol' | 'regular' | 'smart' | 'ultra' | 'null', nullable
  - `nextRunAt` string, nullable
  - `targetType` 'agent-task' | 'workflow' | 'script'
  - `workflowId` string, uuid, nullable
  - `scriptName` string, nullable
  - `scriptArgs` object, nullable

## Response `200`

Schedule patched

- object, nullable
  - `id` string, uuid, required
  - `key` string, required — Non-unique asset directory namespace (for example shared/ or personal/<user-id>/drafts/). Runtime write boundaries normalize and validate the canonical form.
  - `name` string, required
  - `description` string
  - `cronExpression` string
  - `intervalMs` integer
  - `taskTemplate` string
  - `taskType` string
  - `tags` string[]
  - `priority` integer
  - `targetAgentId` string
  - `enabled` boolean
  - `lastRunAt` string, date-time
  - `nextRunAt` string, date-time
  - `createdByAgentId` string
  - `timezone` string
  - `consecutiveErrors` integer
  - `lastErrorAt` string, date-time
  - `lastErrorMessage` string
  - `model` string
  - `modelTier` 'smol' | 'regular' | 'smart' | 'ultra'
  - `scheduleType` 'recurring' | 'one_time'
  - `targetType` 'agent-task' | 'workflow' | 'script'
  - `workflowId` string, uuid
  - `scriptName` string
  - `scriptArgs` object
  - `createdAt` string, date-time, required
  - `lastUpdatedAt` string, date-time, required
  - `createdBy` string
  - `updatedBy` string
  - `favorite` boolean

## Other responses

- `400` — Validation error
- `404` — Schedule not found
- `409` — Duplicate name

---

[API](https://skmtc.net/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.net/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/versions/0375890be8c4/schema)
