---
title: "Schedule Workflow"
method: POST
path: "/v1/workflows/schedules"
tags: ["workflows.schedules"]
---

# Schedule Workflow

`POST /v1/workflows/schedules`

Schedule Workflow

## Request body

- WorkflowScheduleRequest
  - `schedule` ScheduleDefinition, required — Specification of the times scheduled actions may occur. The times are the union of :py:attr:`calendars`, :py:attr:`intervals`, and :py:attr:`cron_expressions` excluding anything in :py:attr:`skip`. Used for input where schedule_id is optional (can be provided or auto-generated).
    - `input` unknown, required
    - `calendars` ScheduleCalendar[] — Calendar-based specification of times.
      - `second` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `minute` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `hour` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `day_of_month` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `month` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `year` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `day_of_week` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `comment` string, nullable
    - `intervals` ScheduleInterval[] — Interval-based specification of times.
      - `every` string, duration, required
      - `offset` string, duration, nullable
    - `cron_expressions` string[] — Cron-based specification of times.
    - `skip` ScheduleCalendar[] — Set of calendar times to skip.
      - `second` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `minute` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `hour` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `day_of_month` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `month` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `year` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `day_of_week` ScheduleRange[]
        - `start` integer, required
        - `end` integer
        - `step` integer
      - `comment` string, nullable
    - `start_at` string, date-time, nullable — Time after which the first action may be run.
    - `end_at` string, date-time, nullable — Time after which no more actions will be run.
    - `jitter` string, duration, nullable — Jitter to apply each action. An action's scheduled time will be incremented by a random value between 0 and this value if present (but not past the next schedule).
    - `time_zone_name` string, nullable — IANA time zone name, for example ``US/Central``.
    - `policy` SchedulePolicy
      - `catchup_window_seconds` integer — After a Temporal server is unavailable, amount of time in seconds in the past to execute missed actions.
      - `overlap` 1 | 2 | 3 | 4 | 5 | 6 — Controls what happens when a workflow would be started by a schedule but one is already running.
      - `pause_on_failure` boolean — Whether to pause the schedule after a workflow failure.
    - `max_executions` integer, nullable — Maximum number of times this schedule will trigger a workflow execution. Once this limit is reached, no further executions are triggered automatically. null means unlimited.
    - `schedule_id` string, nullable — Unique identifier for the schedule.
  - `workflow_registration_id` string, uuid, nullable — The ID of the workflow registration to schedule
  - `workflow_version_id` string, uuid, nullable — Deprecated: use workflow_registration_id
  - `workflow_identifier` string, nullable — The name or ID of the workflow to schedule
  - `workflow_task_queue` string, nullable — Deprecated. Use deployment_name instead.
  - `schedule_id` string, nullable — Allows you to specify a custom schedule ID. If not provided, a random ID will be generated.
  - `deployment_name` string, nullable — Name of the deployment to route this schedule to

## Response `201`

Successful Response

- WorkflowScheduleResponse
  - `schedule_id` string, required — The ID of the schedule

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mistral/apis/mistral-ai-api.md) · [All operations](https://skmtc.net/mistral/apis/mistral-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mistral/mistral-ai-api/revisions/933c4ebdcd72/schema)
