---
title: "Update schedule recurrence"
method: PATCH
path: "/scheduling/v1/schedules/{schedule_id}/recurrence"
tags: ["Schedules"]
---

# Update schedule recurrence

`PATCH /scheduling/v1/schedules/{schedule_id}/recurrence`

Updates the recurrence configuration for a schedule, including the recurrence pattern, duration, timezone, and late submission rule. All recurrence fields are replaced with the provided values. Use `effective_from` to control whether changes apply from the current or next occurrence.

## Path parameters

- `schedule_id` string, required

## Request body

- S12SchedulingV1SchedulingServiceUpdateScheduleRecurrenceBody — UpdateScheduleRecurrence replaces the recurrence configuration for an existing schedule.
  - `recurrence` S12SchedulingV1ScheduleRecurrence, required — ScheduleRecurrence defines when and how often the schedule repeats. RFC 5545 recurrence definition combining DTSTART and RRULE properties. DTSTART specifies the start time and timezone. RRULE defines the recurrence pattern. Timezone defaults to UTC if unspecified, or if `use_site_timezone` is true. Expected format: "DTSTART;TZID=America/New_York:20240101T140000\nRRULE:FREQ=DAILY;INTERVAL=1"
    - `dtstart_rrule` string, required — Examples: - "DTSTART:20240101T140000Z\nRRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR" (UTC timezone) - "DTSTART;TZID=America/New_York:20240101T140000\nRRULE:FREQ=DAILY;INTERVAL=1" (with timezone)
    - `duration` string, required — Duration in ISO 8601 format (e.g., "PT1H"). Defines the window from start to due.
    - `use_site_timezone` boolean — When true, use each target site's timezone instead of the RRULE timezone. Only applicable when target is sites or assets (uses the asset's parent site timezone). When enabled, any timezone specified in the RRULE will be ignored and set to the default time, UTC.
    - `late_submission_rule` S12SchedulingV1LateSubmissionRule — The conditions under which users can submit work late for each occurrence.
      - `until_next_occurrence` S12SchedulingV1UntilNextOccurrence — UntilNextOccurrence indicates late submission is allowed until the next occurrence starts. Used as a marker type in oneof fields.
      - `late_submission_duration` string — Allow late submission for a specific duration after each occurrence ends. Currently only supports a period of 14 days ("P14D"). ISO 8601 duration format.
  - `effective_from` 'UPDATE_EFFECTIVE_FROM_UNSPECIFIED' | 'UPDATE_EFFECTIVE_FROM_CURRENT_OCCURRENCE' | 'UPDATE_EFFECTIVE_FROM_NEXT_OCCURRENCE', required — UpdateEffectiveFrom specifies when schedule changes should take effect. - UPDATE_EFFECTIVE_FROM_UNSPECIFIED: Unspecified. - UPDATE_EFFECTIVE_FROM_CURRENT_OCCURRENCE: Apply changes starting from the current occurrence. - UPDATE_EFFECTIVE_FROM_NEXT_OCCURRENCE: Apply changes starting from the next occurrence.

## Response `200`

A successful response.

- S12SchedulingV1UpdateScheduleRecurrenceResponse — Response message for UpdateScheduleRecurrence.

## Other responses

- `default` — An unexpected error response.

---

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