---
title: "Preview Series"
method: POST
path: "/warehouse/schedules/series/preview"
tags: ["WAREHOUSE_SCHEDULE"]
---

# Preview Series

`POST /warehouse/schedules/series/preview`

## Request

- Base URL: `https://api.myaltimate.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.myaltimate.com/warehouse/schedules/series/preview`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Dry-run a recurring-series spec against existing schedules.

Returns how many occurrences the spec would materialize and which would be
skipped as conflicts — creating nothing. Backs the create form's live
conflict warning, so it is called on every form edit; the check runs one
range query over the whole horizon rather than one per occurrence.

## Headers

- `x-tenant` string, required

## Request body

- SeriesCreateRequest: A recurring warehouse schedule. ``warehouse_configuration`` matches the one-off create request: a caller may pin a size, toggle query acceleration, or both. Days are lowercase IANA weekday names; ``start_time_local`` is "HH:MM" wall-clock in ``timezone``. ``end_date`` is required and must be at most 90 days out — the series is fully materialized up-front through that date, so it has a hard bound.
  - `warehouse_name` string, required
  - `instance_id` string, required
  - `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
    - `resource_constraint` 'STANDARD_GEN_1' | 'STANDARD_GEN_2': Snowflake standard-warehouse generation, as ``RESOURCE_CONSTRAINT``. Only the two STANDARD generations are schedulable; the Snowpark-optimized ``MEMORY_*`` constraints in ``app.constants.ResourceConstraint`` are a different warehouse type, not a generation change.
  - `schedule_type` 'manual' | 'block', required: One of: manual, block
  - `days_of_week` string[], required
  - `start_time_local` string, required: Local wall-clock "HH:MM"
  - `duration_minutes` integer, required
  - `timezone` string, required: IANA timezone, e.g. America/Los_Angeles
  - `end_date` string, date, required: Required; at most 90 days from today
  - `start_date` string, date, nullable: Anchor date (local calendar date in `timezone`) — always materializes an occurrence at create time, regardless of `days_of_week`. Not persisted; the occurrence set is fully materialized up front.

## Response `200`

Successful Response

- SeriesPreviewResponse: Dry-run result for a series spec — nothing was created. ``total_occurrences`` is how many occurrences the spec would materialize; ``conflicting`` lists the ones that would be skipped as conflicts.
  - `total_occurrences` integer, required
  - `conflict_count` integer, required
  - `conflicting` 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

## Changes

- **2026-09-30** `a1870d258a3a`: 1 info
  - added the new optional request property `warehouse_configuration/anyOf[subschema #1: WarehouseConfig]/resource_constraint`
- **2026-08-08** `103580dad816`: 1 info
  - added the optional property `conflicting/items/conflict` to the response with the `200` status

[Operation history](https://skmtc.dev/myaltimate/apis/myaltimate-api/changes/warehouse/schedules/series/preview/post.md)

---

[API](https://skmtc.dev/myaltimate/apis/myaltimate-api.md) - [All operations](https://skmtc.dev/myaltimate/apis/myaltimate-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myaltimate/apis/myaltimate-api/revisions/727657ce54e9?raw)
