---
title: "Update the schedule by the given schedule id and schedule request"
method: PATCH
path: "/v1/projects/{projectId}/schedules/{scheduleId}"
tags: ["Schedules"]
---

# Update the schedule by the given schedule id and schedule request

`PATCH /v1/projects/{projectId}/schedules/{scheduleId}`

An endpoint for updating the schedule for the given schedule id and schedule request

## Path parameters

- `projectId` string, uuid, required
- `scheduleId` string, uuid, required

## Request body

- ScheduleRequestDetails — Schedule request body for creating a new scheduled request
  - `allowConcurrentExecutions` boolean — An optional boolean flag for whether the scheduled pipeline should be allowed to execute concurrently. If set to false the pipeline will not be executed if it is already running. This defaults to true if not specified.
  - `cronExpression` string, required — This is a cronExpression must be provided for a schedule. This should be cronExpression in the Quartz format.
  - `cronTimezone` string — An optional timezone region value to use with the schedule expression. If a timezone region is provided, it will be used to in combination with the cronExpression to determine the schedule run times in the specified timezone region. If no value is specified then this be set to UTC Zulu time to indicate +00:00 from the UTC Offset.
  - `effectiveFrom` string, date-time — An optional date time value for when the schedule should start to run. If no value is specified then the effective from time will be set to when the schedule is created. If a effective from time is specified, this should be specified in the offset date time format as per ISO 8601. It should include an offset from UTC, specifying how far ahead or behind UTC the specified time is. The format of the date time will be one of the following: - "yyyy-MM-dd'T'HH:mm:ss+hh:mm" to represent a time ahead of UTC by +hh:mm - "yyyy-MM-dd'T'HH:mm:ss-hh:mm" to represent a time behind of UTC by -hh:mm - "yyyy-MM-dd'T'HH:mm:ssZ" to represent a time in UTC For example 2022-01-01T12:00:00+02:00 represents two hours ahead of UTC time 2022-01-01T10:00:00Z
  - `name` string, required — The user provided name for the schedule
  - `scheduleEnabled` boolean — An optional enabled boolean flag for whether the schedule should be enabled. This defaults to true if not specified.

## Response `200`

Schedule updated successfully

- ScheduleSummary
  - `cronExpression` string — Either an intervalExpression or cronExpression must be present for a schedule. This this is formatted in the Quartz format.
  - `cronTimezone` string — The timezone region value used to determine in what timezone the CronExpression is applied. It will be used to in combination with the cronExpression to determine the schedule run times in the specified timezone region.
  - `effectiveFrom` string, date-time — A date time value specifying at what point the schedule becomes effective, before this time the schedule will not run. The format of the date time will be yyyy-MM-dd'T'HH:mm:ssZ and is always returned in UTC
  - `environmentName` string — The environment name to run the pipeline that the schedule is associated with
  - `gridVariables` object — The map of grid variables to be overridden when ETL pipeline is executed
  - `intervalExpression` IntervalExpression
    - `interval` integer
    - `unit` string
  - `lastRunAt` string, date-time — A datetime value for when the schedule last ran. The format of the date time will be yyyy-MM-dd'T'HH:mm:ssZ and is always returned in UTC
  - `name` string — An optional name for the schedule, if not provided then it will constructed from pipelinename_environment_currentTimestamp
  - `nextRunAt` string, date-time — A datetime value for when the schedule should next run. The format of the date time will be yyyy-MM-dd'T'HH:mm:ssZ and is always returned in UTC
  - `pipelineName` string — Name of the pipeline that the schedule is associated with
  - `scalarVariables` object — The map of scalar variables to be overridden when ETL pipeline is executed
  - `scheduleEnabled` boolean — An enabled boolean flag for whether the schedule is enabled.
  - `scheduleId` string — The generated unique schedule Id used to identify a specific schedule
  - `versionName` string — Optional artifact version name of the pipeline that the schedule is associated with

## Other responses

- `400` — Wrong request parameters used
- `401` — Forbidden
- `403` — Unauthorized
- `404` — Not found
- `500` — Unexpected error occurred
- `504` — Gateway timeout

---

[API](https://skmtc.net/maia/apis/maia-public-rest-api.md) · [All operations](https://skmtc.net/maia/apis/maia-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maia/maia-public-rest-api/revisions/6239825f68eb/schema)
