> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blobhub.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Schedule

Update attributes of an existing schedule. Only fields supplied in the request are changed; omitted fields keep their current values. A schedule in the `completed` state cannot be updated.

## **POST** `/revisions/:id/data/command` (Command: `update_schedule`)

### Request Body

| Parameter                | Type    | Required | Description                                                                 |
| :----------------------- | :------ | :------- | :-------------------------------------------------------------------------- |
| `engine`                 | string  | Yes      | Must be `scheduler_blobhub`.                                                |
| `command`                | string  | Yes      | Must be `update_schedule`.                                                  |
| `schedule_id`            | string  | Yes      | Id of the schedule to update.                                               |
| `enabled`                | boolean | No       | New enabled flag.                                                           |
| `repeat`                 | string  | No       | Either `one_time` or `recurring_cron`.                                      |
| `cron_expression`        | string  | No       | Six-field AWS cron expression. Must be set when repeat is `recurring_cron`. |
| `invocation_time`        | string  | No       | ISO 8601 datetime. Must be set when repeat is `one_time`.                   |
| `timezone`               | string  | No       | IANA timezone name.                                                         |
| `start_date`             | string  | No       | ISO 8601 UTC datetime.                                                      |
| `end_date`               | string  | No       | ISO 8601 UTC datetime.                                                      |
| `invocation_target_type` | string  | No       | Must be `workflow`.                                                         |
| `invocation_target`      | object  | No       | Replacement invocation target object.                                       |

<Note>
  If `repeat` is changed to `recurring_cron`, `cron_expression` must be supplied in the same request. If changed to `one_time`, `invocation_time` must be supplied. `invocation_time` follows the same naive-datetime format as on create.
</Note>

### Response

| Parameter  | Type   | Description                  |
| :--------- | :----- | :--------------------------- |
| `schedule` | object | The updated schedule object. |

### Example

<CodeGroup>
  ```json Request theme={null}
  {
    "engine": "scheduler_blobhub",
    "command": "update_schedule",
    "schedule_id": "sched-001",
    "enabled": false,
    "timezone": "Europe/London"
  }
  ```

  ```json Response theme={null}
  {
    "schedule": {
      "id": "sched-001",
      "revision_id": "rev-scheduler-001",
      "created_at": "2026-04-07T12:00:00Z",
      "modified_at": "2026-04-07T13:15:00Z",
      "auth_target": "user",
      "auth_target_id": "user-001",
      "enabled": false,
      "repeat": "recurring_cron",
      "cron_expression": "0 9 * * ? *",
      "invocation_time": null,
      "timezone": "Europe/London",
      "start_date": null,
      "end_date": null,
      "state": "active",
      "invocation_target_type": "workflow",
      "invocation_target": {
        "org_id": "org-123",
        "blob_id": "blob-456",
        "revision_id": "rev-789",
        "session_id": "sess-abc",
        "workflow_alias": "daily-report",
        "input_data": []
      }
    }
  }
  ```
</CodeGroup>
