---
title: "Update Series"
method: PATCH
path: "/warehouse/schedules/series/{series_id}"
tags: ["WAREHOUSE_SCHEDULE"]
---

# Update Series

`PATCH /warehouse/schedules/series/{series_id}`

Edit a recurring series' template in place ("all future events").

The series template is updated and its future approved occurrences are
updated in place — never deleted and regenerated. days_of_week, end_date,
and timezone are immutable in edit mode. Occurrences whose new window
conflicts are left untouched and reported in ``skipped``.

## Path parameters

- `series_id` integer, required

## Headers

- `x-tenant` string, required

## Request body

- SeriesUpdateRequest — Edit a recurring series' template in place ("all future events"). ``warehouse_name`` and ``instance_id`` are fixed to the existing series and cannot change. These are the only editable template fields: days_of_week, end_date, and timezone are immutable on update — an in-place update cannot change the occurrence date-set, and the anchor is a create-time-only concept. The series' future approved occurrences are updated in place with the new config/time/duration; conflicting occurrences are skipped.
  - `warehouse_configuration` WarehouseConfig
    - `warehouse_size` 'X-Small' | 'Small' | 'Medium' | 'Large' | 'X-Large' | '2X-Large' | '3X-Large' | '4X-Large' | '5X-Large' | '6X-Large'
    - `enable_query_acceleration` boolean, nullable
  - `schedule_type` 'manual' | 'block', required — One of: manual, block
  - `start_time_local` string, required — Local wall-clock "HH:MM"
  - `duration_minutes` integer, required

## Response `200`

Successful Response

- SeriesUpdateResponse — The persisted series (fields inlined) plus the future occurrences the edit rewrote in place. ``skipped`` collects occurrences left untouched because their new window conflicted.
  - `series_id` integer, required
  - `warehouse_name` string, required
  - `instance_id` string, nullable
  - `configuration` WarehouseConfig, required
    - `warehouse_size` 'X-Small' | 'Small' | 'Medium' | 'Large' | 'X-Large' | '2X-Large' | '3X-Large' | '4X-Large' | '5X-Large' | '6X-Large'
    - `enable_query_acceleration` boolean, nullable
  - `schedule_type` 'manual' | 'block', required
  - `days_of_week` string[], required
  - `start_time_local` string, required
  - `duration_minutes` integer, required
  - `timezone` string, required
  - `end_date` string, date, nullable
  - `status` 'active' | 'cancelled', required — Lifecycle of a recurring warehouse-schedule series. A series that would materialize zero occurrences is never persisted (creation fails with 400), so there is no rejected state here.
  - `created_by` integer, required
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable
  - `updated` AppSchemasWarehouseSchedulesScheduleResponse[], required
    - `schedule_id` integer, required
    - `warehouse_name` string, required
    - `configuration` WarehouseConfig, required
      - `warehouse_size` 'X-Small' | 'Small' | 'Medium' | 'Large' | 'X-Large' | '2X-Large' | '3X-Large' | '4X-Large' | '5X-Large' | '6X-Large'
      - `enable_query_acceleration` boolean, nullable
    - `start_time` string, date-time, required
    - `end_time` string, date-time, required
    - `schedule_type` 'recommendation' | 'manual' | 'block' | 'auto_resize' | 'backoff', required
    - `status` 'pending' | 'approved' | 'rejected', required
    - `reason` string, required
    - `created_by` integer, required
    - `created_at` string, date-time, required
    - `updated_by` integer, nullable
    - `updated_at` string, date-time, nullable
    - `recurrence_pattern` unknown
    - `series_id` integer, nullable
    - `resize_mode` 'dynamic' | 'scheduled'
  - `skipped` SeriesSkippedOccurrence[], required
    - `start_time` string, date-time, required
    - `end_time` string, date-time, required
    - `reason` string, required
    - `conflict` boolean

## Other responses

- `400` — Invalid request data
- `403` — Not authorized
- `404` — Schedule not found
- `422` — Validation Error

---

[API](https://skmtc.net/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.net/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/myaltimate/fastapi/versions/aab3fe5c9f05/schema)
